Messages in this thread Patch in this message | | | Date | Thu, 8 May 2008 07:20:19 +0200 | From | Andrea Arcangeli <> | Subject | Re: [PATCH 08 of 11] anon-vma-rwsem |
| |
On Wed, May 07, 2008 at 09:14:45PM -0700, Linus Torvalds wrote: > IOW, you didn't even look at it, did you?
Actually I looked both at the struct and at the slab alignment just in case it was changed recently. Now after reading your mail I also compiled it just in case.
2.6.26-rc1
# name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail> anon_vma 260 576 24 144 1 : tunables 120 60 8 : slabdata 4 4 0 ^^ ^^^
2.6.26-rc1 + below patch
diff --git a/include/linux/rmap.h b/include/linux/rmap.h --- a/include/linux/rmap.h +++ b/include/linux/rmap.h @@ -27,6 +27,7 @@ struct anon_vma { struct anon_vma { spinlock_t lock; /* Serialize access to vma list */ struct list_head head; /* List of private "related" vmas */ + int flag:1; }; #ifdef CONFIG_MMU # name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail> anon_vma 250 560 32 112 1 : tunables 120 60 8 : slabdata 5 5 0 ^^ ^^^
Not a big deal sure to grow it 33%, it's so small anyway, but I don't see the point in growing it. sort() can be interrupted by signals, and until it can we can cap it to 512 vmas making the worst case taking dozen usecs, I fail to see what you have against sort().
Again: if a vma bitflag + global lock could have avoided sort and run O(N) instead of current O(N*log(N)) I would have done that immediately, infact I was in the process of doing it when you posted the followup. Nothing personal here, just staying technical. Hope you too.
| |