Re: pdflush deprecated by per-bdi writeout

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

 



Hi...

On Mon, Oct 19, 2009 at 12:57 AM, Joel Fernandes <agnel.joel@xxxxxxxxx> wrote:
> Hi Rik, Peter,
>
> Thanks for sharing! Peter, I think spindle is used just as another
> word for slow device which I guess could be any other type of slow
> storage medium like iSCSI or loop over NFS.

In some degree, I agree with that.

However, specificly to block device like hard disk, where things could
made difference i.e doing read back and forth would slow things down
instead of keep moving the disk head forward, I think what Jens Axboe
mean is specific to hard disk with disk head (pleaeCMIIW if I use
wrong term)

> But I have a question with the per-bdi writeout, how does it solve the
> problem of request starvation, Wont the writeback threads be starved
> anyway if users kept writing to the device?

IMO yes, but "starved" better :) Not sure if I write it correctly, but
here is my understanding:

say you have 4 pdflush threads, competing to write to a disk. All are
busy, so you can say all are quite starved. But the writing process
(even though it's using async style) doesn't know about it. All it
knows, it sucessfully put the write request at the head of the queue,
but somehow something is starving it. Not to mention the context
switching cost between pdflush threads.

With per-bdi flusher, the problem is at least reduced. Now all request
submitter are concentrated to one worker. This worker will arrange the
queue the best it can, and the submitter IMO will know whether it is
coming late (and consequently served after its predecessor) or it is
coming when the queue is relatively empty.

And, no more context switching between pdflush just to find all the
threads are busy.

With my lousy knowledge about block device, that's the best I can share :)

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at 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