Re: percpu irq APIs and perf

2015-12-11 Thread Marc Zyngier
Vineet, On 11/12/15 12:20, Vineet Gupta wrote: > Hi Marc, > > On Friday 11 December 2015 04:53 PM, Marc Zyngier wrote: >> On Fri, 11 Dec 2015 05:26:02 + >>> I think we can make percpu irq API a bit easier to use. >>> >>> (1) First thing which request_percpu_irq() does is check for >>> irq_set

Re: percpu irq APIs and perf

2015-12-11 Thread Vineet Gupta
Hi Marc, On Friday 11 December 2015 04:53 PM, Marc Zyngier wrote: > On Fri, 11 Dec 2015 05:26:02 + >> I think we can make percpu irq API a bit easier to use. >> >> (1) First thing which request_percpu_irq() does is check for >> irq_settings_is_per_cpu_devid(). Thus irq_set_percpu_devid() can b

Re: percpu irq APIs and perf

2015-12-11 Thread Marc Zyngier
On Fri, 11 Dec 2015 05:26:02 + Vineet Gupta wrote: Hi Vineet, > Hi Marc, > > On Thursday 10 December 2015 03:26 PM, Marc Zyngier wrote: > > Hi Vinnet, > > > > On 10/12/15 09:25, Vineet Gupta wrote: > >> Hi Marc / Daniel / Jason, > >> > >> I had a couple of questions about percpu irq API, ho

[PATCH 2/3] ARC: intc: No need to clear IRQ_NOAUTOEN

2015-12-11 Thread Vineet Gupta
arc_request_percpu_irq() is called by all cores to request/enable percpu irq. It has some "prep" calls needed by genirq: - setup percpu devid - disable IRQ_NOAUTOEN However given that enable_percpu_irq() is called enayways, latter can be avoided. We are now left with irq_set_percpu_devid() quir

[PATCH 3/3] ARCv2: perf: Ensure perf intr gets enabled on all cores

2015-12-11 Thread Vineet Gupta
This was the second perf intr issue perf sampling on multicore requires intr to be enabled on all cores. ARC perf probe code used helper arc_request_percpu_irq() which calls - request_percpu_irq() on core0 - enable_percpu_irq() on all all cores (including core0) genirq requires that request be

[PATCH 1/3] ARCv2: intc: Fix random perf irq disabling in SMP setup

2015-12-11 Thread Vineet Gupta
As part of fixing another perf issue, observed that after a perf run, the interrupt got disabled on one/more cores. | [ARCLinux]# cat /proc/interrupts | grep perf | 20:0 0 0 0 ARCv2 core Intc 20 ARC perf counters | | [ARCLinux]# perf record -c 2 /sbin/hackbench | Running

[PATCH 0/3] ARC perf interrpt fixes

2015-12-11 Thread Vineet Gupta
Hi Thomas, Marc, Peter Fixed a bunch of perf interrupt issues in ARC port. Apologies for extraneous CC. I think I'm doing the right thing here, and things start to work after these patches, but still running by domain experts to keep them in loop :-) Thx, -Vineet Vineet Gupta (3): ARCv2: intc:

Re: [PATCH v3 04/18] irqchip: add nps Internal and external irqchips

2015-12-11 Thread Vineet Gupta
On Tuesday 01 December 2015 06:59 PM, Marc Zyngier wrote: >> +static int nps400_irq_map(struct irq_domain *d, unsigned int irq, >> > +irq_hw_number_t hw) >> > +{ >> > + switch (irq) { >> > + case TIMER0_IRQ: >> > +#if defined(CONFIG_SMP) >> > + case IPI_IRQ: >> > +#endif >> >