[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] xenfb: make restartable



Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx> writes:

> Markus Armbruster, le Fri 15 Aug 2008 08:39:06 -0400, a Ãcrit :
>> > +  if (!strcmp(dev->devicetype, "vfb")) {
>> > +      if (dev->xenfb->pixels) {
>> > +              munmap(dev->xenfb->pixels, dev->xenfb->fb_len);
>> > +              dev->xenfb->pixels = NULL;
>> > +      }
>> > +  }
>> >  }
>> >  
>> >  
>> 
>> The check for vfb is ugly.  The only alternative I can see is fb ==
>> dev->xenfb->fb.  Matter of taste.
>
> Hum, that was what I had written previously actually.  I don't see why
> it is "ugly", in that pixels is a device resource.  It should probably
> be in xenfb->fb actually.

struct xenfb_device captures stuff that both devices have.

By "is ugly" I meant to say that checking for vfb by testing its
devicetype string looks ugly to me.  But fb == dev->xenfb->fb isn't
exactly the acme of elegance either.

>> > @@ -653,6 +656,16 @@ static int xenfb_on_state_change(struct 
>> >               not much point in us continuing. */
>> >            return -1;
>> >    case XenbusStateInitialising:
>> > +          if (dev->state != XenbusStateClosed)
>> > +              /* Do not let a domain make us skip the closing state */
>> > +              return 0;
>> 
>> Why does this work?
>
> It's meant to not work.  If the frontend is not playing well (going
> through the closing state), then ignore what it's doing until it plays
> well. An alternative could be to just shut down.  In any case, we don't
> want to let it drive us to remapping something else without unmapping
> the previous fb.

We need to make up our mind how to handle invalid state transitions.

Is silently ignoring guest misbehavior smart?  I'd rather log it.

[...]

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.