User: Password:
Subscribe / Log in / New account

Flushing out pdflush

Flushing out pdflush

Posted Apr 5, 2009 18:27 UTC (Sun) by nix (subscriber, #2304)
In reply to: Flushing out pdflush by i3839
Parent article: Flushing out pdflush

Most block devices are never or very very rarely written to (e.g. one
containing only /usr is only going to be written to during a package
upgrade). Why devote a thread to it which will be idle nearly all the

(Log in to post comments)

Flushing out pdflush

Posted Apr 6, 2009 11:44 UTC (Mon) by i3839 (guest, #31386) [Link]

The thread is only created when needed and exists after a time-out, IIRC.

Flushing out pdflush

Posted Apr 6, 2009 19:31 UTC (Mon) by nix (subscriber, #2304) [Link]

So it is, in effect, a thread pool. Excellent.

Flushing out pdflush

Posted Apr 17, 2009 12:41 UTC (Fri) by axboe (subscriber, #904) [Link]

Yes that is correct, threads are created on-demand and exit if they have been idle for some period of time.

It's mostly to satisfy the people getting annoyed when looking at the ps output. An idle kernel thread is essentially free. Of course if you have 10000 logical disks in your system, you'll probably appreciate not spending memory on the threads at least.

Flushing out pdflush

Posted Apr 17, 2009 22:29 UTC (Fri) by nix (subscriber, #2304) [Link]

Last I heard the set of PIDs was limited to 32767 by default, and having
huge numbers of even idle processes tended to slow down the PID allocator

(Also, kernel threads still need a kernel stack: that's 8Kb of memory you
won't see again. Not much by modern standard perhaps...)

Flushing out pdflush

Posted Apr 17, 2009 23:43 UTC (Fri) by njs (guest, #40338) [Link]

The PID allocator supposedly got fixed a few years ago, around when NPTL landed. (Here's an interview with Ingo that confirms this: And if the kernel needed thousands of threads for some reason, presumably it could tweak the kernel.pid_max sysctl itself...

But anyway, yeah, for ordinary systems the memory usage matters a little but not much.

Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds