[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 1/2] xen/events: access last_priority and last_vcpu_id together
On 20/10/2020 10:34, Jan Beulich wrote: On 20.10.2020 11:25, Julien Grall wrote:Given that evtchn->last_vcpu_id and evtchn->last_priority can only be modified in evtchn_fifo_set_pending(), this suggests that it is expected for the function to multiple called concurrently on the same event channel.I'm unconvinced it was really considered whether racing sending on the same channel is also safe this way.How would you explain the 3 try in lock_old_queue then?Queue changes (as said by the gprintk()) can't result from sending alone, but require re-binding to a different vCPU or altering thepriority. I agree with that. However, this doesn't change the fact that update to evtchn->last_priority and evtchn->last_vcpu can only happen when calling evtchn_fifo_set_pending(). If evtchn_fifo_set_pending() cannot be called concurrently for the same event, then there is *no* way for evtchn->last_{priority, vcpu} to be updated concurrently. I'm simply unconvinced that the code indeed fully reflectsthe original intentions. Do you mind (re-)sharing what was the original intentions? Cheers, -- Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |