Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <vrtkmt$2paav$1@dont-email.me>
Deutsch   English   Français   Italiano  
<vrtkmt$2paav$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Newsgroups: comp.arch
Subject: Re: MSI interrupts
Date: Tue, 25 Mar 2025 00:07:09 -0700
Organization: A noiseless patient Spider
Lines: 20
Message-ID: <vrtkmt$2paav$1@dont-email.me>
References: <vqto79$335c6$1@dont-email.me>
 <kVgEP.1277108$_N6e.605199@fx17.iad> <vrsea2$siu$1@reader1.panix.com>
 <a86295425dfb043a1b44e550a1c05659@www.novabbs.org>
 <vrsqrd$ns1$1@reader1.panix.com>
 <e0080df32c6f88ebbd4c8828f98f76a9@www.novabbs.org>
 <jwvmsd91yxy.fsf-monnier+comp.arch@gnu.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 25 Mar 2025 08:07:11 +0100 (CET)
Injection-Info: dont-email.me; posting-host="5e2174216670af0d17933d91728d06f2";
	logging-data="2926943"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19lb06P2bV9n5fxlwlchV20cabmd5TwAMg="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:SBXGkFxMX77jF4dnvAlj2KQxKNI=
In-Reply-To: <jwvmsd91yxy.fsf-monnier+comp.arch@gnu.org>
Content-Language: en-US

On 3/24/2025 10:26 PM, Stefan Monnier wrote:
>> It means that if a thread owning a lock is interrupted, that
>> thread gives the lock back--so there is no priority inversion
>> and no lock-starvation. Associated with the give back, and the
>> IP of the interrupted thread no longer points inside the
>> critical section.
> 
> I think the discussion is a bit confusing because we have 2 different
> notions of "critical section" at play, here:

Yup. User space mutex impls vs kernel space ones (sync algos, mutexes, 
ect...), that can be different in the way they are implemented. Using an 
XCHG instruction can give you a spinlock, mutex, ect... CMPXCHG and XCHG 
are very fun, never forget about XADD. In user space we only want to 
resort to the kernel to wait when we have to... We try to minimize that 
as the slow path, the last resort. The fast path can get around calling 
into the kernel. Spinning in user space on a contended mutex is okay as 
long as its rather limited. Then it can be called an adaptive mutex.

[...]