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 954FED374A4 for ; Thu, 17 Oct 2024 15:09:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 277146B007B; Thu, 17 Oct 2024 11:09:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2266F6B0082; Thu, 17 Oct 2024 11:09:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 115706B0083; Thu, 17 Oct 2024 11:09:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id EC4816B007B for ; Thu, 17 Oct 2024 11:09:44 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 331611411CA for ; Thu, 17 Oct 2024 15:09:33 +0000 (UTC) X-FDA: 82683428394.24.9AF3C3C Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf04.hostedemail.com (Postfix) with ESMTP id 9079E40017 for ; Thu, 17 Oct 2024 15:09:29 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=fc3mpb8M; dmarc=none; spf=none (imf04.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729177735; a=rsa-sha256; cv=none; b=i8PYkeP8TiBJ6xy17EWdhtqFNdFEmVsQ+W4o/diCz7YOGMu7wdUmqwAnezlt+j6UpkOI5r lAO5QQWi0K1UuWfMufIE2eGVqB31aNkMy2Ryc4Ms51vfggwR4lTyFIJb1yqrxoGx7GZfti cZ9BvLtm8R7b1J6bplKXrSSIZQz09v4= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=fc3mpb8M; dmarc=none; spf=none (imf04.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729177734; 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=2eNL7D4LbTRSbgfiVUgj7BFriFR7Je/pOj36B5tHwmw=; b=FaTYF+a89YaF7Ar/PRabDgHpfILmLCzxZwxDCbBgURkQ2/SkoQ2LPfXwEJ9tdFkx7mT80V tIZlVfS5BMJwX+1BESeBsXxT4VA8QWkQoasNEDOHfi+GT9QRW2KWb/g0B6CO2BhPos7woW 4gT+OdJ/5qVb/rqLRcVSu6gQaYG2ueE= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=2eNL7D4LbTRSbgfiVUgj7BFriFR7Je/pOj36B5tHwmw=; b=fc3mpb8M9fqdhlsSjJHx1DlpB8 rnk7eupGRpq61bx8SL5qa+9xBxYA82nU42tZNS6w1ujX/OQjEEdvm6IqH6lOoOkSBpNheBZKgs6bC Yd2oMOlAXwAXMDqUK/1Hy1NWTG0ll3BoC6sAjbMkHIWb4YK3t/KYm6fVrxJUeRj3JRIxiBJvQPPd2 PH+Tjb6l8AlTJ0JMSwnLr5jY4N4Biz7w5ony+dnThPLXNoUbqZE6FTyxtZAzUHr+D0z35b6YXpg58 Fox8qZwbl6uDyk7clbuA9KapySFIOxZgm5yYL2wwKL2gA8eP9z7sW/gWI4e1bWp+WSEyZMoPwqqFC wS0cbnLQ==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1t1S83-0000000BMm8-3C6o; Thu, 17 Oct 2024 15:09:31 +0000 Date: Thu, 17 Oct 2024 16:09:31 +0100 From: Matthew Wilcox To: Kefeng Wang Cc: Andrew Morton , Hugh Dickins , David Hildenbrand , Baolin Wang , linux-mm@kvack.org Subject: Re: [PATCH] mm: shmem: convert to use folio_zero_range() Message-ID: References: <20241017142504.1170208-1-wangkefeng.wang@huawei.com> <20241017142504.1170208-2-wangkefeng.wang@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241017142504.1170208-2-wangkefeng.wang@huawei.com> X-Rspam-User: X-Rspamd-Queue-Id: 9079E40017 X-Rspamd-Server: rspam01 X-Stat-Signature: qxik83b9fms9s9ccbsxd4d1hi8n61mmn X-HE-Tag: 1729177769-372881 X-HE-Meta: U2FsdGVkX18QIbVDNf3eKnf2RWdup19mjnWmF/SK1TGh6JQnERIQ2OP0V27JQLKef486JB1i+VXsudWT+IU98TLq5rFhqCgIrqrq4gVlWsdEYjTp1RxlSEv/c/kqvQfXbztcCMNz10UJQAW5esYJYRngnpAonTiRODg4f0iCCuBJmFStT+1GK9glAXKfHhCviOGeaObpkWpWnDX6TqCp0RqvtEkBre6hHGguBp0u7lWG85tzptBlnUvLRuUaH0EyyfPyLWX7n+WbThBzGrzW6Mb9L8fP+Cv4AoaD62LwptXjeM+ql/iuYsNqWskPDQtsRY1LRZxJK4SvaDgKFZVkjxkVtxGVztts2UfDNFEuZqE4dwsOeknWTkvUDDcCiyVz1VzTnQXjzh1lxyGOMWT7h4q2XgZ1e90mmiU2Di9i1ZGEuruiL7lBFgr0mfNEHU/WWqKUiNHLadnXyrm+b+H/6/vC4066MFlalQCFWowMPS/31CGHQqqb5lv4JBpyTvsGyrAds1EfTA19/wgqjl6Tq97GvYGklQg3IccqS6Xt8mx0LXwkhyuOegfdRu1cVCygN9jRc9F9RhRBGUabC6o3Vs8ESnv8ckTbV5RvVhAZqpzXzKvcr012tQ1vs/LWgeMLw5sXqOEvwOcq5cUIxME8KkUXi/Bu9xRIrAaqigmaTbR5jiwcOEGhsSN+lUHyiYd3J8XXHMLtWPi5bMb16dhFtlMBcVJf3Axo9nFE608LynBMihIOnbj5ZFeJ1/uZo1sjtXjkXlaPCZ3BLJ8QHVb/uOU8PUKQV8en7Jw6rRJeQFXHL3f88v29HFPiq/ujo3JWBPVx11wWclB7ZNV3HJ2sVA+rGA75NnROl6a1zMINtcHesHKFBazef1HFD347GWEXxmkdMsAe4CB3/2H8Paio/U2zJGRbH95IuSQGQc+j29xVigprE8ERTuDmaRm+xsMhNxQxliJHT3u3KD2s+kd fmoQ4ynQ WW+iQrx782b5JcH3cegmUeBLwQH92VtnRtqTb7Q1hqhb3KuNMy1mMXqFyItZcMrigp41LREvQ8/YlFj4C1rTXOTA9L3W29zslVaIRopVfhKHh56JN7d+YWzik/QSOhj9Kd1g6LNBDEWRrJfho61bu3lnxqjDtW4PdIGlDtURLnG67ggFpjXPiG7sII54JuJODQlEQ6ZFzxyOps++pdSguFABJY3lR+CKT6ZjOYSMh0FFoSHIYoj1Kfuq5x+/V4BB4Km2YhjraNtCPI2Eybe4Y+E/2kA== 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 Thu, Oct 17, 2024 at 10:25:04PM +0800, Kefeng Wang wrote: > Directly use folio_zero_range() to cleanup code. Are you sure there's no performance regression introduced by this? clear_highpage() is often optimised in ways that we can't optimise for a plain memset(). On the other hand, if the folio is large, maybe a modern CPU will be able to do better than clear-one-page-at-a-time. IOW, what performance testing have you done with this patch? > if (sgp != SGP_WRITE && !folio_test_uptodate(folio)) { > - long i, n = folio_nr_pages(folio); > - > - for (i = 0; i < n; i++) > - clear_highpage(folio_page(folio, i)); > - flush_dcache_folio(folio); > + folio_zero_range(folio, 0, folio_size(folio)); > folio_mark_uptodate(folio); > }