[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [xen-unstable test] 6947: regressions - trouble: broken/fail/pass
On 02/05/2011 13:00, "Jan Beulich" <JBeulich@xxxxxxxxxx> wrote: >> (2) Change the xmalloc lock to spin_lock_irqsave(). This would also have to >> be transitively applied to at least the heap_lock in page_alloc.c. One issue >> with this (and indeed with calling alloc_heap_pages at all with IRQs >> disabled) is that alloc_heap_pages does actually assume IRQs are enabled >> (for example, it calls flush_tlb_mask()) -- actually I think this limitation >> probably predates the tsc rendezvous changes, and could be a source of >> latent bugs in earlier Xen releases. > > (2b) Make only the xmalloc() lock disable IRQs, and don't allow it to > go into the page allocator when IRQs were disabled on entry. Have > a reserve page available on each pCPU (requires that in a single > hypercall there can't be allocations adding up to more than PAGE_SIZE), > and when consumed, re-fill this page e.g. from a softirq or tasklet. You'd have to release/acquire the xmalloc lock across the ->get_mem call. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |