Messages in this thread | | | Date | Mon, 14 Sep 2020 16:14:37 +0200 | From | peterz@infradea ... | Subject | Re: [PATCH V6 1/1] Softirq:avoid large sched delay from the pending softirqs |
| |
On Mon, Sep 14, 2020 at 12:27:35PM +0100, Qais Yousef wrote: > What does PREEMPT_RT do to deal with softirqs delays?
Makes the lot preemptible, you found the patch below.
> I have tried playing with enabling threadirqs, which AFAIU should make softirqs > preemptible, right?
Not yet,..
> I realize this patch is still missing from mainline at least: > > https://gitlab.com/kalilinux/packages/linux/blob/a17bad0db9da44cd73f594794a58cc5646393b13/debian/patches-rt/softirq-Add-preemptible-softirq.patch > > Would this be a heavy handed approach to make available for non PREEMPT_RT > kernels?
Not sure, I suspect it relies on migrate_disable(), which is preempt_disable() on !RT and then we're back to square one.
> I only worry about potential NET_RX throughput issues. Which by the way is > protected with preempt_disable currently in mainline. See netif_rx_ni().
So preempt_disable() isn't necessairily a problem, you just want it to terminate soonish after need_resched() becomes true. Also, I'm having a wee problem getting from net_rx_action() to netif_rx_ni()
> I am guessing here, but I suspect this NET_RX softirq is one source of big > delays when network activity is high.
Well, one approach is to more agressively limit how long softirq processing can run. Current measures are very soft in that regard.
| |