Re: Vnode API change: add global vnode cache

2014-04-07 Thread J. Hannken-Illjes
On 07 Apr 2014, at 03:22, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: Date: Sun, 6 Apr 2014 12:14:24 +0200 From: J. Hannken-Illjes hann...@eis.cs.tu-bs.de Currently all file systems have to implement their own cache of vnode / fs node pairs. Most file systems use

Re: Vnode API change: add global vnode cache

2014-04-07 Thread Mindaugas Rasiukevicius
J. Hannken-Illjes hann...@eis.cs.tu-bs.de wrote: Currently all file systems have to implement their own cache of vnode / fs node pairs. Most file systems use a copy and pasted version of ufs_ihash. So add a global vnode cache with lookup and remove: ... Diff implementing this for file

Re: Vnode API change: add global vnode cache

2014-04-07 Thread J. Hannken-Illjes
On 07 Apr 2014, at 17:44, Mindaugas Rasiukevicius rm...@netbsd.org wrote: J. Hannken-Illjes hann...@eis.cs.tu-bs.de wrote: Currently all file systems have to implement their own cache of vnode / fs node pairs. Most file systems use a copy and pasted version of ufs_ihash. So add a global

Re: Vnode API change: add global vnode cache

2014-04-07 Thread Taylor R Campbell
Date: Mon, 7 Apr 2014 15:51:00 +0200 From: J. Hannken-Illjes hann...@eis.cs.tu-bs.de On 07 Apr 2014, at 03:22, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: Is the plan to nix getnewvnode and ungetnewvnode? It would be good to avoid long-term duplication of its

Re: Vnode API change: add global vnode cache

2014-04-07 Thread Taylor R Campbell
Date: Mon, 7 Apr 2014 16:44:47 +0100 From: Mindaugas Rasiukevicius rm...@netbsd.org One concern though: can you benchmark ./build.sh on a machine with 8 or more CPUs? I fear that vcache.lock might be a bit contended and we ought to figure out how much. If the contention is not

Re: Vnode API change: add global vnode cache

2014-04-07 Thread Mindaugas Rasiukevicius
Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: Date: Mon, 7 Apr 2014 16:44:47 +0100 From: Mindaugas Rasiukevicius rm...@netbsd.org One concern though: can you benchmark ./build.sh on a machine with 8 or more CPUs? I fear that vcache.lock might be a bit contended

Re: Vnode API change: add global vnode cache

2014-04-07 Thread Taylor R Campbell
Date: Mon, 7 Apr 2014 17:27:01 +0100 From: Mindaugas Rasiukevicius rm...@netbsd.org Should be fine, but once tmpfs is switched to use vcache, it might become a little bit more visible for some workloads.. Why switch tmpfs to use vcache? That would add memory and time overhead for no

Re: Vnode API change: add global vnode cache

2014-04-07 Thread J. Hannken-Illjes
On 07 Apr 2014, at 18:02, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: Date: Mon, 7 Apr 2014 15:51:00 +0200 From: J. Hannken-Illjes hann...@eis.cs.tu-bs.de On 07 Apr 2014, at 03:22, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: Is the plan to nix

Re: Vnode API change: add global vnode cache

2014-04-07 Thread Taylor R Campbell
Date: Mon, 7 Apr 2014 18:32:02 +0200 From: J. Hannken-Illjes hann...@eis.cs.tu-bs.de On 07 Apr 2014, at 18:02, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: In that case, could you set the VI_CHANGING bit in vp, rather than node-vn_vnode = NULL in the vcache

Re: Vnode API change: add global vnode cache

2014-04-07 Thread J. Hannken-Illjes
On 07 Apr 2014, at 18:38, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: Date: Mon, 7 Apr 2014 18:32:02 +0200 From: J. Hannken-Illjes hann...@eis.cs.tu-bs.de On 07 Apr 2014, at 18:02, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: In that case,

Re: Vnode API change: add global vnode cache

2014-04-07 Thread Mindaugas Rasiukevicius
Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: Date: Mon, 7 Apr 2014 17:27:01 +0100 From: Mindaugas Rasiukevicius rm...@netbsd.org Should be fine, but once tmpfs is switched to use vcache, it might become a little bit more visible for some workloads.. Why switch

Re: Vnode API change: add global vnode cache

2014-04-07 Thread Chuck Silvers
On Sun, Apr 06, 2014 at 12:14:24PM +0200, J. Hannken-Illjes wrote: Currently all file systems have to implement their own cache of vnode / fs node pairs. Most file systems use a copy and pasted version of ufs_ihash. So add a global vnode cache with lookup and remove: [...] hi, the

Re: Vnode API change: add global vnode cache

2014-04-07 Thread Greg Troxel
Mindaugas Rasiukevicius rm...@netbsd.org writes: Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: Date: Mon, 7 Apr 2014 16:56:58 +0100 From: Mindaugas Rasiukevicius rm...@netbsd.org What is intern? `Intern' means `lookup, or create and insert if not there'. The

Re: Vnode API change: add global vnode cache

2014-04-07 Thread Alan Barrett
On Mon, 07 Apr 2014, Mindaugas Rasiukevicius wrote: Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: What is intern? `Intern' means `lookup, or create and insert if not there'. The point being is that I do not find it meaningful/intuitive. Many other systems just use get().

Re: Vnode API change: add global vnode cache

2014-04-07 Thread Mindaugas Rasiukevicius
Alan Barrett a...@cequrux.com wrote: On Mon, 07 Apr 2014, Mindaugas Rasiukevicius wrote: Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: What is intern? `Intern' means `lookup, or create and insert if not there'. The point being is that I do not find it

Re: Vnode API change: add global vnode cache

2014-04-07 Thread Thor Lancelot Simon
On Mon, Apr 07, 2014 at 04:04:28PM +, Taylor R Campbell wrote: Date: Mon, 7 Apr 2014 16:44:47 +0100 From: Mindaugas Rasiukevicius rm...@netbsd.org One concern though: can you benchmark ./build.sh on a machine with 8 or more CPUs? I fear that vcache.lock might be a bit