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 9EDCFC5AD49 for ; Mon, 2 Jun 2025 15:34:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3BA086B02E4; Mon, 2 Jun 2025 11:34:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 36A616B02E5; Mon, 2 Jun 2025 11:34:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 281DA6B02E6; Mon, 2 Jun 2025 11:34:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 0EE496B02E4 for ; Mon, 2 Jun 2025 11:34:44 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id A7D2BBA0AB for ; Mon, 2 Jun 2025 15:34:43 +0000 (UTC) X-FDA: 83510858046.14.C9C5808 Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [80.241.56.172]) by imf20.hostedemail.com (Postfix) with ESMTP id B9AD01C0005 for ; Mon, 2 Jun 2025 15:34:41 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b="JYHa/G6Z"; spf=pass (imf20.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.172 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748878482; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=RSWKa5jRWKpvNy5AYCWfE+HSpjMQwSPIzI/OGLplaVE=; b=hv0k/skJrxPSoTd5Fztzx+8ifsU5S6mEoI/n2KUkALXDCy/vBJxVpX3wWDC/jTpkQ1T53H RFEPgWaPQFQSfrZrmthIwcjMxf/po0tHdADrEyjSjDH8bXNVFZdGSkufiTti2ysw3Xj98b seNAsQAYA3mr46e/3gxwHdjB4WMEhR8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748878482; a=rsa-sha256; cv=none; b=G6dsRNA5xMQeUqcLh3TLoP2RWjaf+FcdEChLj02auHSD7bTS1ndAKKE6A/ouulAyg7Liar NCn0fzhxGMrVQ/ndH/Mm5biB+uJuLoe+TbvwIDO0QdfTyY7hIkFq3xWmEYKCDvTFM5AxTe /hIF9Ps74SR/pLnHUNLS2Po7DPUqh7w= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b="JYHa/G6Z"; spf=pass (imf20.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.172 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com Received: from smtp102.mailbox.org (smtp102.mailbox.org [IPv6:2001:67c:2050:b231:465::102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4b9yZP6Tt5z9spq; Mon, 2 Jun 2025 17:34:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1748878477; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RSWKa5jRWKpvNy5AYCWfE+HSpjMQwSPIzI/OGLplaVE=; b=JYHa/G6ZeQB0yAIfVULn7KaHNi4u8pvPNXSitQ8sgxqIlk+aajfX3BD9W0hQ+kbsx9N+9W 4+YpGSR1x/9Gh9Fl4RfwNNQ4F7DMRNJrQ257cm5pEKfOP75SlHLUx0rz4jX2wokT972Hue g/QuoCL9k1F1+UyaQbPWltOLes749bUQfmviBmHvr18Kj9mKw1JygJQklQr7s8ja9pvnm1 I/+nRbIjRkCvi6lKJE/Gow/dROVAa1ZqEi/Hc6vgRPJA8MqqiPwY82gJeMLdhQoXKpiyvC ypkNLWhdS2u6RYhoqxkjev30NqlJyBmCOU/r87fIZlVKDRmSrJCbbi/cmjMS1A== Message-ID: <2acfe69f-f542-4f74-b671-d5a952d5b205@pankajraghav.com> Date: Mon, 2 Jun 2025 17:34:27 +0200 MIME-Version: 1.0 Subject: Re: [RFC 3/3] block: use mm_huge_zero_folio in __blkdev_issue_zero_pages() To: Christoph Hellwig , Pankaj Raghav Cc: Suren Baghdasaryan , Ryan Roberts , Vlastimil Babka , Baolin Wang , Borislav Petkov , Ingo Molnar , "H . Peter Anvin" , Zi Yan , Mike Rapoport , Dave Hansen , Michal Hocko , David Hildenbrand , Lorenzo Stoakes , Andrew Morton , Thomas Gleixner , Nico Pache , Dev Jain , "Liam R . Howlett" , Jens Axboe , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-block@vger.kernel.org, willy@infradead.org, x86@kernel.org, linux-fsdevel@vger.kernel.org, "Darrick J . Wong" , mcgrof@kernel.org, gost.dev@samsung.com References: <20250527050452.817674-1-p.raghav@samsung.com> <20250527050452.817674-4-p.raghav@samsung.com> <20250602050514.GD21716@lst.de> Content-Language: en-US From: Pankaj Raghav In-Reply-To: <20250602050514.GD21716@lst.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: B9AD01C0005 X-Stat-Signature: rb98eprzuooe414bf17qp3dbaxcz39n4 X-Rspam-User: X-HE-Tag: 1748878481-969655 X-HE-Meta: U2FsdGVkX19i2Hk29CyjaQc1+i1zgM1BvwvEeJniEoFZvcJTE+FQ1++Rw31TS/p4tQkohHoTsaXKemWIPXv2QLVLe5PvKyZDzwpQz5rSoVS1nUQM9uI2LdUrK3a1ilvn+K3OaMJ86p2v5ozBxfHhCs/5Bmpbq/gGSSeYBdSKupOEyvh2OUcpU58/gvNNNWmCGZSHhe4hs1phm3q/BUcHy7TQv1aioqjZmUAZ/fCRzrG9Fk3UZftAU9SYee+hAOtK277aFA3MZVsX9lPxvelW2Nr5xfWgLgIetY6IY+V9NabcxJ6cguSlP1P4Q7cnqZhLoakBiei1u6tu78YM30TvTUauu+geZk01yADruKDdcBnJx+L5dE16c70Ty5ak0Thzxe2XpJUKCD17zVJkzXu7YEtTiSsMFbto1HF+ykHCWFIJGm0enRV1vl289v1vDL2UN5ZYyQrunmXADdiCz/8x/rDo4k4ULemoijME1gBsb0zFgyvFpMMYPYxhTrEbZgMUbnXbqbgpnjZMBrWrv7Or8wo6ZBDtuX6/RkIrj7OrrxoQ9mH/u3ISZerlPprmUTD6sua596aS5iFySIczVhR0l2GrFBGufGPcbxnqBqd9N+NhnYC+7uJxoMVIzwFyE6pbg159PBCKXfchYNTQKFJswB4WtrPH1Aed5vgMleHvKKMBdq1SclFdijzITOBu2TaZMMFHdZqDEWP64kBisBBUeHQgaYgJoeFVfoAkqfvSI8uI1KBcTmye/Uv77Nf9UgKNH9ElgMn8mzjzSuvKLEOlgb6+1nsxqtWVB7uV8RrUHixnko9UAsIKaclnmE+Xrxu25Wt0hIXG157WfXa8pljNc8BIzCTJmM4Qp4KeLIMN7xBmLSOMMeAm6zS+Ka1MTF67tP7EKerCOHoOZHQjw8cJNsN/zeYxLWuXjqV2AqFtV7KXKLv+kp6DOIzUREMZ8yH6lK3InHWP1nFl43ffjd+ dpL/9THa 5g09j6NEOOBN5AoZcGeqpCpXvR5Xk/aQ3ybf+knYw/lgxkrozoEqzboVKDVC7eywL19QxzmTpSCI8xK0OUSWUh8/2bR8jyTbILiyRryj4ZGl5idBHMCZgmyuuplAq3VqNyemfHz7jGKuvYpTb+V36ti+GBrsWwWepWrfJVIE1SopOxzIBGnp2N0KyYxAO6n3QVT6f8VYAKQpLgsDSTLISkWxVA9LsULwpBrC1QWZBc78SBcOi2ei/7xhCXwrI9GeKvIW3ekZOkfLWPp3dxYPS8S+9B5dfBE+m5K8P4hQQv1bJyQjZLJ283CQXkV/eVg5KZhnwndiKydtjMQ0RC2FBejXcy7aJd4OhzIDd 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: List-Subscribe: List-Unsubscribe: On 6/2/25 07:05, Christoph Hellwig wrote: > On Tue, May 27, 2025 at 07:04:52AM +0200, Pankaj Raghav wrote: >> Noticed a 4% increase in performance on a commercial NVMe SSD which does >> not support OP_WRITE_ZEROES. The device's MDTS was 128K. The performance >> gains might be bigger if the device supports bigger MDTS. > > Impressive gain on the one hand - on the other hand what is the macro > workload that does a lot of zeroing on an SSD, because avoiding that > should yield even better result while reducing wear.. > Absolutely. I think it is better to use either WRITE_ZEROES or DISCARD. But I wanted to have some measurable workload to show the benefits of using a huge page to zero out. Interestingly, I have seen many client SSDs not implementing WRITE_ZEROES. >> + unsigned int len, added = 0; >> >> + len = min_t(sector_t, folio_size(zero_folio), >> + nr_sects << SECTOR_SHIFT); >> + if (bio_add_folio(bio, zero_folio, len, 0)) >> + added = len; >> if (added < len) >> break; >> nr_sects -= added >> SECTOR_SHIFT; > > Unless I'm missing something the added variable can go away now, and > the code using it can simply use len. > Yes. This should do it. if (!bio_add_folio(bio, zero_folio, len, 0)) break; nr_sects -= len >> SECTOR_SHIFT; -- Pankaj