[PATCH 00/12] drop volatile from global data

Rasmus Villemoes ravi at prevas.dk
Wed Jun 4 22:40:58 CEST 2025


On Wed, Jun 04 2025, Tom Rini <trini at konsulko.com> wrote:

> On Wed, Jun 04, 2025 at 09:56:00PM +0200, Rasmus Villemoes wrote:
>> There's really no reason for the gd pointer to have the volatile
>> qualifier.
>> 
>> In fact, I claim that it's completely unnecessary and just pessimizes
>> code generation and forces ugly casts in lots of places. For example,
>> see the casts in drivers/core/tag.c where elements are added to
>> gd->dm_taglist, or a helper such as cyclic_get_list() that should not
>> be needed.
>> 
>> Also, it is what ends up standing in the way of an otherwise
>> innocent code cleanup of list.h:
>> https://lore.kernel.org/u-boot/20250522165656.GB2179216@bill-the-cat/
>> 
>> Note that riscv, x86 as well as arm64 with LTO enabled has not had
>> this volatile qualifier, so it's unlikely there's any generic code
>> that depends on it.
>> 
>> CI seems mostly happy:
>> 
>>   https://github.com/u-boot/u-boot/pull/775/checks?check_run_id=43463083829
>> 
>> The one failing test seems to be an infrastructure thing unrelated to
>> these patches ("docker: filesystem layer verification failed for
>> digest
>> sha256:379cc6cd06dc3fc80e31d5170204c0cfcc25cb3b3ad457ced23bed2b38ec9f36")
>
> Azure seems to be having some hiccups, sadly. I know from my end I can't
> hit "rerun failed jobs", is there an option visible to you like that?

Technically yes, practically no.

On
https://dev.azure.com/u-boot/u-boot/_build/results?buildId=11303&view=results,
I see a "Rerun failed jobs" button. Clicking that, I get a popup saying

  Rerun Stage

  Are you sure you want to rerun failed jobs in the stage 'world_build'?

and after clicking yes, a banner with red(dish) background appears at
the top of the page with text

  TF400813: The user 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa' is not authorized to access this resource.

and after that the "Rerun" button is greyed out.

I can do a trivial change the commit log for the first patch and
force-push, which triggers a new round of tests, but I don't know if
it's worth it. I think the current revision is the third time I've had
CI chew on it before sending the series to the list, and each time
there's been at least one test failing, every time for reasons I've
deemed unrelated to the patches.

Rasmus


More information about the U-Boot mailing list