From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 59DBF26F47D for ; Mon, 24 Nov 2025 10:45:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763981125; cv=none; b=IXLwdTekyZeEjaa+mKj2zDo2sTkj8Zw7hIWHOlwWZ5l84eAIeaEGJvhG8NQMoTdA73KQKLMN0Y7ihcO2MBHx3zww1Mzz5uofeeNKkT3JDGm8BH+Y9tVylqaMI5aZhysoXhprZ4EhKG5JIv6QjVB1JGWQ+hMN1KBqIEstpfuErtc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763981125; c=relaxed/simple; bh=DhjBPsIsvi+3hdOiUeGVXZGrJN55FvoQUeL4YX0ligw=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=ITEJAyO3IGdTYLGMQ6vTR3IQYKWW1SsZ4ZOUP6p+UfAUwwAQ1446LGJTt8BIn9deBI2GSpAmu1Jv5PJspAQMnvzfYEBfAM2NPOCwpQRyADV60aVzSkg3RKI8camaOlkkS6fwFCv1ccdnNbj0kGb+J3B+7aeUAwo/7jjK3HU3sPk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=E3C5EoZG; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="E3C5EoZG" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 681E8C4CEF1; Mon, 24 Nov 2025 10:45:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1763981124; bh=DhjBPsIsvi+3hdOiUeGVXZGrJN55FvoQUeL4YX0ligw=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=E3C5EoZG0jUHNt9lAaE/wc7g783VYAB7WbbNygGrLvS7BDAsv0A1GpIiVGv8QcvOF vqAK1plyG6xwxTZMEPvZFomI+EenIFkNOScr8o50mTlCHSDlZ1QTLDyk07dFa9Wrgo +aplFYXFXSdPf17wlX6VKcHWX3n/m1nqkHjzNb1RLTaWkprzOROFVJcsvvfSdIT8my m2t0XGl2O62I3Zje92HQfDzggNothUzPYppyW8BYLqd3zin0XJc7CoLgkZOjedVe5K BysexX0b/3zbM8CCF+VG2Ig41TjDxkiqmtQ6aXkV7xmMldWXK3HO1rjSBQU669T4LE hbstHYA0WJ5cg== Message-ID: Date: Mon, 24 Nov 2025 11:45:18 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 4/4] mm/huge_memory: fix folio split stats counting To: Zi Yan , Lorenzo Stoakes Cc: Andrew Morton , Baolin Wang , "Liam R. Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Miaohe Lin , Naoya Horiguchi , Wei Yang , Balbir Singh , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20251122025529.1562592-1-ziy@nvidia.com> <20251122025529.1562592-5-ziy@nvidia.com> From: "David Hildenbrand (Red Hat)" Content-Language: en-US In-Reply-To: <20251122025529.1562592-5-ziy@nvidia.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/22/25 03:55, Zi Yan wrote: > The "return " statements for error checks at the beginning of > __folio_split() skip necessary count_vm_event() and count_mthp_stat() at > the end of the function. Fix these by replacing them with > "ret = ; goto out;". > > Signed-off-by: Zi Yan > --- > mm/huge_memory.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index ebc3ba0907fd..a42c4f29ce4f 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -3954,16 +3954,20 @@ static int __folio_split(struct folio *folio, unsigned int new_order, > VM_WARN_ON_ONCE_FOLIO(!folio_test_locked(folio), folio); > VM_WARN_ON_ONCE_FOLIO(!folio_test_large(folio), folio); > > - if (folio != page_folio(split_at) || folio != page_folio(lock_at)) > - return -EINVAL; > + if (folio != page_folio(split_at) || folio != page_folio(lock_at)) { > + ret = -EINVAL; > + goto out; > + } > > - if (new_order >= old_order) > - return -EINVAL; > + if (new_order >= old_order) { > + ret = -EINVAL; > + goto out; > + } > > ret = folio_check_splittable(folio, new_order, split_type, > /* warn = */ true); > if (ret) > - return ret; > + goto out; > > if (is_anon) { > /* I guess this is not Fixes:/stable material. Wonder if such early (mostly -EINVAL etc) checks were at some point not intended to be counted. In any case Acked-by: David Hildenbrand (Red Hat) -- Cheers David