[PATCH] Revert "lib: sparse: Make CHUNK_TYPE_RAW buffer aligned"
Mattijs Korpershoek
mkorpershoek at baylibre.com
Fri Jun 16 13:56:52 CEST 2023
Hi Gary, Sean,
On lun., nov. 21, 2022 at 10:09, Sean Anderson <sean.anderson at seco.com> wrote:
> On 11/21/22 09:50, Gary Bisson wrote:
>> Hi,
>>
>> On Fri, Nov 18, 2022 at 10:36:58AM -0500, Sean Anderson wrote:
>>> On 11/18/22 07:13, Gary Bisson wrote:
>>> > This reverts commit 62649165cb02ab95b57360bb362886935f524f26.
>>> >
>>> > The patch decreased the write performance quite a bit.
>>> > Here is an example on an i.MX 8M Quad platform.
>>> > - Before the revert:
>>> > Sending sparse 'vendor' 1/2 (516436 KB) OKAY [ 5.113s]
>>> > Writing 'vendor' OKAY [128.335s]
>>> > Sending sparse 'vendor' 2/2 (76100 KB) OKAY [ 0.802s]
>>> > Writing 'vendor' OKAY [ 27.902s]
>>> > - After the revert:
>>> > Sending sparse 'vendor' 1/2 (516436 KB) OKAY [ 5.310s]
>>> > Writing 'vendor' OKAY [ 18.041s]
>>> > Sending sparse 'vendor' 2/2 (76100 KB) OKAY [ 1.244s]
>>> > Writing 'vendor' OKAY [ 2.663s]
>>> >
>>> > Considering that the patch only moves buffer around to avoid a warning
>>> > message about misaligned buffers, let's keep the best performances.
>>>
>>> So what is the point of this warning?
>>
>> Well the warning does say something true that the cache operation is not
>> aligned. Better ask Simon as he's the one who changed the print from a
>> debug to warn_non_spl one:
>> bcc53bf0958 arm: Show cache warnings in U-Boot proper only
>>
>> BTW, in my case I couldn't see the misaligned messages, yet I saw the
>> performance hit described above.
I also reproduce this problem on AM62x SK EVM.
Before the revert:
Sending sparse 'super' 1/2 (768793 KB) OKAY [ 23.954s]
Writing 'super' OKAY [ 75.926s]
Sending sparse 'super' 2/2 (629819 KB) OKAY [ 19.641s]
Writing 'super' OKAY [ 62.849s]
Finished. Total time: 182.474s
After the revert:
Sending sparse 'super' 1/2 (768793 KB) OKAY [ 23.895s]
Writing 'super' OKAY [ 12.961s]
Sending sparse 'super' 2/2 (629819 KB) OKAY [ 19.562s]
Writing 'super' OKAY [ 12.805s]
Finished. Total time: 69.327s
And like Gary, I did not observe the misaligned messages.
Did we come up with a solution for this performance regression?
I will continue looking on my end but please let me know if you already
solved this.
Thanks,
Matijs
>
> Maybe it is better to keep this as a Kconfig? Some arches may support
> unaligned access but others may not. I wonder if we have something like
> this already.
>
> --Seam
More information about the U-Boot
mailing list