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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <460218D2.40701@hitachi.com>
Date:	Thu, 22 Mar 2007 14:49:06 +0900
From:	Tomoki Sekiyama <tomoki.sekiyama.qu@...achi.com>
To:	Bill Davidsen <davidsen@....com>,
	Andrew Morton <akpm@...ux-foundation.org>
Cc:	linux-kernel@...r.kernel.org, yumiko.sugita.yf@...achi.com,
	masami.hiramatsu.pt@...achi.com, hidehiro.kawai.ez@...achi.com,
	yuji.kakutani.uw@...achi.com, soshima@...hat.com, haoki@...hat.com,
	kamezawa.hiroyu@...fujitsu.com, nikita@...sterfs.com,
	leroy.vanlogchem@...elft.nl
Subject: Re: [PATCH 0/3] VM throttling: avoid blocking occasional writers

Hi,

Thanks for your comments.
I'm sorry for my late reply.

Bill Davidsen wrote:
 > Andrew Morton wrote:
 >>> On Wed, 14 Mar 2007 21:42:46 +0900 Tomoki Sekiyama
 >>> <tomoki.sekiyama.qu@...achi.com> wrote:
 >>>
 >>> ...
 >>>
 >>>
 >>> -Solution:
 >>>
 >>> I consider that all of the dirty pages for the disk have been written
 >>> back and that the disk is clean if a process cannot write 'write_chunk'
 >>> pages in balance_dirty_pages().
 >>>
 >>> To avoid using up the free memory with dirty pages by passing blocking,
 >>> this patchset adds a new threshold named vm.dirty_limit_ratio to sysctl.
 >>>
 >>> It modifies balance_dirty_pages() not to block when the amount of
 >>> Dirty+Writeback is less than vm.dirty_limit_ratio percent of the memory.
 >>> In the other cases, writers are throttled as current Linux does.
 >>>
 >>>
 >>> In this patchset, vm.dirty_limit_ratio, instead of vm.dirty_ratio, is
 >>> used as the clamping level of Dirty+Writeback. And, vm.dirty_ratio is
 >>> used as the level at which a writers will itself start writeback of the
 >>> dirty pages.
 >>
 >> Might be a reasonable solution - let's see what Peter comes up with too.
 >>
 >> Comments on the patch:
 >>
 >> - Please don't VM_DIRTY_LIMIT_RATIO: just use CTL_UNNUMBERED and leave
 >>   sysctl.h alone.
 >>
 >> - The 40% default is already too high.  Let's set this new upper limit to
 >>   40% and decrease he non-blocking ratio.
 >>
 >> - Please update the procfs documentation in ./Docmentation/

OK, I'm going to fix them and repost the patchset.


 >> - I wonder if dirty_limit_ratio is the best name we could choose.
 >> vm_dirty_blocking_ratio, perhaps?  Dunno.
 >>
 > I don't like it, but I dislike it less than "dirty_limit_ratio" I guess.
 > It would probably break things to change it now, including my
 > sysctl.conf on a number of systems  :-(

I'm wondering which interface is preferred...

1) Just rename "dirty_limit_ratio" to "dirty_blocking_ratio."
    Those who had been changing dirty_ratio should additionally modify
    dirty_blocking_ratio in order to determine the upper limit of dirty pages.

2) Change "dirty_ratio" to a vector, consists of 2 values;
    {blocking ratio, writeback starting ratio}.
    For example, to change the both values:
      # echo 40 35 > /proc/sys/vm/dirty_ratio
    And to change only the first one:
      # echo 20 > /proc/sys/vm/dirty_ratio
    In the latter way the writeback starting ratio is regarded as the same as the
    blocking ratio if the writeback starting ratio is smaller. And then, the kernel behaves
    similarly as the current kernel.

3) Use "dirty_ratio" as the blocking ratio. And add
    "start_writeback_ratio", and start writeback at
    start_writeback_ratio(default:90) * dirty_ratio / 100 [%].
    In this way, specifying blocking ratio can be done in the same way as
    current kernel, but high/low watermark algorithm is enabled.


Regards,
-- 
Tomoki Sekiyama
Hitachi, Ltd., Systems Development Laboratory

-
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