public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC] [PATCH 0/3] Writeback livelock avoidance using page tags (v2)
@ 2010-02-11 23:06 Jan Kara
  2010-02-11 23:06 ` [PATCH 1/3] radix-tree: Implement function radix_tree_gang_tag_if_tagged Jan Kara
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Jan Kara @ 2010-02-11 23:06 UTC (permalink / raw)
  To: LKML; +Cc: Andrew Morton, npiggin, fengguang.wu


  Hi,

  the following two patches (the third one is just a debugging aid, not to be
merged) implement avoidance of livelock of write_cache_pages.  The idea is
simple: We tag patches that should be written in the beginning of
write_cache_pages and then write only tagged pages (see the patch for details).
Since last version, I've made tagging function faster as Andrew suggested and
also gave the patch more testing.
  The thing I've aimed at with this patch is a simplification of current
writeback code. Basically, with this patch I think we can just rip out all the
range_cyclic and nr_to_write (or other "fairness logic"). The rationalle is
following:
  What we want to achieve with fairness logic is that when a page is
dirtied, it gets written to disk within some reasonable time (like 30s or
so). We track dirty time on per-inode basis only because keeping it
per-page is simply too expensive. So in this setting fairness between
inodes really does not make any sence - why should be a page in a file
penalized and written later only because there are lots of other dirty
pages in the file? It is enough to make sure that we don't write one file
indefinitely when there are new dirty pages continuously created - and my
patch achieves that.
  Comments and suggestions for improvement are welcome!

								Honza

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2010-02-16 14:19 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-11 23:06 [RFC] [PATCH 0/3] Writeback livelock avoidance using page tags (v2) Jan Kara
2010-02-11 23:06 ` [PATCH 1/3] radix-tree: Implement function radix_tree_gang_tag_if_tagged Jan Kara
2010-02-15 16:01   ` Nick Piggin
2010-02-11 23:06 ` [PATCH 2/3] mm: Implement writeback livelock avoidance using page tagging Jan Kara
2010-02-12 19:39   ` Andrew Morton
2010-02-15 15:47     ` Jan Kara
2010-02-15 16:21       ` Nick Piggin
2010-02-15 16:24         ` Christoph Hellwig
2010-02-15 16:37           ` Nick Piggin
2010-02-15 19:57         ` Jan Kara
2010-02-16 14:19           ` Nick Piggin
2010-02-11 23:06 ` [PATCH 3/3] mm: Debugging of new livelock avoidance Jan Kara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox