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

Re: [Xen-devel] [PATCH v5 4/9] ioreq-server: create basic ioreq server abstraction.



>>> On 06.05.14 at 15:12, <Paul.Durrant@xxxxxxxxxx> wrote:
>> From: Jan Beulich [mailto:JBeulich@xxxxxxxx]
>> >>> On 01.05.14 at 14:08, <paul.durrant@xxxxxxxxxx> wrote:
>> > @@ -426,14 +431,6 @@ void hvm_do_resume(struct vcpu *v)
>> >      }
>> >  }
>> >
>> > -static void hvm_init_ioreq_page(
>> > -    struct domain *d, struct hvm_ioreq_page *iorp)
>> > -{
>> > -    memset(iorp, 0, sizeof(*iorp));
>> > -    spin_lock_init(&iorp->lock);
>> > -    domain_pause(d);
>> 
>> So where is this ...
> 
> Nowhere. As I said in the checkin comment, the lock has gone and the 
> domain_pause() and subsequent domain_unpause() were always unnecessary 
> AFAICT. I think the intention was that the domain was not unpaused until both 
> the IOREQ PFNs were set, but since the PFNs are set in the domain build code 
> in the toolstack I can't see why this was needed.

So with a disaggregated, hostile tool stack this would still be
unnecessary? It can go away only if the answer to this is "yes".

>> > +static int hvm_replace_event_channel(struct vcpu *v, domid_t
>> remote_domid,
>> > +                                     evtchn_port_t *p_port)
>> > +{
>> > +    evtchn_port_t old_port, new_port;
>> > +
>> > +    new_port = alloc_unbound_xen_event_channel(v, remote_domid, NULL);
>> > +    if ( new_port < 0 )
>> > +        return new_port;
>> 
>> I'm pretty sure I commented on this too in a previous version:
>> evtchn_port_t is an unsigned type, hence checking it to be negative
>> is pointless.
> 
> Yes, but as I'm pretty sure I responded, alloc_unbound_xen_event_channel() 
> doesn't return an evtchn_port_t!

Which doesn't matter here at all: Once you store the function result
in a variable of type evtchn_port_t, its original signedness is lost.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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