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 2C2BFC52D7C for ; Thu, 15 Aug 2024 13:43:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BAC416B00F9; Thu, 15 Aug 2024 09:43:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B5BC96B00FA; Thu, 15 Aug 2024 09:43:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A49FA6B00FB; Thu, 15 Aug 2024 09:43:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 868DA6B00F9 for ; Thu, 15 Aug 2024 09:43:29 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 3A67F1415AE for ; Thu, 15 Aug 2024 13:43:29 +0000 (UTC) X-FDA: 82454596938.15.99991A0 Received: from mout-p-103.mailbox.org (mout-p-103.mailbox.org [80.241.56.161]) by imf17.hostedemail.com (Postfix) with ESMTP id 131FE40019 for ; Thu, 15 Aug 2024 13:43:26 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=nzgwInHZ; spf=pass (imf17.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.161 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=1723729350; 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=9Hpq6ksyDyUHd4So1QZsJOGGQCrhZxE48p6ibJ33Odk=; b=4ZKeztP4kPtL+42mmDoF83CX97Ic0jkM1i4yzpF5SmZ2LZehf1dmZTe17+mFWKy6VkDcHU d098GRqch84ImyHfZpPpz72DgUdXzC6AzMoXvGlf0KEJsEAipilSQRKLo3IwjNkAw49HhM QJbvqpdx0AFL06bgQ6EHEFcshPkw2SI= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=nzgwInHZ; spf=pass (imf17.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.161 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723729350; a=rsa-sha256; cv=none; b=UfqkZORkUeMLNbjajtdNzTqjv9WMC/o9+LZan5UKCjdfkaMjLP5YYNluqFRdb2+y7runmv o9wIHlA/ZkW4RuMoSRBl4/XNOmTE4Fs3AdpMrkiAkljIQrUdF6vuwxoaarsykLkOyos65j 7JNz9n6N2+wK/jBT38bP1JerNwT+aV0= Received: from smtp2.mailbox.org (smtp2.mailbox.org [IPv6:2001:67c:2050:b231:465::2]) (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-103.mailbox.org (Postfix) with ESMTPS id 4Wl5tL0xQDz9shW; Thu, 15 Aug 2024 15:43:22 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1723729402; 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: in-reply-to:in-reply-to:references:references; bh=9Hpq6ksyDyUHd4So1QZsJOGGQCrhZxE48p6ibJ33Odk=; b=nzgwInHZh2zeO0XU7LkZpRjNksVr9RPBAtBO6uSA0SBZSI6osMxGbjzKZeUGCqgcFLM1U9 Yf6SUO2S5rhtQdG2BGJeY0mcm2vGlEH51AcB8HO1QcIaDM1tya/vrNGGnT4vBmGnJiuovv izOVHYDETMo7KAZfZBl0lxZDGzeLV37X7QARxem5/QDu+VeSijdCV4E7TVMveIMLn5kYJl rVE8mFs6a+HgbcO2jmWNHwB0OP8sEfCkzU+UddH1/GtWXsH729UGALyOy0ZsC58q+XPZwz EAxMTmPZUKrYOUWa5qaTQ56aq2xwWR80CwgAFTCsboURZZ7II2R5KuQPFgFsQg== Date: Thu, 15 Aug 2024 13:43:16 +0000 From: "Pankaj Raghav (Samsung)" To: David Hildenbrand Cc: Pankaj Raghav , 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 Message-ID: <20240815134316.h4l4wohtgm2oz2uo@quentin> References: <20240802155524.517137-8-david@redhat.com> <20240815100423.974775-1-p.raghav@samsung.com> <6938b43c-ec61-46f1-bccc-d1b8f6850253@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6938b43c-ec61-46f1-bccc-d1b8f6850253@redhat.com> X-Stat-Signature: jusce6qzdkix9zmwxa18a3cz5yxegzwb X-Rspam-User: X-Rspamd-Queue-Id: 131FE40019 X-Rspamd-Server: rspam02 X-HE-Tag: 1723729406-770640 X-HE-Meta: U2FsdGVkX198eBPBmT58gAOloSjj8b6QtJXnqaNq018Q00QmdomrtkAA8B/9VczHVL/MGAftwoaj6QyNE1Jc851bMk6Ukp/FZ+weAobFj75ZqmUMtwGQ4s7FDmdvJjC5ldhIkQuhyee7m+xmOh7HiJB9i+1wPbd5BdM/WmWD4FIashogONjWlc3YwGksSQ1pBhlysYPLZtKJn27c/RTgRwryE16Wp0ey4aludBzxynjoszmS6D89B70+rP3ICsupzyixuBhhH+6BBcol4vWOjNYh1xUu5bWai6iYrI/Kbc0XPA3pzaN6lISonUCkLpgcae1jZrcP0m7Q+GoqD6ZJZ933zwrj+SeXXArttr0QouLD4r5Rmbx6kPt9Wh7zNjuLG+9fNVXS3N+kaZKEKIv6RetAAakOMBPkeiRdzivj9RTNVPk8DXjh0ybeo97H7DLf51U5TacSCJKCujs+epeY6TyAa2WOG4QaUtJn2B9zH3t++wYT6lUi5JN1cp6kQuSfyrcD/Q7Z5dzwWUR30b4X0FLyrad5cIz6ccf+rqjkFPmS5fAThONUAY5+wyZaTAReUbd2v5d4lhA56hYRQ4swcREBokIFOkKFyM/AM0bfNyrM4z75yW/XczN6c4emOKEXADg0YLZAwTB1bbNxnx0A2nHvUKBYkqU1F+Y/XI8P8/iV3E40EASYcyyspFCeXNA5Y8M7pYZLd9rz5Tf+mty4ySH8+JNrgU8+J+yXs9WTfGiLQzav/tjcjbkczAvLyEFbOUnyhocbcEMjYBUCENymy23jPRep531Yv1SX9sfFOJkXXi8URupHxYSedcMsyNofb4mZC2tKXj2Y9P8pzR1f5oE4xbtihyttWCGpPbkbE1vmzZmGJWd3RGJKM0QWMoTtM6ZeMH+ybYefLHUIOqWFRXlcUcjLg4riwMs8aUnCx/F0CJai29dvjNBYxt9XsEsBZGOTMCJYc4hMINoB0M4 E6WDqE63 3SmYBHaCRovt3dDz/HdWM+J6lzgqiz29cQjtUg35oGkNL7DQMydnnOpDWL02nJTcH6UKfZ9XV61Nes30JWPeOuiVAHofutiy9qfLiLSv3XtbTtVpFa8n3Hqk9/vhca8RJhLh45uRboB+eWaidyFqeXUQHh5HWmNKBGWwuhjBcg9WT7igOrmFQ/HCL1h8RzUf21FiJSwLxUnD5ZQrV5nrHC6ggC7TWzFg7LI/cM+q9X/XgRoncKtaKJI4Ow1/WCiCPV6SrlL8U2tZiRJ/sHe9a2hz2bez3avvxEH6UKMprlsKOqDY= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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, Aug 15, 2024 at 12:20:04PM +0200, David Hildenbrand wrote: > On 15.08.24 12:04, Pankaj Raghav wrote: > > 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. > > There is no need to grab a folio reference if we hold an implicit reference > through the mapping that cannot go away (not that we hold the page table > lock). Locking the folio is not special in that regard: we just have to make > sure that the folio cannot get freed concurrently, which is the case here. > > So here, we really only grab a reference if we have to -- when we are about > to drop the page table lock and will continue using the folio afterwards. Got it. Thanks! > > -- > Cheers, > > David / dhildenb >