Message ID | 20230429063348.125544-1-npiggin@gmail.com |
---|---|
State | New |
Headers | show |
Series | Remove HAVE_VIRT_CPU_ACCOUNTING_GEN option | expand |
On Fri, 28 Apr 2023 23:33:48 PDT (-0700), npiggin@gmail.com wrote: > This option was created in commit 554b0004d0ec4 ("vtime: Add > HAVE_VIRT_CPU_ACCOUNTING_GEN Kconfig") for architectures to indicate > they support the 64-bit cputime_t required for VIRT_CPU_ACCOUNTING_GEN. > > The cputime_t type has since been removed, so this doesn't have any > meaning. Remove it. > > Cc: linux-arch@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Cc: Vineet Gupta <vgupta@kernel.org> > Cc: linux-snps-arc@lists.infradead.org > Cc: Brian Cain <bcain@quicinc.com> > Cc: linux-hexagon@vger.kernel.org > Cc: Huacai Chen <chenhuacai@kernel.org> > Cc: loongarch@lists.linux.dev > Cc: Geert Uytterhoeven <geert@linux-m68k.org> > Cc: linux-m68k@lists.linux-m68k.org > Cc: Michal Simek <monstr@monstr.eu> > Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> > Cc: linux-mips@vger.kernel.org > Cc: Dinh Nguyen <dinguyen@kernel.org> > Cc: Jonas Bonn <jonas@southpole.se> > Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> > Cc: Stafford Horne <shorne@gmail.com> > Cc: linux-openrisc@vger.kernel.org > Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com> > Cc: Helge Deller <deller@gmx.de> > Cc: linux-parisc@vger.kernel.org > Cc: Paul Walmsley <paul.walmsley@sifive.com> > Cc: Palmer Dabbelt <palmer@dabbelt.com> > Cc: Albert Ou <aou@eecs.berkeley.edu> > Cc: linux-riscv@lists.infradead.org > Cc: Yoshinori Sato <ysato@users.sourceforge.jp> > Cc: Rich Felker <dalias@libc.org> > Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> > Cc: linux-sh@vger.kernel.org > Cc: "David S. Miller" <davem@davemloft.net> > Cc: sparclinux@vger.kernel.org > Cc: Richard Weinberger <richard@nod.at> > Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com> > Cc: Johannes Berg <johannes@sipsolutions.net> > Cc: linux-um@lists.infradead.org > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: Borislav Petkov <bp@alien8.de> > Cc: Dave Hansen <dave.hansen@linux.intel.com> > Cc: x86@kernel.org > Cc: "H. Peter Anvin" <hpa@zytor.com> > Cc: Kevin Hilman <khilman@baylibre.com> > Cc: Frederic Weisbecker <frederic@kernel.org> > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> > --- > Hi, > > Could we tidy this? I don't know what tree it can go in, timers, > sched, asm-generic, probably doesn't matter. > > The only thing this actually does is gate VIRT_CPU_ACCOUNTING_GEN and > NO_HZ_FULL so if your arch has some other issue that requires this > then the documentation needs to change. Any concerns from the archs? > I.e., 32-bit that does *not* define HAVE_VIRT_CPU_ACCOUNTING_GEN > which looks to be: > > arc > hexagon > loongarch 32-bit with SMP > m68k > microblaze > mips 32-bit with SMP > nios2 > openrisc > parisc 32-bit > riscv 32-bit Nothing's jumping out, though I haven't tested this yet so I'm not 100%. I assume this isn't aimed for this merge window, given the timing? Probably best to give this sort of thing time to bake in linux-next, but I doubt anyone is even paying attention to rv32/NO_HZ_FULL so no big deal either way on my end. Acked-by: Palmer Dabbelt <palmer@rivosinc.com> # RISC-V > sh > sparc 32-bit > um 32-bit > x86 32-bit > > Thanks, > Nick
On Sun Apr 30, 2023 at 6:14 AM AEST, Palmer Dabbelt wrote: > On Fri, 28 Apr 2023 23:33:48 PDT (-0700), npiggin@gmail.com wrote: > > This option was created in commit 554b0004d0ec4 ("vtime: Add > > HAVE_VIRT_CPU_ACCOUNTING_GEN Kconfig") for architectures to indicate > > they support the 64-bit cputime_t required for VIRT_CPU_ACCOUNTING_GEN. > > > > The cputime_t type has since been removed, so this doesn't have any > > meaning. Remove it. > > > > Cc: linux-arch@vger.kernel.org > > Cc: linux-kernel@vger.kernel.org > > Cc: Vineet Gupta <vgupta@kernel.org> > > Cc: linux-snps-arc@lists.infradead.org > > Cc: Brian Cain <bcain@quicinc.com> > > Cc: linux-hexagon@vger.kernel.org > > Cc: Huacai Chen <chenhuacai@kernel.org> > > Cc: loongarch@lists.linux.dev > > Cc: Geert Uytterhoeven <geert@linux-m68k.org> > > Cc: linux-m68k@lists.linux-m68k.org > > Cc: Michal Simek <monstr@monstr.eu> > > Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> > > Cc: linux-mips@vger.kernel.org > > Cc: Dinh Nguyen <dinguyen@kernel.org> > > Cc: Jonas Bonn <jonas@southpole.se> > > Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> > > Cc: Stafford Horne <shorne@gmail.com> > > Cc: linux-openrisc@vger.kernel.org > > Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com> > > Cc: Helge Deller <deller@gmx.de> > > Cc: linux-parisc@vger.kernel.org > > Cc: Paul Walmsley <paul.walmsley@sifive.com> > > Cc: Palmer Dabbelt <palmer@dabbelt.com> > > Cc: Albert Ou <aou@eecs.berkeley.edu> > > Cc: linux-riscv@lists.infradead.org > > Cc: Yoshinori Sato <ysato@users.sourceforge.jp> > > Cc: Rich Felker <dalias@libc.org> > > Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> > > Cc: linux-sh@vger.kernel.org > > Cc: "David S. Miller" <davem@davemloft.net> > > Cc: sparclinux@vger.kernel.org > > Cc: Richard Weinberger <richard@nod.at> > > Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com> > > Cc: Johannes Berg <johannes@sipsolutions.net> > > Cc: linux-um@lists.infradead.org > > Cc: Thomas Gleixner <tglx@linutronix.de> > > Cc: Ingo Molnar <mingo@redhat.com> > > Cc: Borislav Petkov <bp@alien8.de> > > Cc: Dave Hansen <dave.hansen@linux.intel.com> > > Cc: x86@kernel.org > > Cc: "H. Peter Anvin" <hpa@zytor.com> > > Cc: Kevin Hilman <khilman@baylibre.com> > > Cc: Frederic Weisbecker <frederic@kernel.org> > > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> > > --- > > Hi, > > > > Could we tidy this? I don't know what tree it can go in, timers, > > sched, asm-generic, probably doesn't matter. > > > > The only thing this actually does is gate VIRT_CPU_ACCOUNTING_GEN and > > NO_HZ_FULL so if your arch has some other issue that requires this > > then the documentation needs to change. Any concerns from the archs? > > I.e., 32-bit that does *not* define HAVE_VIRT_CPU_ACCOUNTING_GEN > > which looks to be: > > > > arc > > hexagon > > loongarch 32-bit with SMP > > m68k > > microblaze > > mips 32-bit with SMP > > nios2 > > openrisc > > parisc 32-bit > > riscv 32-bit > > Nothing's jumping out, though I haven't tested this yet so I'm not 100%. > I assume this isn't aimed for this merge window, given the timing? No, maybe the next one though. > Probably best to give this sort of thing time to bake in linux-next, but > I doubt anyone is even paying attention to rv32/NO_HZ_FULL so no big > deal either way on my end. > > Acked-by: Palmer Dabbelt <palmer@rivosinc.com> # RISC-V Thanks, Nick
Le Sat, Apr 29, 2023 at 04:33:48PM +1000, Nicholas Piggin a écrit : > This option was created in commit 554b0004d0ec4 ("vtime: Add > HAVE_VIRT_CPU_ACCOUNTING_GEN Kconfig") for architectures to indicate > they support the 64-bit cputime_t required for VIRT_CPU_ACCOUNTING_GEN. > > The cputime_t type has since been removed, so this doesn't have any > meaning. Remove it. Well, cputime_t has disappeared but not the u64 type used for task/cpu time accounting. But now we have the vtime seqcount. Though we already had it when we introduced that Kconfig switch so I can't remember why this was necessary :-( It _looks_ OK but I might be missing something... Thanks.
diff --git a/arch/Kconfig b/arch/Kconfig index 205fd23e0cad..b77b41d25e40 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -869,17 +869,6 @@ config HAVE_VIRT_CPU_ACCOUNTING_IDLE config ARCH_HAS_SCALED_CPUTIME bool -config HAVE_VIRT_CPU_ACCOUNTING_GEN - bool - default y if 64BIT - help - With VIRT_CPU_ACCOUNTING_GEN, cputime_t becomes 64-bit. - Before enabling this option, arch code must be audited - to ensure there are no races in concurrent read/write of - cputime_t. For example, reading/writing 64-bit cputime_t on - some 32-bit arches may require multiple accesses, so proper - locking is needed to protect against concurrent accesses. - config HAVE_IRQ_TIME_ACCOUNTING bool help diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 0fb4b218f665..9c05f25db4e4 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -123,7 +123,6 @@ config ARM select HAVE_STACKPROTECTOR select HAVE_SYSCALL_TRACEPOINTS select HAVE_UID16 - select HAVE_VIRT_CPU_ACCOUNTING_GEN select IRQ_FORCED_THREADING select MODULES_USE_ELF_REL select NEED_DMA_MAP_STATE diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig index 00379a843c37..dd1decc2a22d 100644 --- a/arch/csky/Kconfig +++ b/arch/csky/Kconfig @@ -73,7 +73,6 @@ config CSKY select HAVE_ARCH_MMAP_RND_BITS select HAVE_ARCH_SECCOMP_FILTER select HAVE_CONTEXT_TRACKING_USER - select HAVE_VIRT_CPU_ACCOUNTING_GEN select HAVE_DEBUG_BUGVERBOSE select HAVE_DEBUG_KMEMLEAK select HAVE_DYNAMIC_FTRACE diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig index f44f6ea54e46..7dc71c89bfae 100644 --- a/arch/loongarch/Kconfig +++ b/arch/loongarch/Kconfig @@ -122,7 +122,6 @@ config LOONGARCH select HAVE_STACKPROTECTOR select HAVE_SYSCALL_TRACEPOINTS select HAVE_TIF_NOHZ - select HAVE_VIRT_CPU_ACCOUNTING_GEN if !SMP select IRQ_FORCED_THREADING select IRQ_LOONGARCH_CPU select MMU_GATHER_MERGE_VMAS if MMU diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index c2f5498d207f..d84cb8bbee53 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -87,7 +87,6 @@ config MIPS select HAVE_SPARSE_SYSCALL_NR select HAVE_STACKPROTECTOR select HAVE_SYSCALL_TRACEPOINTS - select HAVE_VIRT_CPU_ACCOUNTING_GEN if 64BIT || !SMP select IRQ_FORCED_THREADING select ISA if EISA select MODULES_USE_ELF_REL if MODULES diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index acffffbd5d77..185195f349d9 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -271,7 +271,6 @@ config PPC select HAVE_STATIC_CALL if PPC32 select HAVE_SYSCALL_TRACEPOINTS select HAVE_VIRT_CPU_ACCOUNTING - select HAVE_VIRT_CPU_ACCOUNTING_GEN select HUGETLB_PAGE_SIZE_VARIABLE if PPC_BOOK3S_64 && HUGETLB_PAGE select IOMMU_HELPER if PPC64 select IRQ_DOMAIN diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index 3c6e5471f025..04f1399d9ce8 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig @@ -47,7 +47,6 @@ config XTENSA select HAVE_PERF_EVENTS select HAVE_STACKPROTECTOR select HAVE_SYSCALL_TRACEPOINTS - select HAVE_VIRT_CPU_ACCOUNTING_GEN select IRQ_DOMAIN select MODULES_USE_ELF_RELA select PERF_USE_VMALLOC diff --git a/init/Kconfig b/init/Kconfig index 32c24950c4ce..835fb5e78a8f 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -504,7 +504,6 @@ config VIRT_CPU_ACCOUNTING_NATIVE config VIRT_CPU_ACCOUNTING_GEN bool "Full dynticks CPU time accounting" depends on HAVE_CONTEXT_TRACKING_USER - depends on HAVE_VIRT_CPU_ACCOUNTING_GEN depends on GENERIC_CLOCKEVENTS select VIRT_CPU_ACCOUNTING select CONTEXT_TRACKING_USER diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig index bae8f11070be..d4325dae1f03 100644 --- a/kernel/time/Kconfig +++ b/kernel/time/Kconfig @@ -121,8 +121,6 @@ config NO_HZ_FULL # We need at least one periodic CPU for timekeeping depends on SMP depends on HAVE_CONTEXT_TRACKING_USER - # VIRT_CPU_ACCOUNTING_GEN dependency - depends on HAVE_VIRT_CPU_ACCOUNTING_GEN select NO_HZ_COMMON select RCU_NOCB_CPU select VIRT_CPU_ACCOUNTING_GEN
This option was created in commit 554b0004d0ec4 ("vtime: Add HAVE_VIRT_CPU_ACCOUNTING_GEN Kconfig") for architectures to indicate they support the 64-bit cputime_t required for VIRT_CPU_ACCOUNTING_GEN. The cputime_t type has since been removed, so this doesn't have any meaning. Remove it. Cc: linux-arch@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: Vineet Gupta <vgupta@kernel.org> Cc: linux-snps-arc@lists.infradead.org Cc: Brian Cain <bcain@quicinc.com> Cc: linux-hexagon@vger.kernel.org Cc: Huacai Chen <chenhuacai@kernel.org> Cc: loongarch@lists.linux.dev Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: linux-m68k@lists.linux-m68k.org Cc: Michal Simek <monstr@monstr.eu> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: linux-mips@vger.kernel.org Cc: Dinh Nguyen <dinguyen@kernel.org> Cc: Jonas Bonn <jonas@southpole.se> Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> Cc: Stafford Horne <shorne@gmail.com> Cc: linux-openrisc@vger.kernel.org Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com> Cc: Helge Deller <deller@gmx.de> Cc: linux-parisc@vger.kernel.org Cc: Paul Walmsley <paul.walmsley@sifive.com> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Albert Ou <aou@eecs.berkeley.edu> Cc: linux-riscv@lists.infradead.org Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Rich Felker <dalias@libc.org> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Cc: linux-sh@vger.kernel.org Cc: "David S. Miller" <davem@davemloft.net> Cc: sparclinux@vger.kernel.org Cc: Richard Weinberger <richard@nod.at> Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com> Cc: Johannes Berg <johannes@sipsolutions.net> Cc: linux-um@lists.infradead.org Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: Borislav Petkov <bp@alien8.de> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: x86@kernel.org Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Kevin Hilman <khilman@baylibre.com> Cc: Frederic Weisbecker <frederic@kernel.org> Signed-off-by: Nicholas Piggin <npiggin@gmail.com> --- Hi, Could we tidy this? I don't know what tree it can go in, timers, sched, asm-generic, probably doesn't matter. The only thing this actually does is gate VIRT_CPU_ACCOUNTING_GEN and NO_HZ_FULL so if your arch has some other issue that requires this then the documentation needs to change. Any concerns from the archs? I.e., 32-bit that does *not* define HAVE_VIRT_CPU_ACCOUNTING_GEN which looks to be: arc hexagon loongarch 32-bit with SMP m68k microblaze mips 32-bit with SMP nios2 openrisc parisc 32-bit riscv 32-bit sh sparc 32-bit um 32-bit x86 32-bit Thanks, Nick -- arch/Kconfig | 11 ----------- arch/arm/Kconfig | 1 - arch/csky/Kconfig | 1 - arch/loongarch/Kconfig | 1 - arch/mips/Kconfig | 1 - arch/powerpc/Kconfig | 1 - arch/xtensa/Kconfig | 1 - init/Kconfig | 1 - kernel/time/Kconfig | 2 -- 9 files changed, 20 deletions(-)