Messages in this thread | | | Subject | Re: [v4.1.10-rt10][PATCH 1/2] genirq: introduce new generic_handle_irq_rt_wa() api | From | Grygorii Strashko <> | Date | Thu, 5 Nov 2015 18:44:56 +0200 |
| |
Hi Thomas, Sebastian,
On 11/03/2015 10:18 PM, Sebastian Andrzej Siewior wrote: > On 11/03/2015 08:51 PM, Thomas Gleixner wrote: >>> where MAX_MSI_IRQS = 32 now, but potentially can be increased up to 256. >> >> And you really oversimplified the code above. The reality is: >> >> for (i = 0; i < MAX_MSI_CTRLS: i++) { >> u32 status = read_msi_ctrl(i); >> >> for_each_bit(status) >> handle_irq(); >> } >> >> So sure, the worst case here is MAX_MSI_CTRLS * 32, but if all >> possible 256 MSI interrupts are pending at the same time, you have >> other problems than that. > > With threaded interrupts we would have 256 invocations of > wake_up_process() so nothing should take ages. >
Thanks a lot for your time and comments - I'll follow your recommendations and use IRQF_NO_THREAD.
-- regards, -grygorii
| |