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 <v16u6q$1lbg7$1@dont-email.me>
Deutsch   English   Français   Italiano  
<v16u6q$1lbg7$1@dont-email.me>

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

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Newsgroups: comp.arch
Subject: Re: Address space limits
Date: Sat, 4 May 2024 20:25:14 -0700
Organization: A noiseless patient Spider
Lines: 30
Message-ID: <v16u6q$1lbg7$1@dont-email.me>
References: <v0s17o$2okf4$2@dont-email.me>
 <62dff0b888855a31ec10c0597669423f@www.novabbs.org>
 <v0soai$30rmc$3@dont-email.me>
 <f2ac45ffe1718a0b0070f027f0e5f58c@www.novabbs.org>
 <20240501225652.00002853@yahoo.com>
 <jwvh6fhnuzu.fsf-monnier+comp.arch@gnu.org> <v0uppp$3fitf$2@dont-email.me>
 <v1521l$15g68$1@dont-email.me> <v16b3u$1dm6l$2@dont-email.me>
 <9e81a0aa95b5eae7ae6fc9f99455df97@www.novabbs.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 05 May 2024 05:25:15 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="4cb66168bb732a9923ed8af7e043800c";
	logging-data="1748487"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+1tZ4psKj3wi3Af8c+nZbAnBQv3G8jHP4="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:snGvdB8ufJh6ySodP0B8N8gBA4A=
Content-Language: en-US
In-Reply-To: <9e81a0aa95b5eae7ae6fc9f99455df97@www.novabbs.org>
Bytes: 2798

On 5/4/2024 5:12 PM, MitchAlsup1 wrote:
> Chris M. Thomasson wrote:
> 
>> On 5/4/2024 3:18 AM, Thomas Koenig wrote:
>>> Lawrence D'Oliveiro <ldo@nz.invalid> schrieb:
>>>
>>>> Intel pushed this thing called the “x32” ABI into the Linux kernel
> (and
>>>> possibly some other places) some years ago. This was using the AMD64
>>>> instruction set, but with only 32-bit pointers. This way, you got the
>>>> benefit of the extra registers, without the overhead of the longer
>>>> addresses.
>>>
>>> That was Donald Knuth's idea.
> 
>> Storing meta data in actual pointers, aka aligned on a larger 
>> boundary, is critical to many advanced lock/wait free algorithms as 
>> well. I remember storing an actual reference count in pointers before 
>> for a special type of counting.
> 
> Even if one has multi-location ATOMICs ?? (as a single event ??)

This was a technique for storing data in a pointer. For instance, strong 
atomic reference counting we need to update a pointer _and_ a reference 
together atomically. This can easily be done with DWCAS, or double width 
compare and swap. So, on a 32 bit system we need 64 bit cas, for a 64 
bit system we need 128 bit cas. However, sometimes we can pack the 
reference count in the pointer value itself if its aligned on a big 
enough boundary. Then we can update the pointer and the reference count 
using normal word based atomic RMW's.