Date: Tue, 2 Oct 2007 20:09:43 -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: <20071003030943.GQ31826@elvis.mu.org> In-Reply-To: <Pine.GSO.4.64.0710022257340.626@sea.ntplx.net> References: <20071003015231.GJ31826@elvis.mu.org> <Pine.GSO.4.64.0710022244250.626@sea.ntplx.net> <20071003025418.GN31826@elvis.mu.org> <Pine.GSO.4.64.0710022257340.626@sea.ntplx.net>
next in thread | previous in thread | raw e-mail | index | archive | help
* Daniel Eischen <deischen@freebsd.org> [071002 20:02] wrote: > On Tue, 2 Oct 2007, Alfred Perlstein wrote: > > >* 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: > > Well, yeah, but are you _really_ sure that you aren't just > running something that should be real-time and have priority > over other applications? SCHED_FIFO means you will run until > you relinquish the CPU (you can only do this as root). If > all your threads are well behaved, would this work? Have > you tried it? No, because it wouldn't work. How do we know when to let go of the cpu? In my system, the kernel tells you without polling. > > Are you trying to prevent switching out of the thread > amongst other threads of the same application, or all > threads in the system? All threads on that CPU. It's basically, almost like a "soft spl" for userland. Right? -- - Alfred Perlstein
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071003030943.GQ31826>