Date: Tue, 2 Oct 2007 19:54:18 -0700 From: Alfred Perlstein <alfred@freebsd.org> To: Daniel Eischen <deischen@freebsd.org> Cc: hackers@freebsd.org Subject: Re: Critical Sections for userland. Message-ID: <20071003025418.GN31826@elvis.mu.org> In-Reply-To: <Pine.GSO.4.64.0710022244250.626@sea.ntplx.net> References: <20071003015231.GJ31826@elvis.mu.org> <Pine.GSO.4.64.0710022244250.626@sea.ntplx.net>
next in thread | previous in thread | raw e-mail | index | archive | help
* Daniel Eischen <deischen@freebsd.org> [071002 19:46] wrote: > On Tue, 2 Oct 2007, Alfred Perlstein wrote: > > >Hi guys, we need critical sections for userland here. > > > >This is basically to avoid a process being switched out while holding > >a user level spinlock. > > Setting the scheduling class to real-time and using SCHED_FIFO > and adjusting the thread priority around the lock doesn't work? Too heavy weight, we want to basically have this sort of code in userland: /* assume single threaded process for now */ static int is_critical; atomic_mutex_lock(); /* implies ++is_critical */ ...do stuff... atomic_mutex_unlock(); /* implies --is_critical */ We don't want two or more syscalls per lock operation. :) -- - Alfred Perlstein
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071003025418.GN31826>