From: Frederic Weisbecker <frederic@kernel.org> To: LKML <linux-kernel@vger.kernel.org> Cc: Frederic Weisbecker <frederic@kernel.org>, Sebastian Andrzej Siewior <bigeasy@linutronix.de>, Peter Zijlstra <peterz@infradead.org>, "David S . Miller" <davem@davemloft.net>, Linus Torvalds <torvalds@linux-foundation.org>, Mauro Carvalho Chehab <mchehab+samsung@kernel.org>, Thomas Gleixner <tglx@linutronix.de>, "Paul E . McKenney" <paulmck@linux.vnet.ibm.com>, Frederic Weisbecker <fweisbec@gmail.com>, Pavan Kondeti <pkondeti@codeaurora.org>, Ingo Molnar <mingo@kernel.org>, Joel Fernandes <joel@joelfernandes.org> Subject: [PATCH 17/37] arch/softirq: Rename softirq_pending fields to softirq_data Date: Thu, 28 Feb 2019 18:12:22 +0100 [thread overview] Message-ID: <20190228171242.32144-18-frederic@kernel.org> (raw) In-Reply-To: <20190228171242.32144-1-frederic@kernel.org> We are going to extend the softirq bits with an enabled vector mask. Provide the field with a more generic name to later layout the pending states on the lower bits and the enabled states on the higher bits. Reviewed-by: David S. Miller <davem@davemloft.net> Signed-off-by: Frederic Weisbecker <frederic@kernel.org> Cc: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Cc: Joel Fernandes <joel@joelfernandes.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Pavan Kondeti <pkondeti@codeaurora.org> Cc: Paul E . McKenney <paulmck@linux.vnet.ibm.com> Cc: David S . Miller <davem@davemloft.net> Cc: Ingo Molnar <mingo@kernel.org> Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> --- arch/arm/include/asm/hardirq.h | 2 +- arch/arm64/include/asm/hardirq.h | 2 +- arch/h8300/kernel/asm-offsets.c | 2 +- arch/ia64/include/asm/hardirq.h | 2 +- arch/ia64/include/asm/processor.h | 2 +- arch/m68k/include/asm/hardirq.h | 2 +- arch/m68k/kernel/asm-offsets.c | 2 +- arch/parisc/include/asm/hardirq.h | 2 +- arch/powerpc/include/asm/hardirq.h | 2 +- arch/s390/include/asm/hardirq.h | 6 +++--- arch/s390/include/asm/lowcore.h | 2 +- arch/sh/include/asm/hardirq.h | 2 +- arch/sparc/include/asm/cpudata_64.h | 2 +- arch/sparc/include/asm/hardirq_64.h | 4 ++-- arch/um/include/asm/hardirq.h | 2 +- arch/x86/include/asm/hardirq.h | 2 +- include/asm-generic/hardirq.h | 2 +- include/linux/interrupt.h | 10 +++++----- 18 files changed, 25 insertions(+), 25 deletions(-) diff --git a/arch/arm/include/asm/hardirq.h b/arch/arm/include/asm/hardirq.h index cba23eaa6072..e5b06dd41b88 100644 --- a/arch/arm/include/asm/hardirq.h +++ b/arch/arm/include/asm/hardirq.h @@ -9,7 +9,7 @@ #define NR_IPI 7 typedef struct { - unsigned int __softirq_pending; + unsigned int __softirq_data; #ifdef CONFIG_SMP unsigned int ipi_irqs[NR_IPI]; #endif diff --git a/arch/arm64/include/asm/hardirq.h b/arch/arm64/include/asm/hardirq.h index 1473fc2f7ab7..e9add887e2f2 100644 --- a/arch/arm64/include/asm/hardirq.h +++ b/arch/arm64/include/asm/hardirq.h @@ -23,7 +23,7 @@ #define NR_IPI 7 typedef struct { - unsigned int __softirq_pending; + unsigned int __softirq_data; unsigned int ipi_irqs[NR_IPI]; } ____cacheline_aligned irq_cpustat_t; diff --git a/arch/h8300/kernel/asm-offsets.c b/arch/h8300/kernel/asm-offsets.c index 85e60509f0a8..719d4cff704e 100644 --- a/arch/h8300/kernel/asm-offsets.c +++ b/arch/h8300/kernel/asm-offsets.c @@ -32,7 +32,7 @@ int main(void) /* offsets into the irq_cpustat_t struct */ DEFINE(CPUSTAT_SOFTIRQ_PENDING, offsetof(irq_cpustat_t, - __softirq_pending)); + __softirq_data)); /* offsets into the thread struct */ OFFSET(THREAD_KSP, thread_struct, ksp); diff --git a/arch/ia64/include/asm/hardirq.h b/arch/ia64/include/asm/hardirq.h index ccde7c2ba00f..004f6093a11a 100644 --- a/arch/ia64/include/asm/hardirq.h +++ b/arch/ia64/include/asm/hardirq.h @@ -13,7 +13,7 @@ #define __ARCH_IRQ_STAT 1 -#define local_softirq_pending_ref ia64_cpu_info.softirq_pending +#define local_softirq_data_ref ia64_cpu_info.softirq_data #include <linux/threads.h> #include <linux/irq.h> diff --git a/arch/ia64/include/asm/processor.h b/arch/ia64/include/asm/processor.h index c91ef98ed6bf..72a70c42b701 100644 --- a/arch/ia64/include/asm/processor.h +++ b/arch/ia64/include/asm/processor.h @@ -188,7 +188,7 @@ union ia64_rr { * state comes earlier: */ struct cpuinfo_ia64 { - unsigned int softirq_pending; + unsigned int softirq_data; unsigned long itm_delta; /* # of clock cycles between clock ticks */ unsigned long itm_next; /* interval timer mask value to use for next clock tick */ unsigned long nsec_per_cyc; /* (1000000000<<IA64_NSEC_PER_CYC_SHIFT)/itc_freq */ diff --git a/arch/m68k/include/asm/hardirq.h b/arch/m68k/include/asm/hardirq.h index 11793165445d..6ad364cc3799 100644 --- a/arch/m68k/include/asm/hardirq.h +++ b/arch/m68k/include/asm/hardirq.h @@ -15,7 +15,7 @@ static inline void ack_bad_irq(unsigned int irq) /* entry.S is sensitive to the offsets of these fields */ typedef struct { - unsigned int __softirq_pending; + unsigned int __softirq_data; } ____cacheline_aligned irq_cpustat_t; #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ diff --git a/arch/m68k/kernel/asm-offsets.c b/arch/m68k/kernel/asm-offsets.c index ccea355052ef..93b6bea52c8b 100644 --- a/arch/m68k/kernel/asm-offsets.c +++ b/arch/m68k/kernel/asm-offsets.c @@ -64,7 +64,7 @@ int main(void) #endif /* offsets into the irq_cpustat_t struct */ - DEFINE(CPUSTAT_SOFTIRQ_PENDING, offsetof(irq_cpustat_t, __softirq_pending)); + DEFINE(CPUSTAT_SOFTIRQ_PENDING, offsetof(irq_cpustat_t, __softirq_data)); /* signal defines */ DEFINE(LSIGSEGV, SIGSEGV); diff --git a/arch/parisc/include/asm/hardirq.h b/arch/parisc/include/asm/hardirq.h index 1a1235a9d533..28d8ceeab077 100644 --- a/arch/parisc/include/asm/hardirq.h +++ b/arch/parisc/include/asm/hardirq.h @@ -17,7 +17,7 @@ #endif typedef struct { - unsigned int __softirq_pending; + unsigned int __softirq_data; unsigned int kernel_stack_usage; unsigned int irq_stack_usage; #ifdef CONFIG_SMP diff --git a/arch/powerpc/include/asm/hardirq.h b/arch/powerpc/include/asm/hardirq.h index f1e9067bd5ac..d3a896b402da 100644 --- a/arch/powerpc/include/asm/hardirq.h +++ b/arch/powerpc/include/asm/hardirq.h @@ -6,7 +6,7 @@ #include <linux/irq.h> typedef struct { - unsigned int __softirq_pending; + unsigned int __softirq_data; unsigned int timer_irqs_event; unsigned int broadcast_irqs_event; unsigned int timer_irqs_others; diff --git a/arch/s390/include/asm/hardirq.h b/arch/s390/include/asm/hardirq.h index dfbc3c6c0674..e26325fe287d 100644 --- a/arch/s390/include/asm/hardirq.h +++ b/arch/s390/include/asm/hardirq.h @@ -13,9 +13,9 @@ #include <asm/lowcore.h> -#define local_softirq_pending() (S390_lowcore.softirq_pending) -#define set_softirq_pending(x) (S390_lowcore.softirq_pending = (x)) -#define or_softirq_pending(x) (S390_lowcore.softirq_pending |= (x)) +#define local_softirq_pending() (S390_lowcore.softirq_data) +#define set_softirq_pending(x) (S390_lowcore.softirq_data = (x)) +#define or_softirq_pending(x) (S390_lowcore.softirq_data |= (x)) #define __ARCH_IRQ_STAT #define __ARCH_HAS_DO_SOFTIRQ diff --git a/arch/s390/include/asm/lowcore.h b/arch/s390/include/asm/lowcore.h index cc0947e08b6f..0b6f519a38df 100644 --- a/arch/s390/include/asm/lowcore.h +++ b/arch/s390/include/asm/lowcore.h @@ -127,7 +127,7 @@ struct lowcore { /* SMP info area */ __u32 cpu_nr; /* 0x0398 */ - __u32 softirq_pending; /* 0x039c */ + __u32 softirq_data; /* 0x039c */ __u32 preempt_count; /* 0x03a0 */ __u32 spinlock_lockval; /* 0x03a4 */ __u32 spinlock_index; /* 0x03a8 */ diff --git a/arch/sh/include/asm/hardirq.h b/arch/sh/include/asm/hardirq.h index edaea3559a23..e364a63babd3 100644 --- a/arch/sh/include/asm/hardirq.h +++ b/arch/sh/include/asm/hardirq.h @@ -6,7 +6,7 @@ #include <linux/irq.h> typedef struct { - unsigned int __softirq_pending; + unsigned int __softirq_data; unsigned int __nmi_count; /* arch dependent */ } ____cacheline_aligned irq_cpustat_t; diff --git a/arch/sparc/include/asm/cpudata_64.h b/arch/sparc/include/asm/cpudata_64.h index 9c3fc03abe9a..9e52c6bf69b9 100644 --- a/arch/sparc/include/asm/cpudata_64.h +++ b/arch/sparc/include/asm/cpudata_64.h @@ -11,7 +11,7 @@ typedef struct { /* Dcache line 1 */ - unsigned int __softirq_pending; /* must be 1st, see rtrap.S */ + unsigned int __softirq_data; /* must be 1st, see rtrap.S */ unsigned int __nmi_count; unsigned long clock_tick; /* %tick's per second */ unsigned long __pad; diff --git a/arch/sparc/include/asm/hardirq_64.h b/arch/sparc/include/asm/hardirq_64.h index 75b92bfe04b5..8ff0458870e1 100644 --- a/arch/sparc/include/asm/hardirq_64.h +++ b/arch/sparc/include/asm/hardirq_64.h @@ -11,8 +11,8 @@ #define __ARCH_IRQ_STAT -#define local_softirq_pending_ref \ - __cpu_data.__softirq_pending +#define local_softirq_data_ref \ + __cpu_data.__softirq_data void ack_bad_irq(unsigned int irq); diff --git a/arch/um/include/asm/hardirq.h b/arch/um/include/asm/hardirq.h index b426796d26fd..96844938b92e 100644 --- a/arch/um/include/asm/hardirq.h +++ b/arch/um/include/asm/hardirq.h @@ -6,7 +6,7 @@ #include <linux/threads.h> typedef struct { - unsigned int __softirq_pending; + unsigned int __softirq_data; } ____cacheline_aligned irq_cpustat_t; #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ diff --git a/arch/x86/include/asm/hardirq.h b/arch/x86/include/asm/hardirq.h index a8e8e126b421..875f7de3b65b 100644 --- a/arch/x86/include/asm/hardirq.h +++ b/arch/x86/include/asm/hardirq.h @@ -5,7 +5,7 @@ #include <linux/threads.h> typedef struct { - unsigned int __softirq_pending; + unsigned int __softirq_data; #if IS_ENABLED(CONFIG_KVM_INTEL) u8 kvm_cpu_l1tf_flush_l1d; #endif diff --git a/include/asm-generic/hardirq.h b/include/asm-generic/hardirq.h index d14214dfc10b..4ea87b50a257 100644 --- a/include/asm-generic/hardirq.h +++ b/include/asm-generic/hardirq.h @@ -6,7 +6,7 @@ #include <linux/threads.h> typedef struct { - unsigned int __softirq_pending; + unsigned int __softirq_data; } ____cacheline_aligned irq_cpustat_t; #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index e871f361f1f1..a32bdd9bb103 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -449,13 +449,13 @@ extern bool force_irqthreads; #ifndef local_softirq_pending -#ifndef local_softirq_pending_ref -#define local_softirq_pending_ref irq_stat.__softirq_pending +#ifndef local_softirq_data_ref +#define local_softirq_data_ref irq_stat.__softirq_data #endif -#define local_softirq_pending() (__this_cpu_read(local_softirq_pending_ref)) -#define set_softirq_pending(x) (__this_cpu_write(local_softirq_pending_ref, (x))) -#define or_softirq_pending(x) (__this_cpu_or(local_softirq_pending_ref, (x))) +#define local_softirq_pending() (__this_cpu_read(local_softirq_data_ref)) +#define set_softirq_pending(x) (__this_cpu_write(local_softirq_data_ref, (x))) +#define or_softirq_pending(x) (__this_cpu_or(local_softirq_data_ref, (x))) #endif /* local_softirq_pending */ -- 2.21.0
next prev parent reply other threads:[~2019-02-28 17:13 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-02-28 17:12 [PATCH 00/37] softirq: Per vector masking v3 Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 01/37] locking/lockdep: Move valid_state() inside CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 02/37] locking/lockdep: Use expanded masks on find_usage_*() functions Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 03/37] locking/lockdep: Introduce struct lock_usage Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 04/37] locking/lockdep: Convert usage_mask to u64 Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 05/37] locking/lockdep: Introduce lock usage mask iterator Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 06/37] locking/lockdep: Test all incompatible scenario at once in check_irq_usage() Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 07/37] locking/lockdep: Prepare valid_state() to handle plain masks Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 08/37] locking/lockdep: Prepare check_usage_*() " Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 09/37] locking/lockdep: Prepare state_verbose() to handle all softirqs Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 10/37] locking/lockdep: Make mark_lock() fastpath to work with multiple usage at once Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 11/37] locking/lockdep: Save stack trace for each softirq vector involved Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 12/37] locking/lockdep: Report all usages on mark_lock() verbosity mode Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 13/37] softirq: Macrofy softirq vectors Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 14/37] locking/lockdep: Define per vector softirq lock usage states Frederic Weisbecker 2019-04-09 12:03 ` Peter Zijlstra 2019-02-28 17:12 ` [PATCH 15/37] softirq: Pass softirq vector number to lockdep on vector execution Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 16/37] x86: Revert "x86/irq: Demote irq_cpustat_t::__softirq_pending to u16" Frederic Weisbecker 2019-02-28 17:12 ` Frederic Weisbecker [this message] 2019-02-28 17:12 ` [PATCH 18/37] softirq: Normalize softirq_pending naming scheme Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 19/37] softirq: Convert softirq_pending_*() to set/clear mask scheme Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 20/37] softirq: Introduce disabled softirq vectors bits Frederic Weisbecker 2019-03-01 11:29 ` Sebastian Andrzej Siewior 2019-02-28 17:12 ` [PATCH 21/37] softirq: Rename _local_bh_enable() to local_bh_enable_no_softirq() Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 22/37] softirq: Move vectors bits to bottom_half.h Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 23/37] x86: Init softirq enabled field Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 24/37] parisc: " Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 25/37] powerpc: " Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 26/37] softirq: Init softirq enabled field for default irq_stat definition Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 27/37] softirq: Check enabled vectors before processing Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 28/37] softirq: Remove stale comment Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 29/37] softirq: Uninline !CONFIG_TRACE_IRQFLAGS __local_bh_disable_ip() Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 30/37] softirq: Prepare for mixing all/per-vector masking Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 31/37] softirq: Support per vector masking Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 32/37] locking/lockdep: Remove redundant softirqs on check Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 33/37] locking/lockdep: Update check_flags() according to new layout Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 34/37] locking/lockdep: Branch the new vec-finegrained softirq masking to lockdep Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 35/37] softirq: Allow to soft interrupt vector-specific masked contexts Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 36/37] locking: Introduce spin_[un]lock_bh_mask() Frederic Weisbecker 2019-02-28 17:12 ` [PATCH 37/37] net: Make softirq vector masking finegrained on release_sock() Frederic Weisbecker 2019-02-28 17:33 ` [PATCH 00/37] softirq: Per vector masking v3 Linus Torvalds 2019-03-01 3:45 ` Frederic Weisbecker 2019-03-01 16:51 ` Linus Torvalds 2019-03-08 15:30 ` Frederic Weisbecker
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190228171242.32144-18-frederic@kernel.org \ --to=frederic@kernel.org \ --cc=bigeasy@linutronix.de \ --cc=davem@davemloft.net \ --cc=fweisbec@gmail.com \ --cc=joel@joelfernandes.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mchehab+samsung@kernel.org \ --cc=mingo@kernel.org \ --cc=paulmck@linux.vnet.ibm.com \ --cc=peterz@infradead.org \ --cc=pkondeti@codeaurora.org \ --cc=tglx@linutronix.de \ --cc=torvalds@linux-foundation.org \ --subject='Re: [PATCH 17/37] arch/softirq: Rename softirq_pending fields to softirq_data' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).