Messages in this thread | | | From | Thomas Gleixner <> | Subject | Re: [PATCH 2/3] softirq: avoid spurious stalls due to need_resched() | Date | Fri, 03 Mar 2023 16:18:03 +0100 |
| |
Jakub!
On Fri, Mar 03 2023 at 14:30, Thomas Gleixner wrote: > On Thu, Dec 22 2022 at 14:12, Jakub Kicinski wrote: > But without the sched_clock() changes the actual defer time depends on > HZ and the point in time where limit is set. That means it ranges from 0 > to 1/HZ, i.e. the 2ms defer time ends up with close to 10ms on HZ=100 in > the worst case, which perhaps explains the 8ms+ stalls you are still > observing. Can you test with that sched_clock change applied, i.e. the > first two commits from > > git://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git core/softirq > > 59be25c466d9 ("softirq: Use sched_clock() based timeout") > bd5a5bd77009 ("softirq: Rewrite softirq processing loop") > > whether that makes a difference? Those two can be applied with some > minor polishing. The rest of that series is broken by f10020c97f4c > ("softirq: Allow early break").
WHile staring I noticed that the current jiffies based time limit handling has the exact same problem. For HZ=100 and HZ=250 MAX_SOFTIRQ_TIME resolves to 1 jiffy. So the window is between 0 and 1/HZ. Not really useful.
Thanks,
tglx
| |