On 2010-06-22 at 16:23:38 [+0200], Axel Dörfler <axeld@xxxxxxxxxxxxxxxx> wrote: > Ingo Weinhold <ingo_weinhold@xxxxxx> wrote: > > (I believe graphic card drivers can support DMA from/to user-provided > > memory) > > While in theory yes, our drivers currently don't do that. I saw support for it in the radeon driver, though have not checked whether it is actually used. > > I intend to add a boot loader safemode setting and a kernel settings > > file > > option to enable/disable PAE. So there are essentially the following > > options: > > > > 1. Don't build PAE support in. > > 2. Build PAE support in, but make it opt-in via kernel settings. > > 3. Build PAE support in, but make it opt-out via kernel settings. > > > > Opinions? > > Since it is only used when needed, 3. sounds like the best option to > me. > > I'm not sure translating all 32 bit area creations as contiguous is a > good idea, as that may greatly hurt the performance (not just > speedwise). ATM our page allocation backend simply doesn't support restrictions for non-contiguous allocations and I don't see that happen anytime soon. To do that efficiently one would have to add new data structures (e.g. use a radix tree for the free/used pages). In most cases the allocations were already contiguous anyway. I only changed a few from B_FULL_LOCK to B_32_BIT_MEMORY (mostly in network drivers). Do you think we should rather introduce two lock constants, e.g. B_32_BIT_FULL_LOCK and B_32_BIT_CONTIGUOUS to at least allow for specifying the exact constraints, even if the backend always returns contiguous memory for the time being? CU, Ingo