Re: cvs commit: src/sys/kern sched_ule.c (fwd)

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Thu, 6 Jan 2005 14:30:36 -0500
On Wednesday 15 December 2004 05:27 pm, Julian Elischer wrote:
> Tony Arcieri wrote:
> >On Wed, Dec 15, 2004 at 04:40:50PM -0500, David Schultz wrote:
> >>On Wed, Dec 15, 2004, Tony Arcieri wrote:
> >>>And am I correct that the UMA implementation in RELENG_5 has rendered
> >>>proc_fini() obsolete and thus it won't ever be called?
> >>
> >>This has very little to do with either UMA or ULE.  Yes, it's
> >>unused, but it's still there as a reminder that it *ought* to be
> >>used.  Unless there are still races I don't know about, it's
> >>probably safe to start using it again.
> >
> >Well, I'm going by the comments and implementation from kern_proc.c in
> > HEAD:
> >
> >/*
> > * UMA should ensure that this function is never called.
> > * Freeing a proc structure would violate type stability.
> > */
> >static void
> >proc_fini(void *mem, int size)
> >{
> >
> >	panic("proc reclaimed");
> >}
> >
> >The implementation in RELENG_5 invokes a scheduler function which is no
> >longer present in HEAD.
>
> when we declare teh zone for processes we tell UMA that it must never free
> a proc back to system memory. thus the 'fini' routine, that would be called
> is a page of that zone were to be returned to the system, should never
> be called.

Why are struct procs forced to be type-stable?

-- 
John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Received on Thu Jan 06 2005 - 20:21:04 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:25 UTC