Re: CFQ I/O scheduler - per thread?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/31/07, Mulyadi Santosa <mulyadi.santosa@xxxxxxxxx> wrote:
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


Thanks for the reply Mulyadi. I did read somewhere that request queues
are maintained on a per thread basis. If that is true then the I/O
schedulers should be fair on a per thread basis rather than on a per
process basis.

Can someone please confirm if the request queues are maintained on a
per thread basis?

Thanks

Siddharth

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux