cvs commit: src/sys/kern sched_ule.c (fwd)
John Baldwin
jhb at FreeBSD.org
Thu Jan 6 13:21:05 PST 2005
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
More information about the freebsd-current
mailing list