Re: [PATCH 1/3] sched_ext: Take out ->priq and ->flags from scx_dsq_node

David Vernet
2024-07-09T12:24:57Z

[-- Attachment #1: Type: text/plain, Size: 1183 bytes --]

On Mon, Jul 08, 2024 at 02:40:22PM -1000, Tejun Heo wrote:
> 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>

Reviewed-by: David Vernet <void@manifault.com>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]