Date: Wed, 23 May 2007 16:48:25 -0700 From: Marcel Moolenaar <xcllnt@mac.com> To: Jeff Roberson <jroberson@chesapeake.net> Cc: arch@freebsd.org Subject: Re: sched_lock && thread_lock() Message-ID: <38601004-BB95-4B8B-87A6-26E2D52B89BA@mac.com> In-Reply-To: <20070523163109.X9443@10.0.0.1> References: <20070520155103.K632@10.0.0.1> <20070523155236.U9443@10.0.0.1> <6A9BD12D-D93C-4AE8-B4F4-D59A0327032D@mac.com> <20070523163109.X9443@10.0.0.1>
next in thread | previous in thread | raw e-mail | index | archive | help
>> The old patch was missing PowerPC & ia64. Will the final version >> include those as well? > > There are a couple of uses of the global scheduler lock in some > architecture specific locations. They will continue to be safe > with the 4BSD scheduler. I intended to work on these issues with > the architecture maintainers after the threadlock patch goes in. > Can you suggest some alternative to sched_lock for pmap_switch in > ia64? pmap_switch() is called from cpu_switch() and from pmap_install(). So, currently, pmap_install() grabs sched_lock to mimic the cpu_switch() path and we assert having sched_lock in pmap_switch(). Basically, any lock that serializes cpu_switch() would work, because we don't want to switch the thread while in the middle of setting up the region registers. > There are a couple of these small issues that should be perfectly > safe that I was hoping to address outside of this patch so that it > didn't get too big. I noticed you introduced sched_throw(). Would it harm if ia64 doesn't yet use sched_throw() and instead has the sequence it replaces? In other words: is the initial implementation of sched_throw() the same as the current code? -- Marcel Moolenaar xcllnt@mac.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?38601004-BB95-4B8B-87A6-26E2D52B89BA>