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 19886C38142 for ; Tue, 24 Jan 2023 14:12:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 63EDD6B0071; Tue, 24 Jan 2023 09:12:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5EF4A6B0075; Tue, 24 Jan 2023 09:12:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4B6BA6B0078; Tue, 24 Jan 2023 09:12:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 3BCCF6B0071 for ; Tue, 24 Jan 2023 09:12:12 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id EF883AB05E for ; Tue, 24 Jan 2023 14:12:11 +0000 (UTC) X-FDA: 80389882062.20.2048D22 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf21.hostedemail.com (Postfix) with ESMTP id 1AE581C0016 for ; Tue, 24 Jan 2023 14:12:08 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=VU1HyD39; spf=pass (imf21.hostedemail.com: domain of dhowells@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhowells@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674569529; 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=QqZGwflqtmW5gx1YYpxSf8Ian1OgFOTlCjwpTEMfDZc=; b=aKJxWvQnpgbYZOgqOvgfoHmdnLPEqgyLGppGJSt7w+MSVe0xd+dys9iqbbac1oiQW3/R3b rD9k/mvDO0ve5W/KN29TPjgtFs4Hp80rgwrtumg2lY0cFpAoX/dBkLCf/ptRn/oqhkfPxL fItRydnaYCQA2eNNaBQlStZ7gKjeMeU= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=VU1HyD39; spf=pass (imf21.hostedemail.com: domain of dhowells@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhowells@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674569529; a=rsa-sha256; cv=none; b=nBjEbkVMTn3/25p5EvCXCKdhSaID6XNyv90zzupTj7nhIBzo/Ait9Z8SxONQGUdh9f90eE L7l0H0QjPbml7G7wjCdfpTXKMwe0ARK7eBuZMIYuI64+No0db0E94sKIVh74xxsFwJ4HKk 4ARs7AFw8zvlBazaVYdGu02eE5stygY= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1674569528; 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=QqZGwflqtmW5gx1YYpxSf8Ian1OgFOTlCjwpTEMfDZc=; b=VU1HyD39psPtuDeZASQ9hsYfM7Q1JtQOWILYw7xtDBi8CdxPVefJhENKREuR6kAkGJ6lCe j8a1TvP5HSVf3fJ/7gt2Z3ZEtlXeCfaFQUFPmyAk49pjuQjPVtbvQ8d9sSrVHnM/aon7cQ JJ/xN3IWloTXPhvIAbAzRCApmPiFIDo= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-590-bbXy74RkPMmszM7E1OBB2g-1; Tue, 24 Jan 2023 09:11:53 -0500 X-MC-Unique: bbXy74RkPMmszM7E1OBB2g-1 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A62B42804822; Tue, 24 Jan 2023 14:11:52 +0000 (UTC) Received: from warthog.procyon.org.uk (unknown [10.33.36.97]) by smtp.corp.redhat.com (Postfix) with ESMTP id 113AA492C3E; Tue, 24 Jan 2023 14:11:50 +0000 (UTC) Organization: Red Hat UK Ltd. Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SI4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 3798903 From: David Howells In-Reply-To: References: <20230123173007.325544-1-dhowells@redhat.com> <20230123173007.325544-11-dhowells@redhat.com> <31f7d71d-0eb9-2250-78c0-2e8f31023c66@nvidia.com> <84721e8d-d40e-617c-b75e-ead51c3e1edf@nvidia.com> <852117.1674567983@warthog.procyon.org.uk> <852914.1674568628@warthog.procyon.org.uk> To: Jason Gunthorpe Cc: dhowells@redhat.com, John Hubbard , Al Viro , Christoph Hellwig , Matthew Wilcox , Jens Axboe , Jan Kara , Jeff Layton , Logan Gunthorpe , linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, Christoph Hellwig , linux-mm@kvack.org Subject: Re: [PATCH v8 10/10] mm: Renumber FOLL_PIN and FOLL_GET down MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <859141.1674569510.1@warthog.procyon.org.uk> Date: Tue, 24 Jan 2023 14:11:50 +0000 Message-ID: <859142.1674569510@warthog.procyon.org.uk> X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 1AE581C0016 X-Rspam-User: X-Stat-Signature: aan8smg91ztmga9uexdd4h88hzsid85x X-HE-Tag: 1674569528-150555 X-HE-Meta: U2FsdGVkX18HYcCeU/D1s0deLKFLAx7+f0FU69xeff21SEsFZmPS7z0I3KbcIMX4DvC2JnGJeNroqs6cneVwkmWA0nVv9zFnW7y2CyTUbBDImg3pfEGrR2r8QOsXCJ8/Fjn/pSMRXoedjMMpIFbkm6UlZVtATUT0Le1GZFdzyE5RIE+aDV/JM5kXJfDnf1FwKA3secEeOOYvr+xC8sCtTlDTljg63nxIjciFEO+bdkQ7kIxoIOYj6BbtyD9H7k3Sys8qOWECteXl6OjBBqVvxg5N+ptdvQ0rT7TOmns4UQfoLb91Itr2p9IAXeT6+jW1iZCmflc1Zf4I/SFI42Fb66OAtAmO0Wms7cR7KoTUf5hV0QQ1MqwzNRWOLqeLhQwvvaH9ZHPiYrrm8RXIDjzAg9aOa+otvhQjn9YUUuQo1H1XMcZE5GrD8FVGoP42McW3AW/FDv52d59B4524YiuKEzOY3hdDTEVPgOaAyrWVpi/7Jc3Qy86DEa56GhIsPRr9d7PnwUxHwYRG9/3p4aOMfex/EyNXGi73mwMfiw/NUXBP91qnX9ra810Eru+36EjzxkVXFgr1g+9Tb6hmRuVL4h+ZxClrnTENmHoOjn68NJZAHSdFvg4APxZSS5JXrmYp43+IzRxMWeITD6VT38LugpFFGwd0yZr96LDUTsq4KY48eSxKlknbe2BoGgams/Sg0HsZlGKQjgAFYO/qWgDMmsI+YknAXWeYHu92edQFckAvmmfwsvbSVVkZRg5VAuwfs0XI4ITR54WYjqNpcoIIxte6Lr+kdwsE0z3t0YZ1ydAKrLZbjXeFStjK93nmgZtlYbCx2OouG/wQtu+b1gr8xxtTTPujU2748xqT4FrzSPj9/uHeGuz2UtBB0/Mz+m6bilzfaWLKwGpsFqJUoksuQ7R/Chh0m4M/AYraR343Mu5yujxYBP2c8x4KtEvOcD/sif0+9bQhRcevjnrQfjE 3U+BSOrQ x133Tw50RXStbc8cfxEHp4BtriewI47kY4+8yzpx9aqKk+gWi143sYF3v+KUroR0MQNqOclNzKdR+dv65oDnsZYclLTO0OlGWhyrl3H/HTBn4W4oXcnbGcm/toM2bD147bkGABqIBCcqhxX5gzeSWwVNt8wzhUutuYCNiIdw+0X8kcmHGUlnsW7qh6LaAcwaVPRcIsrwjwZe7yE0rOErnBgNp0d66NeLMTFSXoGvxyUdXEWLHb8xUe3S1Zw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Jason Gunthorpe wrote: > if (cleanup_flags & PAGE_CLEANUP_UNPIN) > gup_put_folio(folio, 1, true); > else if (cleanup_flags & PAGE_CLEANUP_PUT) > gup_put_folio(folio, 1, false); gup_put_folio() doesn't take a bool - it takes FOLL_PIN and FOLL_GET: static void gup_put_folio(struct folio *folio, int refs, unsigned int flags) though I could do: if (cleanup_flags & PAGE_CLEANUP_UNPIN) gup_put_folio(folio, 1, FOLL_PIN); else if (cleanup_flags & PAGE_CLEANUP_PUT) gup_put_folio(folio, 1, FOLL_GET); But the reason I wrote it like this: gup_flags |= cleanup_flags & PAGE_CLEANUP_UNPIN ? FOLL_PIN : 0; gup_flags |= cleanup_flags & PAGE_CLEANUP_PUT ? FOLL_GET : 0; is that if PAGE_CLEANUP_UNPIN == FOLL_PIN and PAGE_CLEANUP_PUT == FOLL_GET, the C compiler optimiser should be able to turn all of that into a single AND instruction. David