Received: by 2002:a25:824b:0:0:0:0:0 with SMTP id d11csp1086697ybn; Wed, 25 Sep 2019 12:11:40 -0700 (PDT) X-Google-Smtp-Source: APXvYqz1ZWxm+hBrnaxOMlUcwv4IVPP5uPqCdWMx/9yybUfq4wGFTZirHrP9tSZ59GZEjJCyT0UF X-Received: by 2002:a50:9e08:: with SMTP id z8mr4816924ede.305.1569438700554; Wed, 25 Sep 2019 12:11:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569438700; cv=none; d=google.com; s=arc-20160816; b=pan/xL55h1rUa1bzynrjKy4ThYMncMAOUaGhMBQXGy1qRlKAst7+7xngRicBnDR0e9 AfI+19l2JABitznjDhY/YazEsN1/a1zAjVQfRkdUPB9JMb5ffMzFZ0GG/4TXPYEiA+hC QfbN1ed2+R220b4OTjRD7FIpzqTewzYdG8bZ00/nWc7bqy3wJwlUM6sIWKskpIZmgwAC gaO6A3Jfscgd7d2/R+YlMMVhMySnGmHNSU5oqkM2cIZznPNzImm8DpIlV32heVED81ZB dYuUlFsh2t2S7a87umaQdEh8b6DEa5HDuSgdjSQ9ftr8JRMjzrNmkFTGiUE2xn0WdLbd ZXCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=Cihsrcy+ZQVZz5JC0vGFiq3Z/PSPrpGVXhPvhqb+rOY=; b=NOLsgseoCI+9T1iXtUCv8sLWC+ypsPHnDPerZHtKphDfuvscM3T0fY9c5o4n5smovf WZgPGUiP5QusbRPU4afkmxmQNMmeuSsBdgX1nrPHZfbreugPVb9yShYZ765tOv+odms1 Nm0uVrCtjIj8HBIWYaBhZiXZb9bF3DUdphGFthliKSv9huHfmFob6W1ypsMCgJlf4Ipn v0cytEfyRijI9Z2aGb+Cl/VfajzXqNeOmDuALKB0N/HwIOKbhC+ZzdxMfxEAoF8GoULB 5I4B1pX/8SUVQM8JUMnJKp6gQ9yAwzXEwoq21VL577J0piVlDOi7JcD5VJ565yfvQT6E cF2Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=f5PeulYO; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w11si249574eji.160.2019.09.25.12.11.13; Wed, 25 Sep 2019 12:11:40 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=f5PeulYO; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2501963AbfIWOwu (ORCPT + 99 others); Mon, 23 Sep 2019 10:52:50 -0400 Received: from mail-qk1-f193.google.com ([209.85.222.193]:45458 "EHLO mail-qk1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2440127AbfIWOwu (ORCPT ); Mon, 23 Sep 2019 10:52:50 -0400 Received: by mail-qk1-f193.google.com with SMTP id z67so15646533qkb.12; Mon, 23 Sep 2019 07:52:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=Cihsrcy+ZQVZz5JC0vGFiq3Z/PSPrpGVXhPvhqb+rOY=; b=f5PeulYORxhz3WOQ1pPfWQefeKSMX3DPFUhK6IX+3ZFGl5J4YZs+OspShWQzSTKSva iMCdV8LoKrybDSHIBYC3Rfql3TW5h7dtClAKrcf1+r1YFgdmM0IFmundcDdlaQYW09JR EfnmvcJCzdsdjBdbl5HsRYQffRHm86zVj/QIDDNc32WrkBax+kAk0j2ZBqfADL0CoxHl b45EfOJnUZKMZ9yNtraikYrWb8G12pXoUiUZ9FfYIDeDXtStUF9BTGl4gfSIqG0x1/od q9T2f9Gf4zu60KYNVq7TTAPX40S27yxar+7oXy1wO86A9nyO0PSPXfdJMU1eRHxs6pU2 SOAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=Cihsrcy+ZQVZz5JC0vGFiq3Z/PSPrpGVXhPvhqb+rOY=; b=SL334DyJHU56M6dDhWbQPXcwgiEa4DYnriMhu0RzXAUbSaaEaTfgvEdQiCRG7H4/tL ZUxm1+zOaP2e3vf1brRD/IsshaXPAR6D0D9Vp3wE0ZVwIbQNZEcr1GIoiIY3NE9m50ru +3EXdTw+BbpW4zP2iyYbtJBo2aIP45KBD9D1HynuVk0w9bKCDx1UnYMNj2nsjgI/8DW/ q7Zb2E4LC0cSAkyZ7E+03cjDgIOlGylGOSYJuGHCA3RCVhH4MryoYuYyqiwhQJf5QXw1 gxC2SLj9cmJ9iTbjZ/dOsKOFs7qHxoP1LVDRgteXMMjuVh6LRaTBi6KLHJhsy4dC6LcB GmBw== X-Gm-Message-State: APjAAAXW1d1gQtgk87GeAfg2ytNp6hEvwwm2T2FRivreFcM/b3pXc5IB LhgFzC2jNxKKtlIlndP+9nI= X-Received: by 2002:a37:6fc1:: with SMTP id k184mr153829qkc.237.1569250368172; Mon, 23 Sep 2019 07:52:48 -0700 (PDT) Received: from localhost ([2620:10d:c091:500::1:83ca]) by smtp.gmail.com with ESMTPSA id u39sm6397581qtj.34.2019.09.23.07.52.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Sep 2019 07:52:46 -0700 (PDT) Date: Mon, 23 Sep 2019 07:52:42 -0700 From: Tejun Heo To: Konstantin Khlebnikov Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Jens Axboe , Michal Hocko , Dave Chinner , Mel Gorman , Johannes Weiner , Linus Torvalds Subject: Re: [PATCH v2] mm: implement write-behind policy for sequential file writes Message-ID: <20190923145242.GF2233839@devbig004.ftw2.facebook.com> References: <156896493723.4334.13340481207144634918.stgit@buzz> <875f3b55-4fe1-e2c3-5bee-ca79e4668e72@yandex-team.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <875f3b55-4fe1-e2c3-5bee-ca79e4668e72@yandex-team.ru> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, Konstantin. On Fri, Sep 20, 2019 at 10:39:33AM +0300, Konstantin Khlebnikov wrote: > With vm.dirty_write_behind 1 or 2 files are written even faster and Is the faster speed reproducible? I don't quite understand why this would be. > during copying amount of dirty memory always stays around at 16MiB. The following is the test part of a slightly modified version of your test script which should run fine on any modern systems. for mode in 0 1; do if [ $mode == 0 ]; then prefix='' else prefix='systemd-run --user --scope -p MemoryMax=64M' fi echo COPY time $prefix cp -r dummy copy grep Dirty /proc/meminfo echo SYNC time sync rm -fr copy done and the result looks like the following. $ ./test-writebehind.sh SIZE 3.3G dummy COPY real 0m2.859s user 0m0.015s sys 0m2.843s Dirty: 3416780 kB SYNC real 0m34.008s user 0m0.000s sys 0m0.008s COPY Running scope as unit: run-r69dca5326a9a435d80e036435ff9e1da.scope real 0m32.267s user 0m0.032s sys 0m4.186s Dirty: 14304 kB SYNC real 0m1.783s user 0m0.000s sys 0m0.006s This is how we are solving the massive dirtier problem. It's easy, works pretty well and can easily be tailored to the specific requirements. Generic write-behind would definitely have other benefits and also a bunch of regression possibilities. I'm not trying to say that write-behind isn't a good idea but it'd be useful to consider that a good portion of the benefits can already be obtained fairly easily. Thanks. -- tejun