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@xxxxxxxxxx> > Suggested-by: Alexei Starovoitov <ast@xxxxxxxxxx> > Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> > Cc: David Vernet <void@xxxxxxxxxxxxx> Reviewed-by: David Vernet <void@xxxxxxxxxxxxx>
Attachment:
signature.asc
Description: PGP signature