Messages in this thread | | | Date | Thu, 28 May 2009 14:12:22 +0200 | From | Nick Piggin <> | Subject | Re: [GIT PULL] scheduler fixes |
| |
On Thu, May 28, 2009 at 03:06:40PM +0300, Pekka Enberg wrote: > On Tue, 2009-05-26 at 09:38 +0200, Nick Piggin wrote: > > On Mon, May 25, 2009 at 09:39:08PM +0300, Pekka Enberg wrote: > > > Linus Torvalds wrote: > > > >And vfs_caches_init_early() is actually doing some rather strange things, > > > >like doing a "alloc_large_system_hash()" but not unconditionally: it does > > > >it in the "late" initialization too, if not done early. inode_init_early > > > >does soemthing very similar (ie a _conditional_ early init). > > > > > > > >So none of this seems to really get a huge advantage from the early init. > > > >There seems to be some subtle NUMA issues, but do we really want that? I > > > >get the feeling that nobody ever wanted to do it early, and then the NUMA > > > >people said "I don't wnt to do this early, but I don't want to touch the > > > >non-NUMA case, so I'll do it early for non-numa, and late for numa". > > > > > > SLUB does sysfs setup in kmem_cache_init() and if I saw some oopses if I > > > don't call vfs_caches_init_early() first. I didn't look too closely, though. > > > > Did you also test the NUMA/hashdist case? vfs_caches_init_early doesn't > > do much in that case. > > No, I tested UMA only. > > On Tue, 2009-05-26 at 09:38 +0200, Nick Piggin wrote: > > I would say it is much more robust to do sysfs setup later if we move > > the slab setup so early. Probably it is just quite lucky not to explode > > in the !numa case because the vfs needs quite a bit of setting up... > > That should not be an issue. SLUB already defers sysfs registration > until slab_sysfs_init() initcall has been run. So my patches have zero > change in how SLUB interracts with sysfs, actually.
Oh right, I didn't actually look. An initcall should be fine, but I wonder why it is crashing if you move it before vfs_caches_init_early? Those just allocate inode and dentry hash tables...
| |