lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <170fa0d20803191754j2e4e5fcdg121c776d18c53dcb@mail.gmail.com>
Date:	Wed, 19 Mar 2008 20:54:11 -0400
From:	"Mike Snitzer" <snitzer@...il.com>
To:	"Daniel Phillips" <phillips@...nq.net>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: [ANNOUNCE] ddtree: A git kernel tree for storage servers

On Wed, Mar 19, 2008 at 8:07 PM, Mike Snitzer <snitzer@...il.com> wrote:

>  I typically use dm-linear devices built on MD (raid1 w/ one member
>  being remote via nbd).  The per-bdi dirty writeback accounting has
>  proven useful but I've recently hit a nasty livelock when the bdi
>  accounting for a device no longer enables writeback progress to be
>  made, e.g:
>
>  BdiWriteback:            0 kB
>  BdiReclaimable:     321408 kB
>  BdiDirtyThresh:     316364 kB
>  DirtyThresh:        381284 kB
>  BackgroundThresh:   190640 kB
>
>  With an all too familiar trace like the following:
>  ..
>   [<ffffffff8044cda6>] io_schedule_timeout+0x4b/0x79
>   [<ffffffff80271371>] congestion_wait+0x66/0x80
>   [<ffffffff802457bd>] autoremove_wake_function+0x0/0x2e
>   [<ffffffff8026c64d>] balance_dirty_pages_ratelimited_nr+0x21d/0x2b1
>   [<ffffffff80268191>] generic_file_buffered_write+0x5f3/0x711
>
>  I'm _hoping_ your simple/elegant patch can enable me to drop my 2.6.22
>  per-bdi backport and all will be right with the world.

Turns out my writeback woes were actually in... writeback ;)

I had backported Fengweng Wu's writeback work from 2.6.24 to 2.6.22
with the following commits/patches:

fix time ordering of the per superblock inode lists:
6610a0bc8dcc120daa1d93807d470d5cbf777c39
9852a0e76cd9c89e71f84e784212fdd7a97ae93a
f57b9b7b4f68e1723ca99381dc10c8bc07d6df14
c986d1e2a460cbce79d631c51519ae82c778c6c5
1b43ef91d40190b16ba10218e66d5c2c4ba11de3
c6945e77e477103057b4a639b4b01596f5257861
65cb9b47e0ea568a7a38cce7773052a6ea093629
670e4def6ef5f44315d62748134e535b479c784f
2c1365791048e8aff42138ed5f6040b3c7824a69

fix periodic superblock dirty inode flushing:
0e0f4fc22ece8e593167eccbb1a4154565c11faa

remove pages_skipped accounting in __block_write_full_page():
1f7decf6d9f06dac008b8d66935c0c3b18e564f9

speed up writeback of big dirty files:
http://lkml.org/lkml/2008/1/17/49

Given all but the last lkml.org patch reference went into 2.6.24 I'll
revisit the impact these changes have on my writeback progress when I
move to 2.6.24+.

Mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ