Re: [PATCH] 498+ days uptime

Stephen C. Tweedie (sct@redhat.com)
Fri, 28 Aug 1998 10:35:36 +0100


Hi,

On 27 Aug 1998 00:49:55 +0200, Zlatko Calusic <Zlatko.Calusic@CARNet.hr>
said:

> I thought it was done this way (update running in userspace) so to
> have control how often buffers get flushed. But, I believe bdflush
> program had this functionality, and it is long gone (as you correctly
> noticed).

update(8) _is_ the old bdflush program. :)

There are two entirely separate jobs being done. One is to flush all
buffers which are beyond their dirty timelimit: that job is done by the
bdflush syscall called by update/bdflush every 5 seconds. The second
job is to trickle back some dirty buffers to disk if we are getting
short of clean buffer space in memory.

These are completely different jobs. They select which buffers and how
many buffers to write based on different criteria, and they are woken up
by different events. That's why we have two daemons. The fact that one
spends its wait time in user mode and one spends its time in kernel mode
is irrelevant; even if they were both kernel threads we'd still have two
separate jobs needing done.

> I'm crossposting this mail to linux-mm where some clever MM people can
> be found. Hopefully we can get an explanation why do we still need
> update.

Because kflushd does not do the job which update needs to do. It does a
different job.

--Stephen

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html