From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A6CEFC4332F for ; Wed, 23 Nov 2022 07:52:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B55738E0001; Wed, 23 Nov 2022 02:52:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B05836B0073; Wed, 23 Nov 2022 02:52:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9CE458E0001; Wed, 23 Nov 2022 02:52:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 8DF336B0071 for ; Wed, 23 Nov 2022 02:52:13 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 64F0FC08B9 for ; Wed, 23 Nov 2022 07:52:12 +0000 (UTC) X-FDA: 80163938904.04.033D606 Received: from mail-yb1-f179.google.com (mail-yb1-f179.google.com [209.85.219.179]) by imf25.hostedemail.com (Postfix) with ESMTP id 15753A000F for ; Wed, 23 Nov 2022 07:52:10 +0000 (UTC) Received: by mail-yb1-f179.google.com with SMTP id b131so20000451yba.11 for ; Tue, 22 Nov 2022 23:52:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=P19tg7f0hwXERpV/M7ELvgDfUdF9U5SKIaEHruEwVZ8=; b=I95petThg7UhoVdm4lGriYYMJnxYtrjHaIKc1ojn69HShPmb7N9LE53ranGPKehWXD Ai7zjiizdZ5fTOLoFalxm72zrYF0BWSX6/g9h4YwnEPMtfXAHNNOGxe2Rr9tQHPPv4HT OmTbe1DlwFoX6z67skQJ+vP08jCgR4Y+hk6ui+6u1V3x67bNsFc82XsVMiHvB9gcFW0v NLoWDWwPcd8/yfCWCgp3udpc/bEFUjZjVuLYZLdBas4KrJqZjIPSW72Ac2PgQ4w7qvt+ kyBz/SXl0PZDEeFEnI34l4ov9q4NPNDW/n+y81wrZrHINxDHDaMUZzsQf5jGAA6II0Cu 7oxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=P19tg7f0hwXERpV/M7ELvgDfUdF9U5SKIaEHruEwVZ8=; b=EVRk1+F+vM4cAq/9J5jxMcSTRcgjzqlnbTJEs1tcDxvD5J3WKqAuvmN6mTwaFfnX+p EaR+l4Wgbii9I9ycV1hD7NxJcv8JDe51T4l2IjyHbVn8XSk+0IcuFYJHNmqN9mL4FIar qIpqi6UHIphWJdS3Uoxf2C2CCnYQVQDXBJqnmEt5jlwxzrCQ52VDC3rIm1jEbQ3vDf3x 9+F49uqx1KasLBsGutK7zBokYCd3nhfXPP+Um3RwBhGf5CjAzmcSQNOfutbMP2hU7jwt RlpuN8sbVWHjZSSKNCcAljQpHB0JL6YV7QSnxcrsXWG/EjiTAmz6YQ1MqoeHirJrwCuh Xr7w== X-Gm-Message-State: ANoB5pkXA02UiKFtOGVOn44ia2zKC1Hj6tKjvp0+gVJF6Y+TAsxuHiCH XJqqvYKnN0o5SMjmxWkYCI/wPOrDj3JNp7dynPs= X-Google-Smtp-Source: AA0mqf7fGDDGExKSXNOos7vNzx8TqR3lvacFwRNqRaQ3jTxl7oWgkKtDUzNZIqGW1zW9LTV0JvEoeN3bc7y2t0XFyhQ= X-Received: by 2002:a25:ae04:0:b0:6eb:1172:34ca with SMTP id a4-20020a25ae04000000b006eb117234camr9524097ybj.219.1669189930096; Tue, 22 Nov 2022 23:52:10 -0800 (PST) MIME-Version: 1.0 References: <20221017202451.4951-1-vishal.moola@gmail.com> <20221017202451.4951-15-vishal.moola@gmail.com> <9c01bb74-97b3-d1c0-6a5f-dc8b11113e1a@kernel.org> In-Reply-To: From: Vishal Moola Date: Tue, 22 Nov 2022 23:51:59 -0800 Message-ID: Subject: Re: [f2fs-dev] [PATCH v3 14/23] f2fs: Convert f2fs_write_cache_pages() to use filemap_get_folios_tag() To: Chao Yu Cc: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mm@kvack.org, fengnan chang , linux-fsdevel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1669189931; a=rsa-sha256; cv=none; b=feRP+S0Rcp5C/EC344rMzmnO7TQkjZqo9nMEzKRYK5uhmhA0PioYfzYPhNXVINDDGBmQs8 OJ+9zVrwxrNnuLtrc4tyDunU3LXJhQa0K4QZ+nPM6DUwtZ8tEWDTzSGnBsZ6iJfBljK9Hi R1WTIzzY/3S3Lz8/xvNblih6DYZmpw0= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=I95petTh; spf=pass (imf25.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.219.179 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1669189931; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=P19tg7f0hwXERpV/M7ELvgDfUdF9U5SKIaEHruEwVZ8=; b=b6yI4OEVv6fYtxotCqIqzkGUi+SMGQ5wmJieBj0D1VgprmQv3KHDuX3iTN9lyKWnOe/nUa hqXa9uEkqJLy1WfoZ+Vkyr1d1BgBHeDlpx7px2xiQ2LSEr+lU6D84LMaO6Ucs1DriU5Jck HBT0GkGVPcXRT8gxwnaPaxtNBOC+gvE= X-Rspam-User: X-Stat-Signature: a1ru6t34iwt1th87hxeuc8fr6dpdcchn X-Rspamd-Queue-Id: 15753A000F Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=I95petTh; spf=pass (imf25.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.219.179 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspamd-Server: rspam07 X-HE-Tag: 1669189930-846490 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, Nov 22, 2022 at 6:26 PM Vishal Moola wrote: > > On Mon, Nov 14, 2022 at 1:38 PM Vishal Moola wrote: > > > > On Sun, Nov 13, 2022 at 11:02 PM Chao Yu wrote: > > > > > > On 2022/10/18 4:24, Vishal Moola (Oracle) wrote: > > > > Converted the function to use a folio_batch instead of pagevec. This is in > > > > preparation for the removal of find_get_pages_range_tag(). > > > > > > > > Also modified f2fs_all_cluster_page_ready to take in a folio_batch instead > > > > of pagevec. This does NOT support large folios. The function currently > > > > > > Vishal, > > > > > > It looks this patch tries to revert Fengnan's change: > > > > > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=01fc4b9a6ed8eacb64e5609bab7ac963e1c7e486 > > > > > > How about doing some tests to evaluate its performance effect? > > > > Yeah I'll play around with it to see how much of a difference it makes. > > I did some testing. Looks like reverting Fengnan's change allows for > occasional, but significant, spikes in write latency. I'll work on a variation > of the patch that maintains the use of F2FS_ONSTACK_PAGES and send > that in the next version of the patch series. Thanks for pointing that out! Here are some numbers for reference to performance. I'm thinking we may want to go with the new version, but I'll let you be the judge of that. I ran some fio random write tests with block size 64k on a system with 8 cpus. 1 job with 1 io-depth: Baseline: slat (usec): min=8, max=849, avg=16.47, stdev=12.33 clat (nsec): min=253, max=751838, avg=346.51, stdev=2452.10 lat (usec): min=9, max=854, avg=17.00, stdev=12.74 lat (nsec) : 500=97.09%, 750=1.73%, 1000=0.57% lat (usec) : 2=0.41%, 4=0.09%, 10=0.06%, 20=0.04%, 50=0.01% lat (usec) : 100=0.01%, 1000=0.01% This patch: slat (usec): min=9, max=3690, avg=16.61, stdev=17.36 clat (nsec): min=28, max=380434, avg=336.59, stdev=1571.23 lat (usec): min=10, max=3699, avg=17.13, stdev=17.51 lat (nsec) : 50=0.01%, 500=97.95%, 750=1.42%, 1000=0.33% lat (usec) : 2=0.19%, 4=0.05%, 10=0.03%, 20=0.03%, 50=0.01% lat (usec) : 100=0.01%, 250=0.01%, 500=0.01% Folios w/ F2FS_ONSTACK_PAGES (next version): slat (usec): min=12, max=13623, avg=19.48, stdev=48.94 clat (nsec): min=265, max=386917, avg=380.97, stdev=1679.85 lat (usec): min=12, max=13635, avg=20.06, stdev=49.27 lat (nsec) : 500=93.55%, 750=4.62%, 1000=0.92% lat (usec) : 2=0.65%, 4=0.09%, 10=0.10%, 20=0.06%, 50=0.01% lat (usec) : 100=0.01%, 250=0.01%, 500=0.01% 1 job with 16 io-depth: Baseline: slat (usec): min=8, max=3907, avg=16.89, stdev=23.39 clat (usec): min=12, max=15160k, avg=11115.61, stdev=265051.86 lat (usec): min=137, max=15160k, avg=11132.68, stdev=265051.75 lat (usec) : 20=0.01%, 250=57.66%, 500=39.56%, 750=1.96%, 1000=0.22% lat (msec) : 2=0.16%, 4=0.06%, 10=0.01%, 2000=0.29%, >=2000=0.08% This patch: slat (usec): min=9, max=1230, avg=17.15, stdev=12.95 clat (usec): min=4, max=39471k, avg=14825.22, stdev=588237.30 lat (usec): min=80, max=39471k, avg=14842.55, stdev=588237.27 lat (usec) : 10=0.01%, 250=38.78%, 500=59.53%, 750=1.12%, 1000=0.16% lat (msec) : 2=0.04%, 2000=0.34%, >=2000=0.02% Folios w/ F2FS_ONSTACK_PAGES (next version): slat (usec): min=9, max=1188, avg=18.74, stdev=14.12 clat (usec): min=5, max=15278k, avg=8936.75, stdev=214230.09 lat (usec): min=90, max=15278k, avg=8955.67, stdev=214230.10 lat (usec) : 10=0.01%, 250=9.68%, 500=86.49%, 750=2.74%, 1000=0.54% lat (msec) : 2=0.18%, 2000=0.32%, >=2000=0.04% > How do the remaining f2fs patches in the series look to you? > Patch 16/23 f2fs_sync_meta_pages() in particular seems like it may > be prone to problems. If there are any changes that need to be made to > it I can include those in the next version as well.