[PATCH 00/20] rcu/context-tracking: Merge RCU eqs-dynticks counter to context tracking v4

Frederic Weisbecker posted 20 patches 3 years, 10 months ago
.../RCU/Design/Requirements/Requirements.rst       |  10 +-
Documentation/RCU/stallwarn.rst                    |   6 +-
.../time/context-tracking/arch-support.txt         |   6 +-
MAINTAINERS                                        |   1 +
arch/Kconfig                                       |   8 +-
arch/arm/Kconfig                                   |   2 +-
arch/arm/kernel/entry-common.S                     |   4 +-
arch/arm/kernel/entry-header.S                     |  12 +-
arch/arm/mach-imx/cpuidle-imx6q.c                  |   5 +-
arch/arm64/Kconfig                                 |   2 +-
arch/arm64/kernel/entry-common.c                   |  14 +-
arch/csky/Kconfig                                  |   2 +-
arch/csky/kernel/entry.S                           |   8 +-
arch/mips/Kconfig                                  |   2 +-
arch/powerpc/Kconfig                               |   2 +-
arch/powerpc/include/asm/context_tracking.h        |   2 +-
arch/riscv/Kconfig                                 |   2 +-
arch/riscv/kernel/entry.S                          |  12 +-
arch/sparc/Kconfig                                 |   2 +-
arch/sparc/kernel/rtrap_64.S                       |   2 +-
arch/x86/Kconfig                                   |   4 +-
arch/x86/mm/fault.c                                |   2 +-
drivers/acpi/processor_idle.c                      |   5 +-
drivers/cpuidle/cpuidle-psci.c                     |   8 +-
drivers/cpuidle/cpuidle-riscv-sbi.c                |   8 +-
drivers/cpuidle/cpuidle.c                          |   9 +-
include/linux/context_tracking.h                   |  95 ++--
include/linux/context_tracking_irq.h               |  21 +
include/linux/context_tracking_state.h             | 109 +++-
include/linux/entry-common.h                       |  10 +-
include/linux/hardirq.h                            |  12 +-
include/linux/rcupdate.h                           |  17 +-
include/linux/rcutiny.h                            |   6 -
include/linux/rcutree.h                            |   9 +-
include/linux/tracepoint.h                         |   4 +-
init/Kconfig                                       |   4 +-
kernel/context_tracking.c                          | 618 +++++++++++++++++++--
kernel/cpu_pm.c                                    |   8 +-
kernel/entry/common.c                              |  16 +-
kernel/extable.c                                   |   4 +-
kernel/locking/lockdep.c                           |   2 +-
kernel/rcu/Kconfig                                 |   2 +
kernel/rcu/rcu.h                                   |   4 -
kernel/rcu/tree.c                                  | 476 +---------------
kernel/rcu/tree.h                                  |   8 -
kernel/rcu/tree_exp.h                              |   2 +-
kernel/rcu/tree_plugin.h                           |  38 +-
kernel/rcu/tree_stall.h                            |   8 +-
kernel/rcu/update.c                                |   2 +-
kernel/sched/core.c                                |   2 +-
kernel/sched/idle.c                                |  10 +-
kernel/sched/sched.h                               |   1 +
kernel/softirq.c                                   |   4 +-
kernel/time/Kconfig                                |  37 +-
kernel/time/tick-sched.c                           |   2 +-
kernel/trace/trace.c                               |   8 +-
56 files changed, 923 insertions(+), 756 deletions(-)
[PATCH 00/20] rcu/context-tracking: Merge RCU eqs-dynticks counter to context tracking v4
Posted by Frederic Weisbecker 3 years, 10 months ago
Hi,

No big issue reported or reviewed in the last take.
Changes in this version:

* Dropped noinstr related "fixes" as it's worth a whole patchset of its
  own. Just comment on why some context tracking functions are not going
  to be fixed (because they are obsolete).

* Fixed several build splats reported by the kernel test robot

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
	rcu/context-tracking-v4

HEAD: 82e4a1998ec3a58b865249c6015d3ee9b94e3004

Thanks,
	Frederic
---

Frederic Weisbecker (20):
      context_tracking: Remove unused context_tracking_in_user()
      context_tracking: Add a note about noinstr VS unsafe context tracking functions
      context_tracking: Rename __context_tracking_enter/exit() to __ct_user_enter/exit()
      context_tracking: Rename context_tracking_user_enter/exit() to user_enter/exit_callable()
      context_tracking: Rename context_tracking_enter/exit() to ct_user_enter/exit()
      context_tracking: Rename context_tracking_cpu_set() to ct_cpu_track_user()
      context_tracking: Split user tracking Kconfig
      context_tracking: Take idle eqs entrypoints over RCU
      context_tracking: Take IRQ eqs entrypoints over RCU
      context_tracking: Take NMI eqs entrypoints over RCU
      rcu/context-tracking: Remove rcu_irq_enter/exit()
      rcu/context_tracking: Move dynticks counter to context tracking
      rcu/context_tracking: Move dynticks_nesting to context tracking
      rcu/context_tracking: Move dynticks_nmi_nesting to context tracking
      rcu/context-tracking: Move deferred nocb resched to context tracking
      rcu/context-tracking: Move RCU-dynticks internal functions to context_tracking
      rcu/context-tracking: Remove unused and/or unecessary middle functions
      context_tracking: Convert state to atomic_t
      rcu/context_tracking: Merge dynticks counter and context tracking states
      MAINTAINERS: Add Paul as context tracking maintainer


 .../RCU/Design/Requirements/Requirements.rst       |  10 +-
 Documentation/RCU/stallwarn.rst                    |   6 +-
 .../time/context-tracking/arch-support.txt         |   6 +-
 MAINTAINERS                                        |   1 +
 arch/Kconfig                                       |   8 +-
 arch/arm/Kconfig                                   |   2 +-
 arch/arm/kernel/entry-common.S                     |   4 +-
 arch/arm/kernel/entry-header.S                     |  12 +-
 arch/arm/mach-imx/cpuidle-imx6q.c                  |   5 +-
 arch/arm64/Kconfig                                 |   2 +-
 arch/arm64/kernel/entry-common.c                   |  14 +-
 arch/csky/Kconfig                                  |   2 +-
 arch/csky/kernel/entry.S                           |   8 +-
 arch/mips/Kconfig                                  |   2 +-
 arch/powerpc/Kconfig                               |   2 +-
 arch/powerpc/include/asm/context_tracking.h        |   2 +-
 arch/riscv/Kconfig                                 |   2 +-
 arch/riscv/kernel/entry.S                          |  12 +-
 arch/sparc/Kconfig                                 |   2 +-
 arch/sparc/kernel/rtrap_64.S                       |   2 +-
 arch/x86/Kconfig                                   |   4 +-
 arch/x86/mm/fault.c                                |   2 +-
 drivers/acpi/processor_idle.c                      |   5 +-
 drivers/cpuidle/cpuidle-psci.c                     |   8 +-
 drivers/cpuidle/cpuidle-riscv-sbi.c                |   8 +-
 drivers/cpuidle/cpuidle.c                          |   9 +-
 include/linux/context_tracking.h                   |  95 ++--
 include/linux/context_tracking_irq.h               |  21 +
 include/linux/context_tracking_state.h             | 109 +++-
 include/linux/entry-common.h                       |  10 +-
 include/linux/hardirq.h                            |  12 +-
 include/linux/rcupdate.h                           |  17 +-
 include/linux/rcutiny.h                            |   6 -
 include/linux/rcutree.h                            |   9 +-
 include/linux/tracepoint.h                         |   4 +-
 init/Kconfig                                       |   4 +-
 kernel/context_tracking.c                          | 618 +++++++++++++++++++--
 kernel/cpu_pm.c                                    |   8 +-
 kernel/entry/common.c                              |  16 +-
 kernel/extable.c                                   |   4 +-
 kernel/locking/lockdep.c                           |   2 +-
 kernel/rcu/Kconfig                                 |   2 +
 kernel/rcu/rcu.h                                   |   4 -
 kernel/rcu/tree.c                                  | 476 +---------------
 kernel/rcu/tree.h                                  |   8 -
 kernel/rcu/tree_exp.h                              |   2 +-
 kernel/rcu/tree_plugin.h                           |  38 +-
 kernel/rcu/tree_stall.h                            |   8 +-
 kernel/rcu/update.c                                |   2 +-
 kernel/sched/core.c                                |   2 +-
 kernel/sched/idle.c                                |  10 +-
 kernel/sched/sched.h                               |   1 +
 kernel/softirq.c                                   |   4 +-
 kernel/time/Kconfig                                |  37 +-
 kernel/time/tick-sched.c                           |   2 +-
 kernel/trace/trace.c                               |   8 +-
 56 files changed, 923 insertions(+), 756 deletions(-)
Re: [PATCH 00/20] rcu/context-tracking: Merge RCU eqs-dynticks counter to context tracking v4
Posted by nicolas saenz julienne 3 years, 10 months ago
On Wed, 2022-06-08 at 16:40 +0200, Frederic Weisbecker wrote:
> Hi,
> 
> No big issue reported or reviewed in the last take.
> Changes in this version:
> 
> * Dropped noinstr related "fixes" as it's worth a whole patchset of its
>   own. Just comment on why some context tracking functions are not going
>   to be fixed (because they are obsolete).
> 
> * Fixed several build splats reported by the kernel test robot
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
> 	rcu/context-tracking-v4
> 
> HEAD: 82e4a1998ec3a58b865249c6015d3ee9b94e3004
> 
> Thanks,
> 	Frederic
> ---

For the whole series:

Reviewed-by: Nicolas Saenz Julienne <nsaenzju@redhat.com>
Tested-by: Nicolas Saenz Julienne <nsaenzju@redhat.com>

Regards,
Nicolas
Re: [PATCH 00/20] rcu/context-tracking: Merge RCU eqs-dynticks counter to context tracking v4
Posted by Paul E. McKenney 3 years, 10 months ago
On Mon, Jun 20, 2022 at 12:14:32PM +0200, nicolas saenz julienne wrote:
> On Wed, 2022-06-08 at 16:40 +0200, Frederic Weisbecker wrote:
> > Hi,
> > 
> > No big issue reported or reviewed in the last take.
> > Changes in this version:
> > 
> > * Dropped noinstr related "fixes" as it's worth a whole patchset of its
> >   own. Just comment on why some context tracking functions are not going
> >   to be fixed (because they are obsolete).
> > 
> > * Fixed several build splats reported by the kernel test robot
> > 
> > git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
> > 	rcu/context-tracking-v4
> > 
> > HEAD: 82e4a1998ec3a58b865249c6015d3ee9b94e3004
> > 
> > Thanks,
> > 	Frederic
> > ---
> 
> For the whole series:
> 
> Reviewed-by: Nicolas Saenz Julienne <nsaenzju@redhat.com>
> Tested-by: Nicolas Saenz Julienne <nsaenzju@redhat.com>

Applied, and thank you for testing!

							Thanx, Paul