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 9472AC54EAA for ; Thu, 26 Jan 2023 22:27:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 29D896B0071; Thu, 26 Jan 2023 17:27:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 24CBE8E0001; Thu, 26 Jan 2023 17:27:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 116436B0074; Thu, 26 Jan 2023 17:27:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 01DF36B0071 for ; Thu, 26 Jan 2023 17:27:20 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id AAF1D80A79 for ; Thu, 26 Jan 2023 22:27:20 +0000 (UTC) X-FDA: 80398387440.26.931662A Received: from zeniv.linux.org.uk (zeniv.linux.org.uk [62.89.141.173]) by imf03.hostedemail.com (Postfix) with ESMTP id F00FD20014 for ; Thu, 26 Jan 2023 22:27:18 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=linux.org.uk header.s=zeniv-20220401 header.b=doVxp+d4; spf=none (imf03.hostedemail.com: domain of viro@ftp.linux.org.uk has no SPF policy when checking 62.89.141.173) smtp.mailfrom=viro@ftp.linux.org.uk; dmarc=pass (policy=none) header.from=zeniv.linux.org.uk ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674772039; h=from:from:sender: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=STYji93U3ACAaGQFYmzFPWVQjHiGVhb+LyWgK4H0YqE=; b=gvia+690JyjnuVmBvPMoEwfb8Uk+OiTPDoq1PpchrFkMDVbw4GaBczHP8XxaadAOcXXF0S X1lE4z45drf3i8GhExDKJXPIq9R37AmK9JXFxDUq1T0vKXyAl6gAIu3vvQkkRmjIbFKmxw W74QFmHpraUNMO1fsrFm4dhSWIwF1k0= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=linux.org.uk header.s=zeniv-20220401 header.b=doVxp+d4; spf=none (imf03.hostedemail.com: domain of viro@ftp.linux.org.uk has no SPF policy when checking 62.89.141.173) smtp.mailfrom=viro@ftp.linux.org.uk; dmarc=pass (policy=none) header.from=zeniv.linux.org.uk ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674772039; a=rsa-sha256; cv=none; b=PuZ+EWX1DjtmaF2RdBBOzekW447JRD+xQvp4QmCV1jJ7lk89z6BtVi3lutvmOkLa5TKG17 uDk2KWM5VAajZP2xYf1dggXdLzVG8vLB23tg+6UevNmCVRlqKN1HwnviLFIEGFXhjndHOH HM9rPFcHK1z9M7xCThO03TqJi/A0t3M= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=linux.org.uk; s=zeniv-20220401; h=Sender:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=STYji93U3ACAaGQFYmzFPWVQjHiGVhb+LyWgK4H0YqE=; b=doVxp+d4MftLA/hoq1I/XVGa9k vznOjMNWPk/5xKmfT78tFmvPfpqLZm55p/BDZLhARkzVgjqati18BiuamgW2J9J6i0PASTm2t02i3 oFGu+A9yxtL51prBiRJeJm2dCcuwWHZjRBVpcV/H3S2KIlfAyqdRHzMmMHgUT37wIOcxlDx1lNmOe qwfJIAo4C+28FNp8DW9IzxLr7Jr+gwoEc94wC3jhLe+TqcMotyHGewLoBdYFsZR/pitGWlOszRXz9 aQTHvlVi/DQcE3vQomIDalXhSF1aR+wAWQ7senFmGvOHTCPVadBxfAW7XCTQX2Pc5R3D+JevZqXFb 8vBPfsGA==; Received: from viro by zeniv.linux.org.uk with local (Exim 4.96 #2 (Red Hat Linux)) id 1pLAi3-004KMs-11; Thu, 26 Jan 2023 22:27:07 +0000 Date: Thu, 26 Jan 2023 22:27:07 +0000 From: Al Viro To: David Howells Cc: David Hildenbrand , Christoph Hellwig , Matthew Wilcox , Jens Axboe , Jan Kara , Jeff Layton , Jason Gunthorpe , Logan Gunthorpe , linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Christoph Hellwig , John Hubbard Subject: Re: [PATCH] iov_iter: Use __bitwise with the extraction_flags Message-ID: References: <20230125210657.2335748-1-dhowells@redhat.com> <20230125210657.2335748-2-dhowells@redhat.com> <2613249.1674726566@warthog.procyon.org.uk> <2638928.1674729230@warthog.procyon.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2638928.1674729230@warthog.procyon.org.uk> X-Stat-Signature: ae48z4uy5khmz6hmhb658jyiwuzubgtq X-Rspam-User: X-Rspamd-Queue-Id: F00FD20014 X-Rspamd-Server: rspam06 X-HE-Tag: 1674772038-760017 X-HE-Meta: U2FsdGVkX1/B5MoSv3hhh7ckLhzJ0Cf0EnaN3Nkm8Jxx2mX+XVdSwbbTz+EnFlSIdp/gLbLn9lKdUC8fTA/ZI8qA8NMk3iUciZtZ4i+m8wkJKFjpJBErlRh/W2hseZN5bowm7dl0enKjJqydneGXbzDg5GtdA3SNeq+VoWU5RwNw0KC0AIYrrKBbWvqEM/fEbK5kHpMjfX09+GLdoDQZvzUfvmyhYBtqNim565YikhV59RDmxduvJDfWMoZkVv9vX+cg1n0z1sMZ22ahW1/X2dE/nyyt5c4NNipTLbdcOYf06hv0alXWLAHELGGvUu7pzeIxi9GJEzVo7OUhv7hMWqA5Q3loKdQhiMae24yqVM74qPyALq5eCUtyllKtVBtA7p2scj4g/OEqH8eDazbKqQGd7GF6+AgtWoydBGBytQk1Ie9COWVKKL8h8o/XOHqmRP/vyJ2abmPzZwvjWaU/6EygyQKfX0uPXipqaqsia4agntSdWOzyHUYDKLKEnNyF8FFEIzpAZ+KbhHZx9dUrawcPqeMD04YSvR2qqwD3H7I5SRCk4hapHmiDJ2COU26uIYG4xjuO2DIJ5lDB4eWLvoMOZYY95qVIq4FT1YyugHI7ZGG2QAkNUtkpqzSo8L2SF8Ed9pqAUlOMpyh6LN1KbZETzsIgWfMVjL63dMAhPGKokLC1TliBIGYqLTJJG+YAviJpxStuHhI7Hk4jUsaLOInPaVR8z+1+2gYI5H7JX6zmQvwMrDiv/va83uyImuI/X+XGmbwc8vBVgfnWxVqd/DSaMmbrHIKqgcVMrGG4LbK3kosHccMUYxSrSCliO8x+W2upLo7Qmi0pHLCMN8BjJ/TX/vWyIg5gmH6ZZVG13/0MM/yASE+tD+QVaexq/qOR4SB16w/BzJM2Qfw6w/InB5gKJm9iXZ8uXn3PYH9qHBJu6k2MlA/sIpUMoHRhii82+n9beX5y1MoXZGBrwS6 mpaNyke9 KWlumHdSfgmh5LP0m7tas4aif3zuz0GF/kxI/PwdK/iU56dI8h7vFmPP7ATYew4FCFTUEWX3IxyG5UrDs8+IzUF0dPXuTn17AksHZVKrDAn6Zf04ws5S4AOOKu5spTSIuvrls3M9TpKu/x+SLXhe9YWH2L8ALuRhWURCghYAMhtLEH6I8P+sH1dDFhmr0PPmOJL+8yW+F/9lV6dMBboimeq/1HkS0Rv71yLrbYsMeSmu3Dt0Fl+tYEtfmWcIRxlMG5ccioyn4XsuXUwhv9FK0iGG5BZsvH/GIl9h14Uv5XbBQ+EYe8EF3ex8cHF5e3Ebv0RBypXX1ayA8Gmby5JggbuyUX44TXoD7E15RTG+gnIdoF7C98tcx0Qy24DfICS+g9F/vGw3MSzNTU9VeI4Q+XCPSZTnibKoJC+uf+5wboh67AWkRKgA9pxczCg== 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: On Thu, Jan 26, 2023 at 10:33:50AM +0000, David Howells wrote: > X-Mailer: MH-E 8.6+git; nmh 1.7.1; GNU Emacs 28.2 > -------- > David Hildenbrand wrote: > > > >> Just a note that the usage of new __bitwise types instead of "unsigned" is > > >> encouraged for flags. > > Something like the attached? > > > $ git grep "typedef int" | grep __bitwise | wc -l > > 27 > > $ git grep "typedef unsigned" | grep __bitwise | wc -l > > 23 > > git grep __bitwise | grep typedef | grep __u | wc -l > 62 > > *shrug* > > Interestingly, things like __be32 are __bitwise. I wonder if that actually > makes sense or if it was just convenient so stop people doing arithmetic on > them. I guess doing AND/OR/XOR on them isn't a problem provided both > arguments are appropriately byte-swapped. Forget the words "byte-swapped". There are several data types. With different memory representations. Bitwise operations are valid between the values of the same type and yield the result of that same type. The fact that mapping between those representations happens to be an involution is an accident; keeping track of the number of times you've done a byteswap to the value currently in this variable is asking for trouble. It's really easy to fuck up. "Am I trying to store the value of type X in variable of type Y (presumably having forgotten that I need to use X_to_Y(...) to convert)" is much easier to keep track of.