On Fri, Jun 28, 2024 at 4:13 PM Tejun Heo <tj@xxxxxxxxxx> wrote: > > Hello, again. > > On Fri, Jun 28, 2024 at 01:04:04PM -1000, Tejun Heo wrote: > ... > > Not a stupid question at all. It's just that all the existing interface is > > based on IDs. This is partly because there's not much the BPF code can do > > with the DSQ data structure and partly because DSQs are usually not accessed > > multiple times in sequence (ie. if the BPF code isn't going to look it up > > and hold it persistently, it's going to have to look it up each time > > anyway). > > > > The multiple lookups aren't the end of the world. They're all on a resizing > > hashtable, so lookups should be pretty low cost. It's just a little bit sad > > to look at. > > Just a bit of addition and a question. scx_bpf_consume_task() is maybe named > too generically and I have a hard time imagining it being useful outside > iteration loop. So, it does work out kinda neatly if we can tie the whole > thing (DSQ lookup, barrier seq) to the iterator. > > The reason why this becomes nasty is because I can't pass the pointer to the > iterator to a kfunc, so maybe allowing that can be a solution here too? > Sure, if that's the best way to go about this. > Thanks. > > -- > tejun