Re: namei() query

From: kumon@flab.fujitsu.co.jp
Date: Tue Apr 18 2000 - 21:53:23 EST


Jonathan Case Nicklin writes:
> kumon@flab.fujitsu.co.jp wrote:
> > And also I don't understand why these functions need such a giant
> > kernel lock.
>
> Yes, it is necessary to have namei gaurded by the big kernel lock. namei will
> call lookup_dentry which can walk lists of dentries. This list access needs
> to be guarded by the kernel lock to prevent path/hash entries from slipping
> out from under you. In this case the mutual exclusion between the dcache
> updates/ modifications and the a dcache accesses via namei is provided by the
> kernel lock.

>From our measurement using notorious Mindcraft-like web-benchmark,
Apache issues tremendous number of sys_newlstat() to check the
requested path not including symbolic links. Which causes most of
kernel functions locked-out by the lock.

Schedule(), sock_poll(), do_close(), do_select() are those sacrificed
functions. When the number of CPUs is increased, or some of CPUs are
slower than the others, this exclusion severely damaged performance
increase.

If Apache is set not to use the path validation, things becomes much
better but problem still exists.

Those may be solved in kernel 2.5 line..

--
Computer Systems Laboratory, Fujitsu Labs.
kumon@flab.fujitsu.co.jp

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



This archive was generated by hypermail 2b29 : Sun Apr 23 2000 - 21:00:14 EST