Messages in this thread |  | | Date | Sat, 26 May 2001 03:49:22 +0200 | From | Andrea Arcangeli <> | Subject | Re: [with-PATCH-really] highmem deadlock removal, balancing & cleanup |
| |
On Fri, May 25, 2001 at 09:38:36PM -0400, Ben LaHaise wrote: > You're missing a few subtle points: > > 1. reservations are against a specific zone
A single zone is not used only for one thing, period. In my previous email I enlighted the only conditions under which a reserved pool can avoid a deadlock.
> 2. try_to_free_pages uses the swap reservation
try_to_free_pages has an huge stacking under it, bounce bufferes/loop/nbd/whatever being just some of them.
> 3. irqs can no longer eat memory allocations that are needed for > swap
you don't even need irq to still deadlock.
> Note that with this patch the current garbage in the zone structure with > pages_min (which doesn't work reliably) becomes obsolete.
The "garbage" is just an heuristic to allow atomic allocation to work in the common case dynamically. Anything deadlock related cannot rely on pages_min.
I am talking about fixing the thing, of course I perfectly know you can hide it pretty well, but I definitely hate those kind of hiding patches.
> > The only case where a reserved pool make sense is when you know that > > waiting (i.e. running a task queue, scheduling and trying again to > > allocate later) you will succeed the allocation for sure eventually > > (possibly with a FIFO policy to make also starvation impossible, not > > only deadlocks). If you don't have that guarantee those pools > > atuomatically become only a sourcecode and runtime waste, possibly they > > could hide core bugs in the allocator or stuff like that. > > You're completely wrong here.
I don't think so.
Andrea - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |