Hi
I wanted to know if the CFQ scheduler maintains queues per threads.
From the
source code it does not seem so and also 'ionice' only allows setting
priorities on a per process basis. Am I right? If so, do we know if the
implementation would be extended on a per thread basis?
Maybe it's more like an idea rather than an answer. If those queues are
somehow related to the user space memory area, then it could be a
trouble to find out who owns that memory space, especially realizing
that threads (the one created with clone(CLONE_VM ) or clone(
CLONE_THREADS)) share same mm_struct. So, creating ionice as per process
basis is the easiest work to accomplish...
For supporting something like per thread queue, I think the kernel folks
need to create an API to explicitly create and maintain one. In this
queue, it could be stated that this pipe or queue belongs to certain
PID. Perhaps something similar to netchannel.
regards,
Mulyadi
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/