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 20027318BA8 for ; Tue, 7 Apr 2026 12:31:33 +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=1775565094; cv=none; b=j4WX2d7rl86rbHRaRYP1TpkZ77JQMjbklZ+5Tr5N947U201Z81mXJCxNw+LW933FjqFVg43lDlWEnVgbmcgEFwwXfgXOnHBqXsWdPbksIiUMtpxh9LqtzrLVE/Kt5zxyM51yL58EgI+77efyUC4slB30WriY0TCVBWjaSL/3NY8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775565094; c=relaxed/simple; bh=uXvcg5sJLC+eK03dHFNMpWZIrpXMMbGikP4S+/FgjNM=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=f8lYruWIWcwxvjVwSKHJYeF906TGCcpc1gBTpOquYFOIfuqReqIQkqHnr+b1o7XVIbpY+E/zqE7xYMsM/rlgcuW1rvUoH4HGOJJxj/i9XaWomxdnVXOOglUvI7uh6TY8YbdfO0PPG4/iH+QGbPYpRfTbiecBhirw1ozSAubKh7o= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=tJBRVKfF; 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="tJBRVKfF" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9C8B5C116C6; Tue, 7 Apr 2026 12:31:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1775565093; bh=uXvcg5sJLC+eK03dHFNMpWZIrpXMMbGikP4S+/FgjNM=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=tJBRVKfF0L1uezM+e4WlIh+Fu9Bn9rNd0N+8Mx5Sa7ssA22JuTVgYp6LQnkpg35cm Vm8Jrio03albqeEPQ6XLN8594llQcBb+n+pWMbTbwTrFOJFr7hlz99SEwVhNwOjYb1 vi3AIsJ4ueNVNursxyCpKp298ApV1r1wJ+hU1Be7B+jM980I7UG5+iPs5w1tvkXZQN ctIIMltsFVcm029t4GTlsOleS5vNMVzgV6VoPjsr3N2s+y4laLgzM1zaRfWJTYqiNG zQIfluOYDU8ajAZ41xLFon4dk2/gtBNFu4vo82K0jOZeG6i4gqkgVfjfJoretxuY55 2BeBCkALb8Zmw== Message-ID: Date: Tue, 7 Apr 2026 14:31:29 +0200 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 v3 2/2] mm/mprotect: special-case small folios when applying write permissions Content-Language: en-US To: Pedro Falcato , Andrew Morton , "Liam R. Howlett" , Lorenzo Stoakes Cc: Jann Horn , David Hildenbrand , Dev Jain , Luke Yang , jhladky@redhat.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20260402141628.3367596-1-pfalcato@suse.de> <20260402141628.3367596-3-pfalcato@suse.de> From: "Vlastimil Babka (SUSE)" In-Reply-To: <20260402141628.3367596-3-pfalcato@suse.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 4/2/26 16:16, Pedro Falcato wrote: > The common order-0 case is important enough to want its own branch, and > avoids the hairy, large loop logic that the CPU does not seem to handle > particularly well. > > While at it, encourage the compiler to inline batch PTE logic and resolve > constant branches by adding __always_inline strategically. > > Suggested-by: David Hildenbrand (Arm) > Reviewed-by: Lorenzo Stoakes (Oracle) > Tested-by: Luke Yang > Signed-off-by: Pedro Falcato Can't say I'm thrilled about these hacks, but seems to work, so Reviewed-by: Vlastimil Babka (SUSE) > + if (likely(nr_ptes == 1)) { > + change_present_ptes(tlb, vma, addr, pte, 1, > + end, newprot, folio, page, cp_flags); > + } else { > + change_present_ptes(tlb, vma, addr, pte, > + nr_ptes, end, newprot, folio, page, > + cp_flags); > + } I wonder if there's anything about this trick that ensures the compilers will not eventually stop compiling it the way you intend. Have you talked to compiler people? :) > + > pages += nr_ptes; > } else if (pte_none(oldpte)) { > /*