Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Jun 2007 09:54:39 +0200
From:      Roman Divacky <rdivacky@freebsd.org>
To:        hackers@freebsd.org
Subject:   [PATCH]: acct_process() locking and exit1()
Message-ID:  <20070614075439.GA71601@freebsd.org>

next in thread | raw e-mail | index | archive | help
hi

currently in exit1() we call acct_process() with Giant held.
I looked at the code and I think this is because of tty need
for Giant locking. Because of this we have to release process limit 
in a separate PROC_LOCK()/UNLOCK() block.

my just-to-look-at patch does this

1) moves the acct_process() in exit1() out of Giant locked block (upward)
2) acquires Giant in the acct_process() around tty handling
3) moves the p->p_limit to a different PROC_LOCK/UNLOCK block (upward)

the result is saving 2 proc mtx operations in exit1()

can you look at it and tell me if its correct or wrong or something like that?

if it's correct is it worth committing? saving two mtx operations is a nice thing :)

thank you

roman




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070614075439.GA71601>