Re: [PATCHSET sched_ext/for-6.16] sched_ext: Reduce usage of static_keys
From: Tejun Heo
Date: Wed Apr 09 2025 - 15:06:59 EST
On Tue, Apr 08, 2025 at 01:06:00PM -1000, Tejun Heo wrote:
> sched_ext uses static_keys to optimize branches on ops flags and which ops
> are implemented. Some of those branches aren't that hot and while others are
> hotter, they are unlikely to cause meaningful overhead difference given
> everything else that's going on. static_keys were used more because there
> was no reason not to use static_keys. However, the planned multiple
> hierarchical scheduler support won't work with global static_keys as these
> branches would have to be based on the specific ops instance.
>
> This patchset replaces static_key usages with tests on ops.flags and a
> bitmap tracking which operation is implemented. I couldn't see performance
> difference in numerous hackbench runs on a Ryzen 3990x machine before and
> after the patchset.
>
> This patchset contains the following five patches:
>
> 0001-sched_ext-Indentation-updates.patch
> 0002-sched_ext-Remove-scx_ops_enq_-static_keys.patch
> 0003-sched_ext-Remove-scx_ops_cpu_preempt-static_key.patch
> 0004-sched_ext-Remove-scx_ops_allow_queued_wakeup-static_.patch
> 0005-sched_ext-Make-scx_has_op-a-bitmap.patch
Applied to sched_ext/for-6.16.
Thanks.
--
tejun