From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1A1571D9A54 for ; Mon, 16 Mar 2026 10:12:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.130 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773655969; cv=none; b=FVS/SsxrfkhlQHPvIBMcySjAKgdGuDfSdY4SndvntETjCUQR8BrQFeyunTNeI4Pk4CVKvhj/m6y/0H2xsRxxABo1HMfBfiQvDqh9O3lLDuwFg62ZEWw18tC3+3azvW/D+VtdFcCZYgdROzBtlGzEEHo0iS7QFjqRJ8Nu1tcutsM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773655969; c=relaxed/simple; bh=Ybl9ahm1In1aILeCPyaj9iBWznRrO/hRPugxd13u2jI=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=k3Qou4QsW+ANGTNxVuszH0GQp4CXRrCTtFp9BoMJ7QNWJBjW+DXmisbnBTaaMyfQb8JnblKBFvebiNKLuU6e/m7G2n66Xh53THZEOo8kxaSbexeoDSO2kYGfyjwBm48Yce+Lr+bdvfBML8WwlthnBKpNefXFPa3Z7W+cd4+OeJU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de; spf=pass smtp.mailfrom=suse.de; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=u31zftbn; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=NXNVNU+d; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=u31zftbn; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=NXNVNU+d; arc=none smtp.client-ip=195.135.223.130 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="u31zftbn"; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="NXNVNU+d"; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="u31zftbn"; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="NXNVNU+d" Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (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 smtp-out1.suse.de (Postfix) with ESMTPS id 42BB44D202; Mon, 16 Mar 2026 10:12:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1773655966; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=+iPk+kYTrA3sYt4clmKzkNQj2xqRGJRDRvfHM7UuFEY=; b=u31zftbn4/HDHcDEZ0U3lhHjcgXyFUJ1GSch4zMfReeiQtngBgud7jhdkwQdFMNP9qGNJ3 /5R+K6pJ/kLC5UUQx7kTZJKyaAwp1cke4uepzlSUMfPaSkeFRuIM1lykr9rH6gDhie2dQX m0kqaYeHFPZhrUsHeeE1oeUgA5cGP00= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1773655966; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=+iPk+kYTrA3sYt4clmKzkNQj2xqRGJRDRvfHM7UuFEY=; b=NXNVNU+d48lxqZjMVaQk9Ht0aCkQ987jbYY5bPkTTAPVh3DY6vE+mEtfpYj0gnm5fnHAmD 5WyMv6RV5DVESdCg== Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1773655966; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=+iPk+kYTrA3sYt4clmKzkNQj2xqRGJRDRvfHM7UuFEY=; b=u31zftbn4/HDHcDEZ0U3lhHjcgXyFUJ1GSch4zMfReeiQtngBgud7jhdkwQdFMNP9qGNJ3 /5R+K6pJ/kLC5UUQx7kTZJKyaAwp1cke4uepzlSUMfPaSkeFRuIM1lykr9rH6gDhie2dQX m0kqaYeHFPZhrUsHeeE1oeUgA5cGP00= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1773655966; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=+iPk+kYTrA3sYt4clmKzkNQj2xqRGJRDRvfHM7UuFEY=; b=NXNVNU+d48lxqZjMVaQk9Ht0aCkQ987jbYY5bPkTTAPVh3DY6vE+mEtfpYj0gnm5fnHAmD 5WyMv6RV5DVESdCg== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.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 imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 0B2F24273B; Mon, 16 Mar 2026 10:12:46 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id eJ5dAZ7Xt2kQTAAAD6G6ig (envelope-from ); Mon, 16 Mar 2026 10:12:46 +0000 Message-ID: Date: Mon, 16 Mar 2026 11:12:45 +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 v3] drm/shmem-helper: Fix Map huge page mapping in fault handler To: Boris Brezillon , Maarten Lankhorst , Maxime Ripard Cc: Pedro Demarchi Gomes , David Airlie , Simona Vetter , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org References: <20260316002649.211819-1-pedrodemargomes@gmail.com> <004c48cb-196a-4aac-bfc4-c440c9fd74d2@suse.de> <20260316102810.7b26c5ec@fedora> Content-Language: en-US From: Thomas Zimmermann Autocrypt: addr=tzimmermann@suse.de; keydata= xsBNBFs50uABCADEHPidWt974CaxBVbrIBwqcq/WURinJ3+2WlIrKWspiP83vfZKaXhFYsdg XH47fDVbPPj+d6tQrw5lPQCyqjwrCPYnq3WlIBnGPJ4/jreTL6V+qfKRDlGLWFjZcsrPJGE0 BeB5BbqP5erN1qylK9i3gPoQjXGhpBpQYwRrEyQyjuvk+Ev0K1Jc5tVDeJAuau3TGNgah4Yc hdHm3bkPjz9EErV85RwvImQ1dptvx6s7xzwXTgGAsaYZsL8WCwDaTuqFa1d1jjlaxg6+tZsB 9GluwvIhSezPgnEmimZDkGnZRRSFiGP8yjqTjjWuf0bSj5rUnTGiyLyRZRNGcXmu6hjlABEB AAHNJ1Rob21hcyBaaW1tZXJtYW5uIDx0emltbWVybWFubkBzdXNlLmRlPsLAjgQTAQgAOAIb AwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBHIX+6yM6c9jRKFo5WgNwR1TC3ojBQJftODH AAoJEGgNwR1TC3ojx1wH/0hKGWugiqDgLNXLRD/4TfHBEKmxIrmfu9Z5t7vwUKfwhFL6hqvo lXPJJKQpQ2z8+X2vZm/slsLn7J1yjrOsoJhKABDi+3QWWSGkaGwRJAdPVVyJMfJRNNNIKwVb U6B1BkX2XDKDGffF4TxlOpSQzdtNI/9gleOoUA8+jy8knnDYzjBNOZqLG2FuTdicBXblz0Mf vg41gd9kCwYXDnD91rJU8tzylXv03E75NCaTxTM+FBXPmsAVYQ4GYhhgFt8S2UWMoaaABLDe 7l5FdnLdDEcbmd8uLU2CaG4W2cLrUaI4jz2XbkcPQkqTQ3EB67hYkjiEE6Zy3ggOitiQGcqp j//OwE0EWznS4AEIAMYmP4M/V+T5RY5at/g7rUdNsLhWv1APYrh9RQefODYHrNRHUE9eosYb T6XMryR9hT8XlGOYRwKWwiQBoWSDiTMo/Xi29jUnn4BXfI2px2DTXwc22LKtLAgTRjP+qbU6 3Y0xnQN29UGDbYgyyK51DW3H0If2a3JNsheAAK+Xc9baj0LGIc8T9uiEWHBnCH+RdhgATnWW GKdDegUR5BkDfDg5O/FISymJBHx2Dyoklv5g4BzkgqTqwmaYzsl8UxZKvbaxq0zbehDda8lv hFXodNFMAgTLJlLuDYOGLK2AwbrS3Sp0AEbkpdJBb44qVlGm5bApZouHeJ/+n+7r12+lqdsA EQEAAcLAdgQYAQgAIAIbDBYhBHIX+6yM6c9jRKFo5WgNwR1TC3ojBQJftOH6AAoJEGgNwR1T C3ojVSkIALpAPkIJPQoURPb1VWjh34l0HlglmYHvZszJWTXYwavHR8+k6Baa6H7ufXNQtThR yIxJrQLW6rV5lm7TjhffEhxVCn37+cg0zZ3j7zIsSS0rx/aMwi6VhFJA5hfn3T0TtrijKP4A SAQO9xD1Zk9/61JWk8OysuIh7MXkl0fxbRKWE93XeQBhIJHQfnc+YBLprdnxR446Sh8Wn/2D Ya8cavuWf2zrB6cZurs048xe0UbSW5AOSo4V9M0jzYI4nZqTmPxYyXbm30Kvmz0rYVRaitYJ 4kyYYMhuULvrJDMjZRvaNe52tkKAvMevcGdt38H4KSVXAylqyQOW5zvPc4/sq9c= In-Reply-To: <20260316102810.7b26c5ec@fedora> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -4.30 X-Spam-Level: X-Spamd-Result: default: False [-4.30 / 50.00]; BAYES_HAM(-3.00)[100.00%]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_TLS_ALL(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; RCPT_COUNT_SEVEN(0.00)[8]; FUZZY_RATELIMITED(0.00)[rspamd.com]; MID_RHS_MATCH_FROM(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; FROM_HAS_DN(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,ffwll.ch,lists.freedesktop.org,vger.kernel.org]; TO_DN_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:mid,suse.com:url] X-Spam-Flag: NO Hi Am 16.03.26 um 10:28 schrieb Boris Brezillon: [...] >>> -static vm_fault_t drm_gem_shmem_fault(struct vm_fault *vmf) >>> +static vm_fault_t drm_gem_shmem_any_fault(struct vm_fault *vmf, bool try_pmd) >> Please write two functions. One for huge pages and one for regular page >> faults. > That's actually what the first version of the patch was doing, and I > strongly disagree with that. In my opinion, it's more error-prone to > have two distinct implementations duplicating most of the logic > (locking, bookkeeping, ...) than having both handled in the same > function and have dummy wrappers to decide the kind of vmf_insert_pfn > to do (_pmd vs regular). Think about the folio_mark_accessed() you > recently added, and how easy it would have been to add it to > drm_gem_shmem_fault() and forget it in the huge_fault handler. But that would be a _simple_ one-time fix.  All these branching any parameterization will stay for _all_ later changes to that code. There's little to be gained from cramming things into single functions. I'd say that we have two distinct fault callbacks for huge pages and regular ones already support this point. Best regards Thomas -- -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)