Re: removing the global lock from sys_brk()

Chuck Lever (cel@monkey.org)
Fri, 4 Jun 1999 13:36:36 -0400 (EDT)


On Fri, 4 Jun 1999, Andrea Arcangeli wrote:
> On Fri, 4 Jun 1999, Chuck Lever wrote:
>
> >remove the global lock from this code, and watch the kernel oops and lock
> >up faster than you can say jack robinson. :) [under load, of course]
>
> Where does the oops happen?

it varies, but generally an oops (due to a NULL dereference) will occur in
the file system routines or during exit clean-up processing.

turns out, no global lock is necessary in do_brk(); both the
merge_segments() and insert_vm_struct() calls are OK to do in that case
without the global lock. it's the general cases that appear in routines
like mremap() that still need protection. i just didn't optimize the
do_brk() case as far as i could have.

- Chuck Lever

--
corporate:	<chuckl@netscape.com>
personal:	<chucklever@netscape.net> or <cel@monkey.org>

The Linux Scalability project: http://www.citi.umich.edu/projects/linux-scalability/

- 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/