From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (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 81E2437F739 for ; Thu, 30 Jul 2026 16:27:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785428877; cv=none; b=dc5UUrmQyRTwU55T36p7Vczxi+vqfhayAl1ix9AU8+BifzbT6xcD8wbciA3rcMTxXiidvU+/XtbjFvV2tM6ZhEP/qEWql1kqfrMzIm6E7O/axukIl5tc0U5XqZ4ZHgJgrSk1xN2sRIt0VyC+uqRe0JkFTlXoNvhjpFYjrvNgjGg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785428877; c=relaxed/simple; bh=/rpqcf4gqyfLMVfAzDvoZqJfQ1VGme8CJ2vh7pveIMo=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=GLgDKxPK+agn+9k4E5MbGlpZbeojM3CCiMB+0Nzz5cpdTpNrrfrAVXcgTK/5EkRavDbt7ixgPWhjvxKZVon99a6fwsVohACJooZ/mIQRvZeEwE1bVd+oEPk8x0z+3T0CwcJ3J5tcKzvxXv4OOSdiX4Bn9qdNRZ3oKrIo5FayaBo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=j6tIEUUl; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="j6tIEUUl" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0039A1F000E9; Thu, 30 Jul 2026 16:27:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1785428876; bh=rK+BoueAu5/AxZSmCB7m3UnuQz/v/hyJVuvyvwdfzbI=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=j6tIEUUl1k2gnutXZkMGxBNd7fNFdFSvgUrQ8DMy4QKawOTN7aY89OmbT4lxNCmd3 1esRWbvsURW6XwxQUayLzLSUYh4NwrEi/akNm/+fI5bK9hs5svCoqnZYCDA5zXBh6C fBdz3uiEKzmW6FJn+g5N/pUMp2cbJdK7qV1FdKtKffDOnnP5yzw4Igrcyrvx0HOfxq jurBquJ1T842oQC2dq0m2qBMh1QAmoe7GGoL0aK5f0gZ6fMuaeH6XLXbgSZgr11zmT zEn6d8iQb9INepnOZe8cYbHbQSKgf+aGQINAH7S1FMo/nTeKRELOR2ZC1hQYiC+hve Ymv8eOKjn0YiA== Date: Thu, 30 Jul 2026 17:27:37 +0100 From: "Lorenzo Stoakes (ARM)" To: Andrew Morton Cc: Avi Weiss , David Hildenbrand , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Soheil Hassas Yeganeh , Arjun Roy , Eric Dumazet , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm: return -ENOMEM for page-table allocation failure in insert_pages() Message-ID: References: <20260730071323.964321-1-thnkslprpt@gmail.com> <20260730091558.12e3d9029002c87c1f00b4aa@linux-foundation.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260730091558.12e3d9029002c87c1f00b4aa@linux-foundation.org> On Thu, Jul 30, 2026 at 09:15:58AM -0700, Andrew Morton wrote: > On Thu, 30 Jul 2026 08:42:49 +0100 "Lorenzo Stoakes (ARM)" wrote: > > > pages_to_write_in_pmd = min_t(unsigned long, > > remaining_pages_total, PTRS_PER_PTE - pte_index(addr)); > > > > /* Allocate the PTE if necessary; takes PMD lock once only. */ > > ret = -ENOMEM; <------------------------------ set it again? > > if (pte_alloc(mm, pmd)) > > goto out; > > > > The way this function is written is horrible in general, I hate 'preset default > > return value' as a pattern. > > It used to be the preferred way because > > ret = -ENOMEM; > if (expr) > goto out; > > generated slightly better code than > > if (expr) { > ret = -ENOMEM; > goto out; > } > > Whether that is the case with current compilers I don't know. Thanks for the background on that! I'd put money on there being no difference now :) but in any case that kind of micro-optimisation isn't really a concern here even if it was the case. -- Cheers, Lorenzo