Re: [take6 1/3] kevent: Core files.

From: Evgeniy Polyakov
Date: Fri Aug 11 2006 - 02:32:18 EST


On Thu, Aug 10, 2006 at 11:25:05PM -0700, Ulrich Drepper (drepper@xxxxxxxxxx) wrote:
> Evgeniy Polyakov wrote:
> > The main disadvantage is that all memory is allocated on the start even
> > if it will not be used later. I think dynamic grow is appropriate
> > solution, since user will have that memory used anyway, since kevents
> > are allocated,
>
> If you _allocate_ memory at startup you're doing something wrong. All
> you should do is allocate address space. Memory should be allocated
> when it is needed.
>
> Growing a memory region is always hard because it means you cannot keep
> any addresses around and always have to reload a base pointer. That's
> not ideal.
>
> Especially on 64-bit machines address space really is no limitation
> anymore. So, allocate as much as needed, allocate memory when it's
> needed, and don't resize.

That requires mmap hacks to substitute pages in run-time without user
notifications. I do not expect it is a good solution, since on x86 it
requires full TLB flush (at least when I did it there were no exported
methods to flush separate addresses).

> --
> â Ulrich Drepper â Red Hat, Inc. â 444 Castro St â Mountain View, CA â
>



--
Evgeniy Polyakov
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/