Re: [PATCH] arm64: arch_timer: XGene-1 has 31 bit, not 32 bit, arch timer.

From: Greg KH
Date: Sat Oct 22 2022 - 01:39:54 EST


On Fri, Oct 21, 2022 at 03:47:46PM -0400, Joe Korty wrote:
> Hi Marc,
>
> On Fri, Oct 21, 2022 at 07:08:50PM +0100, Marc Zyngier wrote:
> > Sorry, but you'll have to provide a bit more of an analysis here. As
> > far as I can tell, you're just changing a parameter without properly
> > describing what breaks and how.
>
> There isn't much to analyse. For ages, 0x7fffffff (31 bits) was the
> declared width of 'arch timer' for all arm architures, and that worked.
> Your patch series made the declared width vary according to which chipset
> was in use, which is good, but that rewrite changed the above mask for
> the XGene-1 from 0x7fffffff to 0xffffffff. That change broke timers
> for the XGene-1 since it seems that, in actuality, it has only a 31 bit
> wide arch timer. Thus declaring that arch timer has 32-bits is wrong.
> This mismatch between the actual and declared sizes would cause arithmetic
> errors in the calculation of timer deltas which more than accounts for
> the hrtimer failures I am seeing when running 5.16+ on my Mustang XGene1.
>
> Only one line need change, the rest are fluff:
>
> - return CLOCKSOURCE_MASK(32);
> + return CLOCKSOURCE_MASK(31);
>
> > Also, this isn't much of a patch.
>
> I don't know what this means. The patch contains all that is needed for
> the fix, no more. I could add more comments as to _why_ it is 31 bits
> not 32, but I don't know why. I only know that the motherboard behaves
> as if 31 bits is all that is available in the hardware.
>
> > Please see the documentation on how to properly submit one.
>
> AFAICS, the only submission mistake is that the 'Cc: stable@xxxxxxxxxxxxxxx'
> line is missing.

No, you need a much better changelog text and probably subject line, and
to properly cc: the correct maintainers and developers. As my bot would
say:

- Kernel development is done in public, please always cc: a public
mailing list with a patch submission. Using the tool,
scripts/get_maintainer.pl on the patch will tell you what mailing list
to cc.

- You did not specify a description of why the patch is needed, or
possibly, any description at all, in the email body. Please read the
section entitled "The canonical patch format" in the kernel file,
Documentation/SubmittingPatches for what is needed in order to
properly describe the change.

- You did not write a descriptive Subject: for the patch, allowing Greg,
and everyone else, to know what this patch is all about. Please read
the section entitled "The canonical patch format" in the kernel file,
Documentation/SubmittingPatches for what a proper Subject: line should
look like.


Thanks,

greg k-h