Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1714693 > unrolled thread

[PATCH v2 00/12] genirq/irqchip: Effective affinity fixups

Started byMarc Zyngier <marc.zyngier@arm.com>
First post2017-08-18 10:40 +0200
Last post2017-08-18 11:10 +0200
Articles 5 on this page of 25 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v2 00/12] genirq/irqchip: Effective affinity fixups Marc Zyngier <marc.zyngier@arm.com> - 2017-08-18 10:40 +0200
    [PATCH v2 05/12] irqchip/gic-v3-its: Report that effective affinity is a single target Marc Zyngier <marc.zyngier@arm.com> - 2017-08-18 10:40 +0200
      [tip:irq/core] irqchip/gic-v3-its: Report that effective affinity  is a single target tip-bot for Marc Zyngier <tipbot@zytor.com> - 2017-08-18 11:10 +0200
    [PATCH v2 04/12] irqchip/gic-v3: Report that effective affinity is a single target Marc Zyngier <marc.zyngier@arm.com> - 2017-08-18 10:40 +0200
      [tip:irq/core] irqchip/gic-v3: Report that effective affinity is a  single target tip-bot for Marc Zyngier <tipbot@zytor.com> - 2017-08-18 11:10 +0200
    [PATCH v2 02/12] genirq/proc: Use the the accessor to report the effective affinity Marc Zyngier <marc.zyngier@arm.com> - 2017-08-18 10:40 +0200
      [tip:irq/core] genirq/proc: Use the the accessor to report the  effective affinity tip-bot for Marc Zyngier <tipbot@zytor.com> - 2017-08-18 11:10 +0200
    [PATCH v2 11/12] irqchip/mips-gic: Report that effective affinity is a single target Marc Zyngier <marc.zyngier@arm.com> - 2017-08-18 10:50 +0200
      [tip:irq/core] irqchip/mips-gic: Report that effective affinity is  a single target tip-bot for Marc Zyngier <tipbot@zytor.com> - 2017-08-18 11:10 +0200
    [PATCH v2 09/12] irqchip/metag-ext: Report that effective affinity is a single target Marc Zyngier <marc.zyngier@arm.com> - 2017-08-18 10:50 +0200
      [tip:irq/core] irqchip/metag-ext: Report that effective affinity is  a single target tip-bot for Marc Zyngier <tipbot@zytor.com> - 2017-08-18 11:10 +0200
    [PATCH v2 07/12] irqchip/bcm-6345-l1: Report that effective affinity is a single target Marc Zyngier <marc.zyngier@arm.com> - 2017-08-18 10:50 +0200
      [tip:irq/core] irqchip/bcm-6345-l1: Report that effective affinity  is a single target tip-bot for Marc Zyngier <tipbot@zytor.com> - 2017-08-18 11:10 +0200
    [PATCH v2 01/12] genirq: Restrict effective affinity to interrupts actually using it Marc Zyngier <marc.zyngier@arm.com> - 2017-08-18 10:50 +0200
      [tip:irq/core] genirq: Restrict effective affinity to interrupts  actually using it tip-bot for Marc Zyngier <tipbot@zytor.com> - 2017-08-18 11:10 +0200
    [PATCH v2 03/12] irqchip/gic: Report that effective affinity is a single target Marc Zyngier <marc.zyngier@arm.com> - 2017-08-18 10:50 +0200
      [tip:irq/core] irqchip/gic: Report that effective affinity is a  single target tip-bot for Marc Zyngier <tipbot@zytor.com> - 2017-08-18 11:10 +0200
    [PATCH v2 10/12] irqchip/hip04: Report that effective affinity is a single target Marc Zyngier <marc.zyngier@arm.com> - 2017-08-18 10:50 +0200
      [tip:irq/core] irqchip/hip04: Report that effective affinity is a  single target tip-bot for Marc Zyngier <tipbot@zytor.com> - 2017-08-18 11:10 +0200
    [PATCH v2 12/12] irqchip/xtensa-mx: Report that effective affinity is a single target Marc Zyngier <marc.zyngier@arm.com> - 2017-08-18 10:50 +0200
      [tip:irq/core] irqchip/xtensa-mx: Report that effective affinity is  a single target tip-bot for Marc Zyngier <tipbot@zytor.com> - 2017-08-18 11:10 +0200
    [PATCH v2 08/12] irqchip/bcm-7038-l1: Report that effective affinity is a single target Marc Zyngier <marc.zyngier@arm.com> - 2017-08-18 10:50 +0200
      [tip:irq/core] irqchip/bcm-7038-l1: Report that effective affinity  is a single target tip-bot for Marc Zyngier <tipbot@zytor.com> - 2017-08-18 11:10 +0200
    [PATCH v2 06/12] irqchip/armada-370-xp: Report that effective affinity is a single target Marc Zyngier <marc.zyngier@arm.com> - 2017-08-18 10:50 +0200
      [tip:irq/core] irqchip/armada-370-xp: Report that effective  affinity is a single target tip-bot for Marc Zyngier <tipbot@zytor.com> - 2017-08-18 11:10 +0200

Page 2 of 2 — ← Prev page 1 [2]


#1714735 — [tip:irq/core] irqchip/xtensa-mx: Report that effective affinity is a single target

Fromtip-bot for Marc Zyngier <tipbot@zytor.com>
Date2017-08-18 11:10 +0200
Subject[tip:irq/core] irqchip/xtensa-mx: Report that effective affinity is a single target
Message-ID<ufLs0-1qM-75@gated-at.bofh.it>
In reply to#1714714
Commit-ID:  500912121411e0175d44b69a7810ac6068e78326
Gitweb:     http://git.kernel.org/tip/500912121411e0175d44b69a7810ac6068e78326
Author:     Marc Zyngier <marc.zyngier@arm.com>
AuthorDate: Fri, 18 Aug 2017 09:39:25 +0100
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Fri, 18 Aug 2017 10:54:43 +0200

irqchip/xtensa-mx: Report that effective affinity is a single target

The xtensa-mx driver only targets a single CPU at a time, even if
the notional affinity is wider. Let's inform the core code
about this.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: Kevin Cernekee <cernekee@gmail.com>
Cc: Wei Xu <xuwei5@hisilicon.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Gregory Clement <gregory.clement@free-electrons.com>
Cc: Matt Redfearn <matt.redfearn@imgtec.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Link: http://lkml.kernel.org/r/20170818083925.10108-13-marc.zyngier@arm.com

---
 drivers/irqchip/Kconfig         | 1 +
 drivers/irqchip/irq-xtensa-mx.c | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index bca9a88..1139de9 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -223,6 +223,7 @@ config VERSATILE_FPGA_IRQ_NR
 config XTENSA_MX
 	bool
 	select IRQ_DOMAIN
+	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
 
 config XILINX_INTC
 	bool
diff --git a/drivers/irqchip/irq-xtensa-mx.c b/drivers/irqchip/irq-xtensa-mx.c
index 72a391e..a15a951 100644
--- a/drivers/irqchip/irq-xtensa-mx.c
+++ b/drivers/irqchip/irq-xtensa-mx.c
@@ -32,6 +32,7 @@ static int xtensa_mx_irq_map(struct irq_domain *d, unsigned int irq,
 		irq_set_status_flags(irq, IRQ_LEVEL);
 		return 0;
 	}
+	irqd_set_single_target(irq_desc_get_irq_data(irq_to_desc(irq)));
 	return xtensa_irq_map(d, irq, hw);
 }
 
@@ -121,9 +122,12 @@ static int xtensa_mx_irq_retrigger(struct irq_data *d)
 static int xtensa_mx_irq_set_affinity(struct irq_data *d,
 		const struct cpumask *dest, bool force)
 {
-	unsigned mask = 1u << cpumask_any_and(dest, cpu_online_mask);
+	int cpu = cpumask_any_and(dest, cpu_online_mask);
+	unsigned mask = 1u << cpu;
 
 	set_er(mask, MIROUT(d->hwirq - HW_IRQ_MX_BASE));
+	irq_data_update_effective_affinity(d, cpumask_of(cpu));
+
 	return 0;
 
 }

[toc] | [prev] | [next] | [standalone]


#1714716 — [PATCH v2 08/12] irqchip/bcm-7038-l1: Report that effective affinity is a single target

FromMarc Zyngier <marc.zyngier@arm.com>
Date2017-08-18 10:50 +0200
Subject[PATCH v2 08/12] irqchip/bcm-7038-l1: Report that effective affinity is a single target
Message-ID<ufL8D-13v-33@gated-at.bofh.it>
In reply to#1714693
The BCM 7038-L1 driver only targets a single CPU at a time, even if
the notional affinity is wider. Let's inform the core code
about this.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
---
 drivers/irqchip/Kconfig          | 1 +
 drivers/irqchip/irq-bcm7038-l1.c | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index b36a55d6833e..39bfa5b25b54 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -102,6 +102,7 @@ config BCM7038_L1_IRQ
 	bool
 	select GENERIC_IRQ_CHIP
 	select IRQ_DOMAIN
+	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
 
 config BCM7120_L2_IRQ
 	bool
diff --git a/drivers/irqchip/irq-bcm7038-l1.c b/drivers/irqchip/irq-bcm7038-l1.c
index c2662a1bfdd3..55cfb986225b 100644
--- a/drivers/irqchip/irq-bcm7038-l1.c
+++ b/drivers/irqchip/irq-bcm7038-l1.c
@@ -212,6 +212,8 @@ static int bcm7038_l1_set_affinity(struct irq_data *d,
 		__bcm7038_l1_unmask(d, first_cpu);
 
 	raw_spin_unlock_irqrestore(&intc->lock, flags);
+	irq_data_update_effective_affinity(d, cpumask_of(first_cpu));
+
 	return 0;
 }
 
@@ -299,6 +301,7 @@ static int bcm7038_l1_map(struct irq_domain *d, unsigned int virq,
 {
 	irq_set_chip_and_handler(virq, &bcm7038_l1_irq_chip, handle_level_irq);
 	irq_set_chip_data(virq, d->host_data);
+	irqd_set_single_target(irq_desc_get_irq_data(irq_to_desc(virq)));
 	return 0;
 }
 
-- 
2.11.0

[toc] | [prev] | [next] | [standalone]


#1714724 — [tip:irq/core] irqchip/bcm-7038-l1: Report that effective affinity is a single target

Fromtip-bot for Marc Zyngier <tipbot@zytor.com>
Date2017-08-18 11:10 +0200
Subject[tip:irq/core] irqchip/bcm-7038-l1: Report that effective affinity is a single target
Message-ID<ufLrY-1qM-21@gated-at.bofh.it>
In reply to#1714716
Commit-ID:  b8d9884ac6c2c5222ea4a2d23bf9bec613e8eacc
Gitweb:     http://git.kernel.org/tip/b8d9884ac6c2c5222ea4a2d23bf9bec613e8eacc
Author:     Marc Zyngier <marc.zyngier@arm.com>
AuthorDate: Fri, 18 Aug 2017 09:39:21 +0100
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Fri, 18 Aug 2017 10:54:42 +0200

irqchip/bcm-7038-l1: Report that effective affinity is a single target

The BCM 7038-L1 driver only targets a single CPU at a time, even if
the notional affinity is wider. Let's inform the core code
about this.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: Kevin Cernekee <cernekee@gmail.com>
Cc: Wei Xu <xuwei5@hisilicon.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Gregory Clement <gregory.clement@free-electrons.com>
Cc: Matt Redfearn <matt.redfearn@imgtec.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Link: http://lkml.kernel.org/r/20170818083925.10108-9-marc.zyngier@arm.com

---
 drivers/irqchip/Kconfig          | 1 +
 drivers/irqchip/irq-bcm7038-l1.c | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index b36a55d..39bfa5b 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -102,6 +102,7 @@ config BCM7038_L1_IRQ
 	bool
 	select GENERIC_IRQ_CHIP
 	select IRQ_DOMAIN
+	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
 
 config BCM7120_L2_IRQ
 	bool
diff --git a/drivers/irqchip/irq-bcm7038-l1.c b/drivers/irqchip/irq-bcm7038-l1.c
index c2662a1..55cfb98 100644
--- a/drivers/irqchip/irq-bcm7038-l1.c
+++ b/drivers/irqchip/irq-bcm7038-l1.c
@@ -212,6 +212,8 @@ static int bcm7038_l1_set_affinity(struct irq_data *d,
 		__bcm7038_l1_unmask(d, first_cpu);
 
 	raw_spin_unlock_irqrestore(&intc->lock, flags);
+	irq_data_update_effective_affinity(d, cpumask_of(first_cpu));
+
 	return 0;
 }
 
@@ -299,6 +301,7 @@ static int bcm7038_l1_map(struct irq_domain *d, unsigned int virq,
 {
 	irq_set_chip_and_handler(virq, &bcm7038_l1_irq_chip, handle_level_irq);
 	irq_set_chip_data(virq, d->host_data);
+	irqd_set_single_target(irq_desc_get_irq_data(irq_to_desc(virq)));
 	return 0;
 }
 

[toc] | [prev] | [next] | [standalone]


#1714718 — [PATCH v2 06/12] irqchip/armada-370-xp: Report that effective affinity is a single target

FromMarc Zyngier <marc.zyngier@arm.com>
Date2017-08-18 10:50 +0200
Subject[PATCH v2 06/12] irqchip/armada-370-xp: Report that effective affinity is a single target
Message-ID<ufL8D-13v-39@gated-at.bofh.it>
In reply to#1714693
The Armada 370 XP driver only targets a single CPU at a time, even if
the notional affinity is wider. Let's inform the core code
about this.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
---
 drivers/irqchip/Kconfig             | 1 +
 drivers/irqchip/irq-armada-370-xp.c | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index ce99c1ee6c7d..cd688777553c 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -66,6 +66,7 @@ config ARMADA_370_XP_IRQ
 	bool
 	select GENERIC_IRQ_CHIP
 	select PCI_MSI if PCI
+	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
 
 config ALPINE_MSI
 	bool
diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c
index b207b2c3aa55..eb815676c088 100644
--- a/drivers/irqchip/irq-armada-370-xp.c
+++ b/drivers/irqchip/irq-armada-370-xp.c
@@ -330,6 +330,8 @@ static int armada_xp_set_affinity(struct irq_data *d,
 	writel(reg, main_int_base + ARMADA_370_XP_INT_SOURCE_CTL(hwirq));
 	raw_spin_unlock(&irq_controller_lock);
 
+	irq_data_update_effective_affinity(d, cpumask_of(cpu));
+
 	return IRQ_SET_MASK_OK;
 }
 #endif
@@ -363,6 +365,7 @@ static int armada_370_xp_mpic_irq_map(struct irq_domain *h,
 	} else {
 		irq_set_chip_and_handler(virq, &armada_370_xp_irq_chip,
 					handle_level_irq);
+		irqd_set_single_target(irq_desc_get_irq_data(irq_to_desc(virq)));
 	}
 	irq_set_probe(virq);
 
-- 
2.11.0

[toc] | [prev] | [next] | [standalone]


#1714723 — [tip:irq/core] irqchip/armada-370-xp: Report that effective affinity is a single target

Fromtip-bot for Marc Zyngier <tipbot@zytor.com>
Date2017-08-18 11:10 +0200
Subject[tip:irq/core] irqchip/armada-370-xp: Report that effective affinity is a single target
Message-ID<ufLrX-1qM-9@gated-at.bofh.it>
In reply to#1714718
Commit-ID:  e31793a3e51137a910b827b18e532d6c1fa54514
Gitweb:     http://git.kernel.org/tip/e31793a3e51137a910b827b18e532d6c1fa54514
Author:     Marc Zyngier <marc.zyngier@arm.com>
AuthorDate: Fri, 18 Aug 2017 09:39:19 +0100
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Fri, 18 Aug 2017 10:54:41 +0200

irqchip/armada-370-xp: Report that effective affinity is a single target

The Armada 370 XP driver only targets a single CPU at a time, even if
the notional affinity is wider. Let's inform the core code
about this.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: Kevin Cernekee <cernekee@gmail.com>
Cc: Wei Xu <xuwei5@hisilicon.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Gregory Clement <gregory.clement@free-electrons.com>
Cc: Matt Redfearn <matt.redfearn@imgtec.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Link: http://lkml.kernel.org/r/20170818083925.10108-7-marc.zyngier@arm.com

---
 drivers/irqchip/Kconfig             | 1 +
 drivers/irqchip/irq-armada-370-xp.c | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index ce99c1e..cd68877 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -66,6 +66,7 @@ config ARMADA_370_XP_IRQ
 	bool
 	select GENERIC_IRQ_CHIP
 	select PCI_MSI if PCI
+	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
 
 config ALPINE_MSI
 	bool
diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c
index b207b2c..eb81567 100644
--- a/drivers/irqchip/irq-armada-370-xp.c
+++ b/drivers/irqchip/irq-armada-370-xp.c
@@ -330,6 +330,8 @@ static int armada_xp_set_affinity(struct irq_data *d,
 	writel(reg, main_int_base + ARMADA_370_XP_INT_SOURCE_CTL(hwirq));
 	raw_spin_unlock(&irq_controller_lock);
 
+	irq_data_update_effective_affinity(d, cpumask_of(cpu));
+
 	return IRQ_SET_MASK_OK;
 }
 #endif
@@ -363,6 +365,7 @@ static int armada_370_xp_mpic_irq_map(struct irq_domain *h,
 	} else {
 		irq_set_chip_and_handler(virq, &armada_370_xp_irq_chip,
 					handle_level_irq);
+		irqd_set_single_target(irq_desc_get_irq_data(irq_to_desc(virq)));
 	}
 	irq_set_probe(virq);
 

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | linux.kernel


csiph-web