Re: [PATCH] genirq: reduce irqdebug bouncing cachelines

2021-04-14 Thread Cédric Le Goater
On 4/13/21 10:24 PM, Thomas Gleixner wrote: > On Tue, Apr 13 2021 at 14:16, Cédric Le Goater wrote: We could test irq_settings_no_debug() directly under handle_nested_irq() and handle_irq_event_percpu() to avoid calling note_interrupt(), just like we do for noirqdebug. >>> >>> We c

Re: [PATCH] genirq: reduce irqdebug bouncing cachelines

2021-04-13 Thread Thomas Gleixner
On Tue, Apr 13 2021 at 14:16, Cédric Le Goater wrote: >>> We could test irq_settings_no_debug() directly under handle_nested_irq() >>> and handle_irq_event_percpu() to avoid calling note_interrupt(), just >>> like we do for noirqdebug. >> >> We can do that, but then we should not just make it: >

Re: [PATCH] genirq: reduce irqdebug bouncing cachelines

2021-04-13 Thread Cédric Le Goater
Thomas, >> We could test irq_settings_no_debug() directly under handle_nested_irq() >> and handle_irq_event_percpu() to avoid calling note_interrupt(), just >> like we do for noirqdebug. > > We can do that, but then we should not just make it: > >if (!irqnodebug && !irq_settings_no_debug(d

Re: [PATCH] genirq: reduce irqdebug bouncing cachelines

2021-04-12 Thread Thomas Gleixner
Cédric, On Mon, Apr 12 2021 at 11:06, Cédric Le Goater wrote: > On 4/10/21 1:58 PM, Thomas Gleixner wrote: >> --- a/kernel/irq/spurious.c >> +++ b/kernel/irq/spurious.c >> @@ -274,7 +274,7 @@ void note_interrupt(struct irq_desc *des >> unsigned int irq; >> >> if (desc->istate & IRQS_PO

Re: [PATCH] genirq: reduce irqdebug bouncing cachelines

2021-04-12 Thread Cédric Le Goater
Hello, On 4/10/21 1:58 PM, Thomas Gleixner wrote: > Nicholas, > > On Fri, Apr 02 2021 at 23:20, Nicholas Piggin wrote: >> note_interrupt increments desc->irq_count for each interrupt even for >> percpu interrupt handlers, even when they are handled successfully. This >> causes cacheline bouncing

Re: [PATCH] genirq: reduce irqdebug bouncing cachelines

2021-04-10 Thread Thomas Gleixner
Nicholas, On Fri, Apr 02 2021 at 23:20, Nicholas Piggin wrote: > note_interrupt increments desc->irq_count for each interrupt even for > percpu interrupt handlers, even when they are handled successfully. This > causes cacheline bouncing and limits scalability. > > Instead of incrementing irq_coun

[PATCH] genirq: reduce irqdebug bouncing cachelines

2021-04-02 Thread Nicholas Piggin
note_interrupt increments desc->irq_count for each interrupt even for percpu interrupt handlers, even when they are handled successfully. This causes cacheline bouncing and limits scalability. Instead of incrementing irq_count every time, only start incrementing it after seeing an unhandled irq, w