Message ID | 3b30988e-628e-4a05-a0a7-e11bf672ec5e@canonical.com |
---|---|
State | New |
Headers | show |
Series | [SRU,PULL,jammy:linux-gcp] Patches needed for AmpereOne (arm64) | expand |
On 11/30/23 7:33 AM, John Cabaj wrote: > BugLink: https://bugs.launchpad.net/bugs/2044192 > > [Impact] > > * Google requested patches for AmpereOne machine type > > [Fix] > > * Cherry-picks from upstream > > 484baebd076c ("clocksource/drivers/arch_arm_timer: Move workaround synchronisation around") > ad6c750791e3 ("clocksource/drivers/arm_arch_timer: Fix masking for high freq counters") > 6e69aa090138 ("clocksource/drivers/arm_arch_timer: Drop unnecessary ISB on CVAL programming") > ab9a0239324a ("clocksource/drivers/arm_arch_timer: Remove any trace of the TVAL programming interface") > 9f074b90e6fd ("clocksource/drivers/arm_arch_timer: Work around broken CVAL implementations") > 562eb64c090f ("clocksource/drivers/arm_arch_timer: Advertise 56bit timer to the core code") > 7bc14651e24e ("clocksource/drivers/arm_arch_timer: Move MMIO timer programming over to CVAL") > 8b06e41fe7bc ("clocksource/drivers/arm_arch_timer: Fix MMIO base address vs callback ordering issue") > 0ffa6302e2f6 ("clocksource/drivers/arm_arch_timer: Move drop _tval from erratum function names") > 8065137de0cf ("clocksource/drivers/arm_arch_timer: Move system register timer programming over to CVAL") > 674941dc157e ("clocksource/drivers/arm_arch_timer: Extend write side of timer register accessors to u64") > 0c1f5fc141ea ("clocksource/drivers/arm_arch_timer: Drop CNT*_TVAL read accessors") > 02aecc78b278 ("clocksource/arm_arch_timer: Add build-time guards for unhandled register accesses") > > [Test Case] > > * Compile tested > * Boot tested on AmpereOne instance > > [Where things could go wrong] > > * Low chance of regression. Changes isolated to ARM timers. > > [Other Info] > > * SF #00372821 > > ----- > > The following changes since commit 04c19cd6345a4c14df5e64d6a4523d52342321dc: > > UBUNTU: Ubuntu-gcp-5.15.0-1048.56 (2023-11-18 14:50:34 -0300) > > are available in the git repository at: > > git+ssh://user@kathleen/home/john-cabaj/for-review/jammy_linux-gcp/ ampere_one > > for you to fetch changes up to 484baebd076c93b60979ae26718477c8bf1bb47a: > > clocksource/drivers/arch_arm_timer: Move workaround synchronisation around (2023-11-21 16:21:06 -0600) > > ---------------------------------------------------------------- > Marc Zyngier (12): > clocksource/arm_arch_timer: Add build-time guards for unhandled register accesses > clocksource/drivers/arm_arch_timer: Drop CNT*_TVAL read accessors > clocksource/drivers/arm_arch_timer: Extend write side of timer register accessors to u64 > clocksource/drivers/arm_arch_timer: Move system register timer programming over to CVAL > clocksource/drivers/arm_arch_timer: Move drop _tval from erratum function names > clocksource/drivers/arm_arch_timer: Fix MMIO base address vs callback ordering issue > clocksource/drivers/arm_arch_timer: Move MMIO timer programming over to CVAL > clocksource/drivers/arm_arch_timer: Advertise 56bit timer to the core code > clocksource/drivers/arm_arch_timer: Work around broken CVAL implementations > clocksource/drivers/arm_arch_timer: Remove any trace of the TVAL programming interface > clocksource/drivers/arm_arch_timer: Drop unnecessary ISB on CVAL programming > clocksource/drivers/arch_arm_timer: Move workaround synchronisation around > > Oliver Upton (1): > clocksource/drivers/arm_arch_timer: Fix masking for high freq counters > > arch/arm/include/asm/arch_timer.h | 37 +++++++++++++--------- > arch/arm64/include/asm/arch_timer.h | 52 ++++++++++++++---------------- > drivers/clocksource/arm_arch_timer.c | 243 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------- > include/clocksource/arm_arch_timer.h | 2 +- > 4 files changed, 193 insertions(+), 141 deletions(-) > Acked-by: Tim Gardner <tim.gardner@canonical.com> Clean cherry picks
On Thu, Nov 30, 2023 at 08:33:06AM -0600, John Cabaj wrote: > BugLink: https://bugs.launchpad.net/bugs/2044192 > > [Impact] > > * Google requested patches for AmpereOne machine type > > [Fix] > > * Cherry-picks from upstream > > 484baebd076c ("clocksource/drivers/arch_arm_timer: Move workaround synchronisation around") > ad6c750791e3 ("clocksource/drivers/arm_arch_timer: Fix masking for high freq counters") > 6e69aa090138 ("clocksource/drivers/arm_arch_timer: Drop unnecessary ISB on CVAL programming") > ab9a0239324a ("clocksource/drivers/arm_arch_timer: Remove any trace of the TVAL programming interface") > 9f074b90e6fd ("clocksource/drivers/arm_arch_timer: Work around broken CVAL implementations") > 562eb64c090f ("clocksource/drivers/arm_arch_timer: Advertise 56bit timer to the core code") > 7bc14651e24e ("clocksource/drivers/arm_arch_timer: Move MMIO timer programming over to CVAL") > 8b06e41fe7bc ("clocksource/drivers/arm_arch_timer: Fix MMIO base address vs callback ordering issue") > 0ffa6302e2f6 ("clocksource/drivers/arm_arch_timer: Move drop _tval from erratum function names") > 8065137de0cf ("clocksource/drivers/arm_arch_timer: Move system register timer programming over to CVAL") > 674941dc157e ("clocksource/drivers/arm_arch_timer: Extend write side of timer register accessors to u64") > 0c1f5fc141ea ("clocksource/drivers/arm_arch_timer: Drop CNT*_TVAL read accessors") > 02aecc78b278 ("clocksource/arm_arch_timer: Add build-time guards for unhandled register accesses") > > [Test Case] > > * Compile tested > * Boot tested on AmpereOne instance > > [Where things could go wrong] > > * Low chance of regression. Changes isolated to ARM timers. > > [Other Info] > > * SF #00372821 > > ----- > > The following changes since commit 04c19cd6345a4c14df5e64d6a4523d52342321dc: > > UBUNTU: Ubuntu-gcp-5.15.0-1048.56 (2023-11-18 14:50:34 -0300) > > are available in the git repository at: > > git+ssh://user@kathleen/home/john-cabaj/for-review/jammy_linux-gcp/ ampere_one > > for you to fetch changes up to 484baebd076c93b60979ae26718477c8bf1bb47a: > > clocksource/drivers/arch_arm_timer: Move workaround synchronisation around (2023-11-21 16:21:06 -0600) > > ---------------------------------------------------------------- > Marc Zyngier (12): > clocksource/arm_arch_timer: Add build-time guards for unhandled register accesses > clocksource/drivers/arm_arch_timer: Drop CNT*_TVAL read accessors > clocksource/drivers/arm_arch_timer: Extend write side of timer register accessors to u64 > clocksource/drivers/arm_arch_timer: Move system register timer programming over to CVAL > clocksource/drivers/arm_arch_timer: Move drop _tval from erratum function names > clocksource/drivers/arm_arch_timer: Fix MMIO base address vs callback ordering issue > clocksource/drivers/arm_arch_timer: Move MMIO timer programming over to CVAL > clocksource/drivers/arm_arch_timer: Advertise 56bit timer to the core code > clocksource/drivers/arm_arch_timer: Work around broken CVAL implementations > clocksource/drivers/arm_arch_timer: Remove any trace of the TVAL programming interface > clocksource/drivers/arm_arch_timer: Drop unnecessary ISB on CVAL programming > clocksource/drivers/arch_arm_timer: Move workaround synchronisation around > > Oliver Upton (1): > clocksource/drivers/arm_arch_timer: Fix masking for high freq counters > > arch/arm/include/asm/arch_timer.h | 37 +++++++++++++--------- > arch/arm64/include/asm/arch_timer.h | 52 ++++++++++++++---------------- > drivers/clocksource/arm_arch_timer.c | 243 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------- > include/clocksource/arm_arch_timer.h | 2 +- > 4 files changed, 193 insertions(+), 141 deletions(-) > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team Acked-by: Manuel Diewald <manuel.diewald@canonical.com>
On 11/30/23 8:33 AM, John Cabaj wrote: > BugLink: https://bugs.launchpad.net/bugs/2044192 > > [Impact] > > * Google requested patches for AmpereOne machine type > > [Fix] > > * Cherry-picks from upstream > > 484baebd076c ("clocksource/drivers/arch_arm_timer: Move workaround synchronisation around") > ad6c750791e3 ("clocksource/drivers/arm_arch_timer: Fix masking for high freq counters") > 6e69aa090138 ("clocksource/drivers/arm_arch_timer: Drop unnecessary ISB on CVAL programming") > ab9a0239324a ("clocksource/drivers/arm_arch_timer: Remove any trace of the TVAL programming interface") > 9f074b90e6fd ("clocksource/drivers/arm_arch_timer: Work around broken CVAL implementations") > 562eb64c090f ("clocksource/drivers/arm_arch_timer: Advertise 56bit timer to the core code") > 7bc14651e24e ("clocksource/drivers/arm_arch_timer: Move MMIO timer programming over to CVAL") > 8b06e41fe7bc ("clocksource/drivers/arm_arch_timer: Fix MMIO base address vs callback ordering issue") > 0ffa6302e2f6 ("clocksource/drivers/arm_arch_timer: Move drop _tval from erratum function names") > 8065137de0cf ("clocksource/drivers/arm_arch_timer: Move system register timer programming over to CVAL") > 674941dc157e ("clocksource/drivers/arm_arch_timer: Extend write side of timer register accessors to u64") > 0c1f5fc141ea ("clocksource/drivers/arm_arch_timer: Drop CNT*_TVAL read accessors") > 02aecc78b278 ("clocksource/arm_arch_timer: Add build-time guards for unhandled register accesses") > > [Test Case] > > * Compile tested > * Boot tested on AmpereOne instance > > [Where things could go wrong] > > * Low chance of regression. Changes isolated to ARM timers. > > [Other Info] > > * SF #00372821 > > ----- > > The following changes since commit 04c19cd6345a4c14df5e64d6a4523d52342321dc: > > UBUNTU: Ubuntu-gcp-5.15.0-1048.56 (2023-11-18 14:50:34 -0300) > > are available in the git repository at: > > git+ssh://user@kathleen/home/john-cabaj/for-review/jammy_linux-gcp/ ampere_one > > for you to fetch changes up to 484baebd076c93b60979ae26718477c8bf1bb47a: > > clocksource/drivers/arch_arm_timer: Move workaround synchronisation around (2023-11-21 16:21:06 -0600) > > ---------------------------------------------------------------- > Marc Zyngier (12): > clocksource/arm_arch_timer: Add build-time guards for unhandled register accesses > clocksource/drivers/arm_arch_timer: Drop CNT*_TVAL read accessors > clocksource/drivers/arm_arch_timer: Extend write side of timer register accessors to u64 > clocksource/drivers/arm_arch_timer: Move system register timer programming over to CVAL > clocksource/drivers/arm_arch_timer: Move drop _tval from erratum function names > clocksource/drivers/arm_arch_timer: Fix MMIO base address vs callback ordering issue > clocksource/drivers/arm_arch_timer: Move MMIO timer programming over to CVAL > clocksource/drivers/arm_arch_timer: Advertise 56bit timer to the core code > clocksource/drivers/arm_arch_timer: Work around broken CVAL implementations > clocksource/drivers/arm_arch_timer: Remove any trace of the TVAL programming interface > clocksource/drivers/arm_arch_timer: Drop unnecessary ISB on CVAL programming > clocksource/drivers/arch_arm_timer: Move workaround synchronisation around > > Oliver Upton (1): > clocksource/drivers/arm_arch_timer: Fix masking for high freq counters > > arch/arm/include/asm/arch_timer.h | 37 +++++++++++++--------- > arch/arm64/include/asm/arch_timer.h | 52 ++++++++++++++---------------- > drivers/clocksource/arm_arch_timer.c | 243 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------- > include/clocksource/arm_arch_timer.h | 2 +- > 4 files changed, 193 insertions(+), 141 deletions(-) Applied to jammy:linux-gcp master-next branch. Thanks, John
On Thu, 30 Nov 2023 at 14:33, John Cabaj <john.cabaj@canonical.com> wrote: > > BugLink: https://bugs.launchpad.net/bugs/2044192 > > [Impact] > > * Google requested patches for AmpereOne machine type As all of these are from v6.1 kernel and thus well tested by all our kernels, and it is even present in our hwe jammy kernels, may I ask you to also submit these patches for jammy generic under HWE exception? Ampere based servers are very popular, and actually most public clouds use them for their arm64 instances. Thus it is likely all of them will want these patches. But for generic, Canonical itself needs or will likely to need them for our internal deployments too. Submitting this for jammy generic will also ensure that we will be able to continue testing generic flavour on gcp arm64 instances (which we often do when hunting down regressions and bugs). Would it be possible to get these into generic in time for the Jammy point release > > [Fix] > > * Cherry-picks from upstream > > 484baebd076c ("clocksource/drivers/arch_arm_timer: Move workaround synchronisation around") > ad6c750791e3 ("clocksource/drivers/arm_arch_timer: Fix masking for high freq counters") > 6e69aa090138 ("clocksource/drivers/arm_arch_timer: Drop unnecessary ISB on CVAL programming") > ab9a0239324a ("clocksource/drivers/arm_arch_timer: Remove any trace of the TVAL programming interface") > 9f074b90e6fd ("clocksource/drivers/arm_arch_timer: Work around broken CVAL implementations") > 562eb64c090f ("clocksource/drivers/arm_arch_timer: Advertise 56bit timer to the core code") > 7bc14651e24e ("clocksource/drivers/arm_arch_timer: Move MMIO timer programming over to CVAL") > 8b06e41fe7bc ("clocksource/drivers/arm_arch_timer: Fix MMIO base address vs callback ordering issue") > 0ffa6302e2f6 ("clocksource/drivers/arm_arch_timer: Move drop _tval from erratum function names") > 8065137de0cf ("clocksource/drivers/arm_arch_timer: Move system register timer programming over to CVAL") > 674941dc157e ("clocksource/drivers/arm_arch_timer: Extend write side of timer register accessors to u64") > 0c1f5fc141ea ("clocksource/drivers/arm_arch_timer: Drop CNT*_TVAL read accessors") > 02aecc78b278 ("clocksource/arm_arch_timer: Add build-time guards for unhandled register accesses") > > [Test Case] > > * Compile tested > * Boot tested on AmpereOne instance > > [Where things could go wrong] > > * Low chance of regression. Changes isolated to ARM timers. > > [Other Info] > > * SF #00372821 > > ----- > > The following changes since commit 04c19cd6345a4c14df5e64d6a4523d52342321dc: > > UBUNTU: Ubuntu-gcp-5.15.0-1048.56 (2023-11-18 14:50:34 -0300) > > are available in the git repository at: > > git+ssh://user@kathleen/home/john-cabaj/for-review/jammy_linux-gcp/ ampere_one Please do not leak internal private hostnames publically. Also this is a public mailing list mailing submission, thus it should use publically accessible repositories. To make things easy in launchpad, please consider doing a "fork" of the linux-gcp repo into your own namespace, and then pushing to it. At https://code.launchpad.net/~canonical-kernel/ubuntu/+source/linux-gcp/+git/jammy/+fork you can fork linux-gcp jammy repo which will create a similar looking URL but under ~your-lp-account name, which you will then be able to efficiently push to. And for all private kernels, we should scope them under private projects such that personal forks work there too, without any information leaks. > > for you to fetch changes up to 484baebd076c93b60979ae26718477c8bf1bb47a: > > clocksource/drivers/arch_arm_timer: Move workaround synchronisation around (2023-11-21 16:21:06 -0600) > > ---------------------------------------------------------------- > Marc Zyngier (12): > clocksource/arm_arch_timer: Add build-time guards for unhandled register accesses > clocksource/drivers/arm_arch_timer: Drop CNT*_TVAL read accessors > clocksource/drivers/arm_arch_timer: Extend write side of timer register accessors to u64 > clocksource/drivers/arm_arch_timer: Move system register timer programming over to CVAL > clocksource/drivers/arm_arch_timer: Move drop _tval from erratum function names > clocksource/drivers/arm_arch_timer: Fix MMIO base address vs callback ordering issue > clocksource/drivers/arm_arch_timer: Move MMIO timer programming over to CVAL > clocksource/drivers/arm_arch_timer: Advertise 56bit timer to the core code > clocksource/drivers/arm_arch_timer: Work around broken CVAL implementations > clocksource/drivers/arm_arch_timer: Remove any trace of the TVAL programming interface > clocksource/drivers/arm_arch_timer: Drop unnecessary ISB on CVAL programming > clocksource/drivers/arch_arm_timer: Move workaround synchronisation around > > Oliver Upton (1): > clocksource/drivers/arm_arch_timer: Fix masking for high freq counters > > arch/arm/include/asm/arch_timer.h | 37 +++++++++++++--------- > arch/arm64/include/asm/arch_timer.h | 52 ++++++++++++++---------------- > drivers/clocksource/arm_arch_timer.c | 243 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------- > include/clocksource/arm_arch_timer.h | 2 +- > 4 files changed, 193 insertions(+), 141 deletions(-) > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team
On 11/30/23 2:47 PM, Dimitri John Ledkov wrote: > On Thu, 30 Nov 2023 at 14:33, John Cabaj <john.cabaj@canonical.com> wrote: >> >> BugLink: https://bugs.launchpad.net/bugs/2044192 >> >> [Impact] >> >> * Google requested patches for AmpereOne machine type > > > As all of these are from v6.1 kernel and thus well tested by all our > kernels, and it is even present in our hwe jammy kernels, may I ask > you to also submit these patches for jammy generic under HWE > exception? > > Ampere based servers are very popular, and actually most public clouds > use them for their arm64 instances. Thus it is likely all of them will > want these patches. > > But for generic, Canonical itself needs or will likely to need them > for our internal deployments too. > > Submitting this for jammy generic will also ensure that we will be > able to continue testing generic flavour on gcp arm64 instances (which > we often do when hunting down regressions and bugs). > > Would it be possible to get these into generic in time for the Jammy > point release Good point - I can work on getting them submitted for Jammy generic as well. > >> >> [Fix] >> >> * Cherry-picks from upstream >> >> 484baebd076c ("clocksource/drivers/arch_arm_timer: Move workaround synchronisation around") >> ad6c750791e3 ("clocksource/drivers/arm_arch_timer: Fix masking for high freq counters") >> 6e69aa090138 ("clocksource/drivers/arm_arch_timer: Drop unnecessary ISB on CVAL programming") >> ab9a0239324a ("clocksource/drivers/arm_arch_timer: Remove any trace of the TVAL programming interface") >> 9f074b90e6fd ("clocksource/drivers/arm_arch_timer: Work around broken CVAL implementations") >> 562eb64c090f ("clocksource/drivers/arm_arch_timer: Advertise 56bit timer to the core code") >> 7bc14651e24e ("clocksource/drivers/arm_arch_timer: Move MMIO timer programming over to CVAL") >> 8b06e41fe7bc ("clocksource/drivers/arm_arch_timer: Fix MMIO base address vs callback ordering issue") >> 0ffa6302e2f6 ("clocksource/drivers/arm_arch_timer: Move drop _tval from erratum function names") >> 8065137de0cf ("clocksource/drivers/arm_arch_timer: Move system register timer programming over to CVAL") >> 674941dc157e ("clocksource/drivers/arm_arch_timer: Extend write side of timer register accessors to u64") >> 0c1f5fc141ea ("clocksource/drivers/arm_arch_timer: Drop CNT*_TVAL read accessors") >> 02aecc78b278 ("clocksource/arm_arch_timer: Add build-time guards for unhandled register accesses") >> >> [Test Case] >> >> * Compile tested >> * Boot tested on AmpereOne instance >> >> [Where things could go wrong] >> >> * Low chance of regression. Changes isolated to ARM timers. >> >> [Other Info] >> >> * SF #00372821 >> >> ----- >> >> The following changes since commit 04c19cd6345a4c14df5e64d6a4523d52342321dc: >> >> UBUNTU: Ubuntu-gcp-5.15.0-1048.56 (2023-11-18 14:50:34 -0300) >> >> are available in the git repository at: >> >> git+ssh://user@kathleen/home/john-cabaj/for-review/jammy_linux-gcp/ ampere_one > > Please do not leak internal private hostnames publically. > > Also this is a public mailing list mailing submission, thus it should > use publically accessible repositories. > > To make things easy in launchpad, please consider doing a "fork" of > the linux-gcp repo into your own namespace, and then pushing to it. > > At https://code.launchpad.net/~canonical-kernel/ubuntu/+source/linux-gcp/+git/jammy/+fork > you can fork linux-gcp jammy repo which will create a similar looking > URL but under ~your-lp-account name, which you will then be able to > efficiently push to. > > And for all private kernels, we should scope them under private > projects such that personal forks work there too, without any > information leaks. Noted. > >> >> for you to fetch changes up to 484baebd076c93b60979ae26718477c8bf1bb47a: >> >> clocksource/drivers/arch_arm_timer: Move workaround synchronisation around (2023-11-21 16:21:06 -0600) >> >> ---------------------------------------------------------------- >> Marc Zyngier (12): >> clocksource/arm_arch_timer: Add build-time guards for unhandled register accesses >> clocksource/drivers/arm_arch_timer: Drop CNT*_TVAL read accessors >> clocksource/drivers/arm_arch_timer: Extend write side of timer register accessors to u64 >> clocksource/drivers/arm_arch_timer: Move system register timer programming over to CVAL >> clocksource/drivers/arm_arch_timer: Move drop _tval from erratum function names >> clocksource/drivers/arm_arch_timer: Fix MMIO base address vs callback ordering issue >> clocksource/drivers/arm_arch_timer: Move MMIO timer programming over to CVAL >> clocksource/drivers/arm_arch_timer: Advertise 56bit timer to the core code >> clocksource/drivers/arm_arch_timer: Work around broken CVAL implementations >> clocksource/drivers/arm_arch_timer: Remove any trace of the TVAL programming interface >> clocksource/drivers/arm_arch_timer: Drop unnecessary ISB on CVAL programming >> clocksource/drivers/arch_arm_timer: Move workaround synchronisation around >> >> Oliver Upton (1): >> clocksource/drivers/arm_arch_timer: Fix masking for high freq counters >> >> arch/arm/include/asm/arch_timer.h | 37 +++++++++++++--------- >> arch/arm64/include/asm/arch_timer.h | 52 ++++++++++++++---------------- >> drivers/clocksource/arm_arch_timer.c | 243 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------- >> include/clocksource/arm_arch_timer.h | 2 +- >> 4 files changed, 193 insertions(+), 141 deletions(-) >> >> -- >> kernel-team mailing list >> kernel-team@lists.ubuntu.com >> https://lists.ubuntu.com/mailman/listinfo/kernel-team > > > John