On 2025-11-18 10:12:56 [+0100], Oleksij Rempel wrote:
Hi Alexander,
Hi,
--- a/drivers/counter/interrupt-cnt.c +++ b/drivers/counter/interrupt-cnt.c @@ -229,8 +229,7 @@ static int interrupt_cnt_probe(struct platform_device *pdev) irq_set_status_flags(priv->irq, IRQ_NOAUTOEN); ret = devm_request_irq(dev, priv->irq, interrupt_cnt_isr,
IRQF_TRIGGER_RISING | IRQF_NO_THREAD,dev_name(dev), counter);
if (ret) return ret;IRQF_TRIGGER_RISING, dev_name(dev), counter);Hm, I guess it will break the requirement to handle at least 10kHz interrupts. May be we should move only counter_push_event() to the thread? or using delayed worker?
IRQF_NO_THREAD only prohibits threading of interrupts on !RT if threadirqs was specified on the boot command line. This should not effect you general use case. As the threaded interrupt runs as SCHED_FIFO-50 it will be preferred over any SCHED_OTHER so it still should the most prefer task in the system. 10kHz interrupt sounds like one interrupt every 100us. This sounds like a lot if the CPU is also doing other things. Anyway.
Right now I do not have needed system for testing to come with better proposal.
Best Regards, Oleksij
Sebastian