Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 02 May 1996 05:01:41 -0700
From:      David Greenman <davidg@Root.COM>
To:        Peter Wemm <peter@spinner.DIALix.COM>
Cc:        CVS-committers@freefall.freebsd.org, cvs-all@freefall.freebsd.org, cvs-sys@freefall.freebsd.org
Subject:   Re: cvs commit: src/sys/kern kern_fork.c 
Message-ID:  <199605021201.FAA11887@Root.COM>
In-Reply-To: Your message of "Thu, 02 May 1996 19:56:37 %2B0800." <199605021156.TAA00890@spinner.DIALix.COM> 

next in thread | previous in thread | raw e-mail | index | archive | help
>>  Modified:    sys/kern  kern_fork.c
>>  This is a minimal change to fix the problem, it will probably be done
>>  better by reordering p_vmspace to be in the startzero section, but it
>>  becomes harder to validate then.
>
>Now that I think about it more, this may still not be enough..  If
>the fork1() is interrupted while inserting the process onto the
>allproc list, and the VM system walks the severed allproc list during
>kernel growth, or interrupts a little later when the proc has been
>inserted but before it's initialised, that would be just as bad.
>
>If the kernel traverses the allproc list during an interrupt (eg: network,
>to allocate more clusters?) to grow the kernel, then all changes to
>allproc may need to need to be spl protected..

   The pmap_growkernel() function is only called to extend the kernel_map. The
allocations that happen at interrupt time come out of the fixed-sized kmem_map
and thus won't ever cause a "growkernel" operation.

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project



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