Messages in this thread | | | Date | Thu, 24 Jun 2004 18:52:01 +0200 | From | Andrea Arcangeli <> | Subject | Re: [discuss] Re: 32-bit dma allocations on 64-bit platforms |
| |
On Fri, Jun 25, 2004 at 01:48:47AM +1000, Nick Piggin wrote: > Andrea Arcangeli wrote: > > > > >why does it fail? note that with the lower_zone_reserve_ratio algorithm I > >added to 2.4 all dma zone will be reserved for __GFP_DMA allocations so > >you should have troubles only with 2.6, 2.4 should work fine. > > > >So with latest 2.4 it has to fail only if you already allocated 16M with > >pci_alloc_consistent which sounds unlikely. > > > >the fact 2.6 lacks the lower_zone_reserve_ratio algorithm is a different > >issue, but I'm confortable there's no other possible algorithm to solve > >this memory balancing problem completely so there's no way around a > >forward port. > > > >well 2.6 has a tiny hack like some older 2.4 that attempts to do what > >lower_zone_reserve_ratio does, but it's not nearly enough, there's no > >per-zone-point-of-view watermark in 2.6 etc.. 2.6 actually has a more > >hardcoded hack for highmem, but the lower_zone_reserve_ratio has > >absolutely nothing to do with highmem vs lowmem. it's by pure > >coincidence that it avoids highmem machine to lockup without swap, but > >the very same problem happens on x86-64 with lowmem vs dma. > > 2.6 has the "incremental min" thing. What is wrong with that? > Though I think it is turned off by default.
sysctl_lower_zone_protection is an inferior implementation of the lower_zone_reserve_ratio, inferior because it has no way to give a different balance to each zone. As you said it's turned off by default so it had no tuning. The lower_zone_reserve_ratio has already been tuned in 2.4. Somebody can attempt a conversion but it'll never be equal since lower_zone_reserve_ratio is a superset of what sysctl_lower_zone_protection can do. - 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/
| |