Deutsch   English   Français   Italiano  
<vr1593$18dvk$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!eternal-september.org!.POSTED!not-for-mail
From: Terje Mathisen <terje.mathisen@tmsw.no>
Newsgroups: comp.arch
Subject: Re: rep movsb vs. simpler instructions for memcpy/memmove
Date: Fri, 14 Mar 2025 12:52:02 +0100
Organization: A noiseless patient Spider
Lines: 56
Message-ID: <vr1593$18dvk$1@dont-email.me>
References: <vpufbv$4qc5$1@dont-email.me> <20250312114828.00003e99@yahoo.com>
 <2025Mar12.122836@mips.complang.tuwien.ac.at>
 <20250312140915.000010a8@yahoo.com>
 <2025Mar12.174636@mips.complang.tuwien.ac.at>
 <a296144c60c9774898235f505bc4c370@www.novabbs.org>
 <jwvy0x93vb5.fsf-monnier+comp.arch@gnu.org>
 <61cab9791f342672dcbd5dfd539cc5cc@www.novabbs.org>
 <jwv7c4s3n4d.fsf-monnier+comp.arch@gnu.org>
 <3104c2ab707086659d698a0377450527@www.novabbs.org>
 <20250313225516.00004206@yahoo.com> <5jIAP.61128$Xq5f.38323@fx38.iad>
 <20250314001619.000004fa@yahoo.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 14 Mar 2025 12:52:04 +0100 (CET)
Injection-Info: dont-email.me; posting-host="8993eb1896165c77447adf8e2b75772f";
	logging-data="1325044"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19aYmKJUKJWN8W1EIURmtG7IN/HPRFJeOpFVLEi6QbCmA=="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101
 Firefox/128.0 SeaMonkey/2.53.20
Cancel-Lock: sha1:rK0G9py7IjCJhqGePaDb87Fa3iY=
In-Reply-To: <20250314001619.000004fa@yahoo.com>
Bytes: 3544

Michael S wrote:
> On Thu, 13 Mar 2025 21:42:25 GMT
> scott@slp53.sl.home (Scott Lurndal) wrote:
> 
>> Michael S <already5chosen@yahoo.com> writes:
>>> On Thu, 13 Mar 2025 19:35:33 +0000
>>> mitchalsup@aol.com (MitchAlsup1) wrote:
>>>   
>>>>
>>>> And they have "So Many" extra burdens, such as when from is MMI/O
>>>> space access and to is cache coherent, and all sorts of other self
>>>> imposed problems.
>>>
>>> This case is pretty useful in practice.
>>
>> Although mostly done with DMA controllers in these modern times
>> to offload from the CPU.
>>
> 
> For up to few hundreds bytes it would be slower. For few thousands byte
> it could be faster at transfer level, but data ends up in the wrong
> place in the memory hierarchy, too far away from the ultimate consumer,
> so still slower from the "full job done" perspective.
> And CPU time that you "saved" by offload is almost always just uselessly
> wasted in idle loop.
> 
>>>   
>>>> Using MTRRs one can switch the kind of memory
>>>> to and from point in the middle of a REP MOVs.
>>>
>>> How exactly?
>>
>> The REP MOV straddles the boundary between two MTRRs.
>>
> 
> Crossing boundary that way can typically be predicted far in advance,
> so not really big problem.
> I think, Mitch had something less mundane in mind.

Yeah, I read it as some other core modifying the relevant MTTRs in the 
middle of the ongoing block move.

The solution seems somewhat obvious, i.e any modification of an MTTR 
which is involved in the move wil cause a hw interrupt. Upon restarting 
the remainder of the move, the new MTTR rules apply?

The alternative would be to specify that any block move is atomic as 
seen from the MTTR rules, i.e the update(s) only apply after the move 
has finished?

Terje


-- 
- <Terje.Mathisen at tmsw.no>
"almost all programming can be viewed as an exercise in caching"