Messages in this thread |  | | | Date | Sat, 23 Oct 2004 20:22:38 +1000 | | From | Nick Piggin <> | | Subject | Re: ZONE_PADDING wastes 4 bytes of the new cacheline |
| |
Andrea Arcangeli wrote: > On Sat, Oct 23, 2004 at 02:33:39PM +1000, Nick Piggin wrote: > >>Andrea Arcangeli wrote: >> >>>I don't see any benefit in limiting the high order, infact it seems a >>>bad bug. If something you should limit the _small_ order, so that the >>>high order will have a slight chance to succeed. You're basically doing >>>the opposite. >>> >> >>You need the order there so someone can't allocate a huge amount >>of memory and deplete all your reserves and crash the system. > > > what? the point of alloc_pages is to allow people to allocate memory, > what's the difference of 1 2M allocation and 512 4k allocations? No > difference at all. Infact if something the 512 4k allocations hurts a > lot more since they can fragment the memory, while the single 2M > allocation will not fragment the memory. So if you really want to limit > something you should do the exact opposite of what the allocator is > doing. > > >>For day to day running, it should barely make a difference because >>the watermarks will be an order of magnitude larger. > > > yes, it makes little difference, this is why it doesn't hurt that much. >
It is an unlikely scenario, but it is definitely good for robustness. Especially on small memory systems where the amount allocated doesn't have to be that large.
Let's say a 16MB system pages_low ~= 64K, so we'll also say we've currently got 64K free. Someone then wants to do an order 4 allocation OK they succeed (assuming memory isn't fragmented) and there's 0K free.
Which is bad because you can now get deadlocks when trying to free memory.
> >>AFAIKS, pages_min, pages_low and pages_high are all required for >>what we want to be doing. I don't see you you could remove any one >>of them and still have everything functioning properly.... >> >>I haven't really looked at 2.4 or your patches though. Maybe I >>misunderstood you. > > > 2.4 has everything functionally properly but it has no > pages_min/low/high, it only has the watermarks. Infact the watermarks > _are_ low/min/high. That's what I'm forward porting to 2.6 (besides > fixing minor mostly not noticeable but harmful bits like the order > nosense described above). >
Oh if you've still got the three watermarks then that may work - I thought you meant getting rid of one of the *completely*.
But I'm still not sure what advantage you see in moving from pages_xxx + protection to a single watermark. - 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/
|  |