Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Oct 2007 23:02:07 -0400 (EDT)
From:      Daniel Eischen <deischen@freebsd.org>
To:        Alfred Perlstein <alfred@freebsd.org>
Cc:        hackers@freebsd.org
Subject:   Re: Critical Sections for userland.
Message-ID:  <Pine.GSO.4.64.0710022257340.626@sea.ntplx.net>
In-Reply-To: <20071003025418.GN31826@elvis.mu.org>
References:  <20071003015231.GJ31826@elvis.mu.org> <Pine.GSO.4.64.0710022244250.626@sea.ntplx.net> <20071003025418.GN31826@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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?

Are you trying to prevent switching out of the thread
amongst other threads of the same application, or all
threads in the system?

-- 
DE



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.64.0710022257340.626>