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 D63BCC3DA7F for ; Thu, 15 Aug 2024 10:04:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5675B6B00BB; Thu, 15 Aug 2024 06:04:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 518516B00BC; Thu, 15 Aug 2024 06:04:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3DF316B00BD; Thu, 15 Aug 2024 06:04:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 271EB6B00BB for ; Thu, 15 Aug 2024 06:04:36 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id CB8E01A14D8 for ; Thu, 15 Aug 2024 10:04:35 +0000 (UTC) X-FDA: 82454045310.09.E923213 Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [80.241.56.172]) by imf30.hostedemail.com (Postfix) with ESMTP id 02CB58001D for ; Thu, 15 Aug 2024 10:04:33 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=none; spf=pass (imf30.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.172 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=samsung.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723716238; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=75R96RPs190DQzR8jZnoT5XMnqy7TUJT2kM1RpEwIvw=; b=K2ftSo1v7AC5JeY1s6n9zBKhiusGPk8MLSSb6yWDW8MEmHfmJPve3wM8iXK1QbmQTbe77Q H0r1z7BYLcwk0+nj0tPu5+1TeVSNSCKKSpeIROpkT+0ztIRmt4hCsux/tXKib5qH4rGeft czWgR7ShQOw3VLsux8XiEQbyhHIWUHU= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=none; spf=pass (imf30.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.172 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=samsung.com (policy=none) ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723716238; a=rsa-sha256; cv=none; b=1bUXZGGKkB4IeAgPropyoYBhdpjUns+WwU47l5OwVNDU3nbUjwhvFl4zKSvX4hFMJS/T5F pTmXd0L9yDyv/BrVvcVpWPmu7fFrscm+DytNp+d52HkNN2yo3oWb8cDpwxFcO32QTkIhN4 BDizfBk95sZhDObaJOawXGBxVCNJ6iI= Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:b231:465::1]) (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 4Wl11n6qm7z9sRJ; Thu, 15 Aug 2024 12:04:29 +0200 (CEST) From: Pankaj Raghav To: david@redhat.com Cc: agordeev@linux.ibm.com, akpm@linux-foundation.org, borntraeger@linux.ibm.com, corbet@lwn.net, frankja@linux.ibm.com, gerald.schaefer@linux.ibm.com, gor@linux.ibm.com, hca@linux.ibm.com, imbrenda@linux.ibm.com, kvm@vger.kernel.org, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-s390@vger.kernel.org, svens@linux.ibm.com, willy@infradead.org Subject: Re: [PATCH v1 07/11] mm/huge_memory: convert split_huge_pages_pid() from follow_page() to folio_walk Date: Thu, 15 Aug 2024 12:04:23 +0200 Message-ID: <20240815100423.974775-1-p.raghav@samsung.com> In-Reply-To: <20240802155524.517137-8-david@redhat.com> References: <20240802155524.517137-8-david@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 02CB58001D X-Stat-Signature: p1ptytksbqcbwf3qmogyfe941gbzc7e8 X-HE-Tag: 1723716273-250709 X-HE-Meta: U2FsdGVkX1/JA/Im0jvBE9XFXRaybKLS9Yb78oQ2Lan7NnS4sbHR6bXtWp/gIlG5pH6eIp9dTLWMNwtniPEl6HFuylNLnyhDBGRm5OR5fowduxOjfsF+a2pKLo+EcbYGy/F3TlEn1mbTUzvPs9ZmDEyNOYASS/Qi6mZBWvAopK2oUBeEOOjSQ4+FykzXdIFW3ZUlqGPDVPXuzkWce7JSjsTG1LSohy+iWIOVb5mANYgjsQeaIaE67rrh0EawXM9Hu/HG/XZVn6WpKsmXQu5rtFmKvoSGZXh2ByIY5ZV2O/0z79Ml59SZKscjqElg0wcoWJWaSQ6GgU3WuDbTT4VmN+EdGsre5uVQlopnoQgiHR5s/yBgK6kPLunD8w8IDK9Exc90tr6IprRwYWsnZcMYBN/okjjymTOSO5vdqwn/2zYZgj+fH4ukWDCCz+J08w7Q9nMp3sX+CzJPdh7yRqpIj5D7+MauI/IX+0C64IIl51f7VXSp75zbgGeFxqlv2lXZcDjKvHrDrbs+1mSJYxR+YtuZ/HJUTx6Apb77JnWTeB2gi4dceavm0OlDwihuC0uEVjwfpGKOfDGWj9GKmeFjZIc6JPgTbxJcEHjBz9oQzKnqmeqL+9m/1JQCPgTafvI3TpJkzNunZQUBARXkpxSdVw2+zaHS7NVkOIU3VwYitA6ZFF7B9dOGvVmG9EtO7RBy6O7Klj7HA4LTfgBOfln6QZC8HFjxG69U2VlVsuSBTMhnZ4gSwAWiSoDPSKMC6XvoYtnYr8+zqMcFxPlYUjy+0BNYBmUNrXhj1J9mohMudA0n5TWxSzfzGxGnvHxHkhQdb/JP0119hVrwWSAFhKF183ZTOd2fNf76KzZDDWFHyE+Oan/KmjnB+s4u2tptOrqAMe8ioSNMzZZnYg0lWsIpyFAIyuaibF/wUN/VDJBo6sW7btwIZDxRaxK7eeCTzf5sGN/rPVsRQA7dw8Ik2MK PznXCJDI N88M4j3+dPXcN4DDv5nfjdv70lOzKmczz72LEEelnvJxIfn1Onex9mnJP37EipGA7WtC0IvH0TYa+5WpF1bcjU/Tc3y2JrbKCZiJFHhrd5nBQrKzdtpzpMfxt+IjPDUS9x4fEE3w0sQ4RbqiMlVRjbPbQMTk6Cv3AZMa9Ed9WDq2xIb73zHJYUgLMa3cov5Qxh3Ws8smiJOgbFqmhYZxbdsGjT9LYwZQyKHYtZWQF7buPxbOP2G/g/jfwm+yfo+WIrMPriaeJ0H8x71Sh6YPGmXQMWSSjMjsxkqaMD4/kOkv2Ex/uEH0qd1JdsQ5B1CuUQeWqH3zgHSb8JMwy3qvAedcBps9pcxFcud9S6zOxKah1Y6aTgTznwXBbsuqyfkPjUiIz X-Bogosity: Ham, tests=bogofilter, spamicity=0.000005, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi David, On Fri, Aug 02, 2024 at 05:55:20PM +0200, David Hildenbrand wrote: > continue; > } > > - /* FOLL_DUMP to ignore special (like zero) pages */ > - page = follow_page(vma, addr, FOLL_GET | FOLL_DUMP); > - > - if (IS_ERR_OR_NULL(page)) > + folio = folio_walk_start(&fw, vma, addr, 0); > + if (!folio) > continue; > > - folio = page_folio(page); > if (!is_transparent_hugepage(folio)) > goto next; > > @@ -3544,13 +3542,19 @@ static int split_huge_pages_pid(int pid, unsigned long vaddr_start, > > if (!folio_trylock(folio)) > goto next; > + folio_get(folio); Shouldn't we lock the folio after we increase the refcount on the folio? i.e we do folio_get() first and then folio_trylock()? That is how it was done before (through follow_page) and this patch changes that. Maybe it doesn't matter? To me increasing the refcount and then locking sounds more logical but I do see this ordering getting mixed all over the kernel. > + folio_walk_end(&fw, vma); > > if (!split_folio_to_order(folio, new_order)) > split++; > > folio_unlock(folio); > -next: > folio_put(folio); > + > + cond_resched(); > + continue; > +next: > + folio_walk_end(&fw, vma); > cond_resched(); > } > mmap_read_unlock(mm); > -- > 2.45.2 -- Pankaj Raghav