[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] evtchn/Flask: pre-allocate node on send path
Hi Jan, On 24/09/2020 11:53, Jan Beulich wrote: xmalloc() & Co may not be called with IRQs off, or else check_lock() will have its assertion trigger about locks getting acquired inconsistently. Re-arranging the locking in evtchn_send() doesn't seem very reasonable, especially since the per-channel lock was introduced to avoid acquiring the per-domain event lock on the send paths. Issue a second call to xsm_evtchn_send() instead, before acquiring the lock, to give XSM / Flask a chance to pre-allocate whatever it may need. This is the sort of fall-out I was expecting when we decide to turn off the interrupts for big chunk of code. I couldn't find any at the time though... Can you remind which caller of send_guest{global, vcpu}_virq() will call them with interrupts off? Would it be possible to consider deferring the call to a softirq taslket? If so, this would allow us to turn the interrupts again. Cheers, -- Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |