Messages in this thread | | | Date | Fri, 25 Jun 2004 05:11:01 +0200 | From | Andrea Arcangeli <> | Subject | Re: [discuss] Re: 32-bit dma allocations on 64-bit platforms |
| |
On Fri, Jun 25, 2004 at 11:17:25AM +1000, Nick Piggin wrote: > It can easily be modified if required though. Is there a need to be > tuning these different things? This is probably where we should hold
I did tune them differently in 2.4 mainline at least. 256 ratio for dma and 32 ratio for lowmem, the lowmem is already quite critical in most machines with >2G of ram so ratio should be lower than dma. for example on 64bit you want the 16M of dma to be completely reserved only on machines with >4G of ram. The 256 dma ratio applies fine to 64bit archs, and the 32 never applies to 64bit archs and it only applies to the highmem boxes.
the 256 and 32 numbers aren't random, they're calculated this way:
4096M of 64bit platform / 16M = 256 32G of 32bit platform / 1G = 32
That means with my 2.4 algorithm any 64bit machine with >4G has its whole dma zone reserved to __GFP_DMA.
and at the same time any 32bit machine with 32G of ram doesn't allow anything but GFP_KERNEL to go in lowmem, this is fundamental.
Now you may very well argue about the numbers not being perfect and this is still a bit hardcoded with the highmem issues in mind, but it would be possible to generalize it even more and I do see a benefit in not having a fixed number for both issues, and to get a bit more of flexibility that the 2.4 has over the 2.6 one. - 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/
| |