在 2024-12-19星期四的 13:49 +0800,Sui Jingfeng写道:
On 2024/12/19 12:49, Icenowy Zheng wrote:It is, it changes the order "write A -> write B -> write C -> write D"
在 2024-12-19星期四的 10:54 +0800,Sui Jingfeng写道:
On 2024/12/18 20:43, Icenowy Zheng wrote:Write gathering is a kind of write reordering,
For the fact of drm/ast's dramatical drop, it's because writeNo, your understanding is wrong, very very wrong and a big wrong.
to
the
framebuffer can no longer be reordered.
It's not because it can't reorder the write. Rather, it's because
that the CPU can't do write gathering and can't do burst write
any
more.
No, your understanding is broken.
Write gathering *isn't* a kind of write reordering.
to "write ABCD concurrently".
If one of B/C/D is a register that triggers latching A
in the former case it will latch A correctly butFor accesses from the CPU side, registers are mapped with *uncached*.
in the latter case it will wrongly latch the old value of A instead, so
write gathering is not strongly-ordered.
--Its doesn't have to reorder, it just cache the write operation with
the CPU's write buffer.
comparing to strongly
ordered writing (which is literally one byte per write).
So do you still think your patch is harmless?Well, I said that performance w/o correctness is meaningless.
The point is that Write-Combine on drm/ast will get both correctness
and performance.