Messages in this thread | | | Date | Wed, 7 Apr 2004 16:56:39 -0700 | From | Andrew Morton <> | Subject | Re: NUMA API for Linux |
| |
Andi Kleen <ak@suse.de> wrote: > > On Wed, 7 Apr 2004 15:52:25 -0700 > Andrew Morton <akpm@osdl.org> wrote: > > > Andi Kleen <ak@suse.de> wrote: > > > > > > We can discuss changes when someone shows numbers that additional > > > optimizations are needed. I haven't seen such numbers and I'm not convinced > > > sharing is even a good idea from a design standpoint. For the first version > > > I just aimed to get something working with straight forward code. > > > > > > To put it all in perspective: a policy is 12 bytes on a 32bit machine > > > (assuming MAX_NUMNODES <= 32) and 16 bytes on a 64bit machine > > > (with MAX_NUMNODES <= 64) > > > > sizeof(vm_area_struct) is a very sensitive thing on ia32. If you expect > > that anyone is likely to actually use the numa API on 32-bit, sharing > > will be important. > > I don't really believe that.
You better. VMA space exhaustion is one of the reasons for introducing remap_file_pages(). It's an oracle-killer. Like everything else ;)
> If it was that way someone would have already > done all the obvious space optimizations left on the table... > (like using rb_next or merging the rb color into flags)
Nope, we're slack.
> NUMA API adds a new pointer, but all sharing in the world couldn't fix that.
> When you set a policy != default you will also pay the 12 or 16 bytes overhead > for the object for each "policy region"
OK, that's not so bad. So if you don't use the feature the overhead is 4 bytes/vma.
If you _do_ use the feature, what is the overhead? 12 bytes for each and every vma? Or just for the vma's which have a non-default policy?
Your patch takes the CONFIG_NUMA vma from 64 bytes to 68. It would be nice to pull those 4 bytes back somehow.
- 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/
| |