diff options
author | Tejun Heo <tj@kernel.org> | 2024-07-09 03:30:55 +0300 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2024-07-09 03:30:55 +0300 |
commit | d4af01c3731ff9c6e224d7183f8226a56d72b56c (patch) | |
tree | b572171f55eaad7f4114970e75f0a58e14f7cfc6 /tools | |
parent | e196c908f92795e76377d2392a16f9fd5d508a61 (diff) | |
download | linux-d4af01c3731ff9c6e224d7183f8226a56d72b56c.tar.xz |
sched_ext: Take out ->priq and ->flags from scx_dsq_node
struct scx_dsq_node contains two data structure nodes to link the containing
task to a DSQ and a flags field that is protected by the lock of the
associated DSQ. One reason why they are grouped into a struct is to use the
type independently as a cursor node when iterating tasks on a DSQ. However,
when iterating, the cursor only needs to be linked on the FIFO list and the
rb_node part ends up inflating the size of the iterator data structure
unnecessarily making it potentially too expensive to place it on stack.
Take ->priq and ->flags out of scx_dsq_node and put them in sched_ext_entity
as ->dsq_priq and ->dsq_flags, respectively. scx_dsq_node is renamed to
scx_dsq_list_node and the field names are renamed accordingly. This will
help implementing DSQ task iterator that can be allocated on stack.
No functional change intended.
Signed-off-by: Tejun Heo <tj@kernel.org>
Suggested-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Cc: David Vernet <void@manifault.com>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions