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 9084AC30626 for ; Thu, 17 Aug 2023 14:38:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B6334940027; Thu, 17 Aug 2023 10:38:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B1251940009; Thu, 17 Aug 2023 10:38:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9B358940027; Thu, 17 Aug 2023 10:38:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 87B55940009 for ; Thu, 17 Aug 2023 10:38:41 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 55BC1B2A3A for ; Thu, 17 Aug 2023 14:38:41 +0000 (UTC) X-FDA: 81133852842.07.F0F97AB Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) by imf07.hostedemail.com (Postfix) with ESMTP id 1E8164001A for ; Thu, 17 Aug 2023 14:38:38 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=FowLE3Z7; dmarc=none; spf=pass (imf07.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.50 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692283119; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=L9vWSNOyQ40/a//fJoXOBwGUU2y6drxoj4nh46dmg+4=; b=QavX/Spw0bUcXMbl2TSjQdeip6B+etKiDEoIXVNGuv1CSEr/kZ2lBWqk9rAKXsqwtsSxTh Rv3kvo2d/XWvyiOEB99L2z8ciqYzZQZJo+dwdwQtVGPrx5jKXWSZPzSh+tYOGFkN1igaVC cMIa3A6aohMihmG9iopzLYu2EZ/sdkI= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=FowLE3Z7; dmarc=none; spf=pass (imf07.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.50 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692283119; a=rsa-sha256; cv=none; b=UE1ZESHNqWNEZm9Dek5NGzw7VIP4cJmEiJf5+0nRWu5OZsBsSahrAbVc4pf8pVk1ufOY20 pgMrwPwQCKDliQUo9b1v+3aWF2TJ+mk8D4z6Q5uLks18Jp0GZemuPsU61gIv2/T+RyCtD/ 0V75VbFMW5+3Yz0IUjudmaPoVTuxeKo= Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-99c136ee106so1032040366b.1 for ; Thu, 17 Aug 2023 07:38:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1692283117; x=1692887917; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=L9vWSNOyQ40/a//fJoXOBwGUU2y6drxoj4nh46dmg+4=; b=FowLE3Z7QscMh4BPSbKpcGzCmdve34ej608z/fV+mvkQe0bNMCU+VWjfdb0WrWvSKI DEyJ2UOInJBFQ46iFr4vVSfbjSSnQn92jYfjVHrDJzNmyB1w3DmiAEHaEipQ5vTQOzGG km6doR0hZ5SUOzhVDPp6wj9eJC+yWAxE8la9s= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692283117; x=1692887917; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=L9vWSNOyQ40/a//fJoXOBwGUU2y6drxoj4nh46dmg+4=; b=T+2j3Ct3+N+mIPrDVbP1aLhVregsZ6ZYD730F3E9+3RTg/+sD+gCqr2mBYuXMta8a8 R1DQB2MpifRdUFRxO2r3VBDHMZ6r/qIdkM+B35NtSTJe4ZwgrjSM0gbyyVSauYvuStol uQYN5P+1slZHb2YMZa5PX1baJWSgFXFgrU5YIba1oV9N3v4t14pJiHCc2A7jwURd5Qbe yb5GdYh7F+NsyLXA2dqVCyBgxGAtOTj1BzG8CKpolozPI+aJcgtPfpcsyD50w+O6iBuo A5NmctMR4dI9Orx0y2Tih543EOywmdGbgu/KvEij3OTO9QOnRKbrHSjeqdK11da09FPy 2vig== X-Gm-Message-State: AOJu0YxJCHVBK1fKM8HWz77ysJuKAofGoMGEcOzuV32rQLcVPADsBMtO d/5YB0T5HIuAEvpXHCEeXJsXJsWWikEK+Oxod2gkE0I/ X-Google-Smtp-Source: AGHT+IEr9VcGbKuTpRQ7fnfebAqIh0fkMwzUoLd0xZ6wGbO6A51IqqK8hanRyAVnBjAhryvO+DwFdg== X-Received: by 2002:a17:907:1de0:b0:99b:d1d8:d747 with SMTP id og32-20020a1709071de000b0099bd1d8d747mr5635428ejc.27.1692283116940; Thu, 17 Aug 2023 07:38:36 -0700 (PDT) Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com. [209.85.218.50]) by smtp.gmail.com with ESMTPSA id lj9-20020a170906f9c900b00988be3c1d87sm10208164ejb.116.2023.08.17.07.38.36 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 17 Aug 2023 07:38:36 -0700 (PDT) Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-99bfcf4c814so1034234266b.0 for ; Thu, 17 Aug 2023 07:38:36 -0700 (PDT) X-Received: by 2002:a17:907:a067:b0:99c:570a:e23e with SMTP id ia7-20020a170907a06700b0099c570ae23emr5392064ejc.24.1692283115907; Thu, 17 Aug 2023 07:38:35 -0700 (PDT) MIME-Version: 1.0 References: <03730b50cebb4a349ad8667373bb8127@AcuMS.aculab.com> <20230816120741.534415-1-dhowells@redhat.com> <20230816120741.534415-3-dhowells@redhat.com> <608853.1692190847@warthog.procyon.org.uk> <3dabec5643b24534a1c1c51894798047@AcuMS.aculab.com> <665724.1692218114@warthog.procyon.org.uk> In-Reply-To: From: Linus Torvalds Date: Thu, 17 Aug 2023 16:38:18 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 2/2] iov_iter: Don't deal with iter->copy_mc in memcpy_from_iter_mc() To: David Laight Cc: David Howells , Al Viro , Jens Axboe , Christoph Hellwig , Christian Brauner , Matthew Wilcox , Jeff Layton , "linux-fsdevel@vger.kernel.org" , "linux-block@vger.kernel.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 1E8164001A X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 6x8uwkpi48bt9pkptxufjiohd77uw3kh X-HE-Tag: 1692283118-481600 X-HE-Meta: U2FsdGVkX19Km9Bb+7wk+wKxKMwB5tjrTkWRpblJYlBq+laUQUehBG7m2v+bVH6y/OFd3+M2SVI9y4IQHGyE6JdFh9b0r7zDoQSJcR1sjCkUVsgxbHcy8aBq2BMsOCCa+eiayP1IkmfI3v7XC+rNhtIQHyN/wvxujIbO4ssIeP01WvXhz5ISMRSQoA1BEVbu6zaMy1JPRheDNFWqjEUqm+o8AlmlYkbE4ydupRSwJxF9pDr/YzRqQP/4NTX6bCkrzCKjvCYt94/e4U/RZKYsq+ha8o3LpAP9JHKZnFjCZ52iUTdFd/PWpRWpUOfdvuxqk6ipcIU7tORtAeM3O+RR19TEhMV3gKEsW7LxGyA0BGjSaE9PQ9f+3JHqYuNg3rCb+r++NqnlHsvNZWwAyD2b29OJ2aNNQDqAzNJRYWHcjanXZbYlNdI3JcTGmTv+owlJ5RPdaiIZpKmjSZkvRJJq6NhR8Old/Vr12JqjoTFRC8K4h6Y4TLiTQ9SxXes0KS/4nH56F8HQE2EmGTvZhfEY/LJJ5ZWfUjinCnQ7l4x3LiStvRbUqiZP98z9x9oBogVmzIu184RaCw60aD7Z3xbxv66K36hZHCSq7mnLHEeRfO8exHpOPPa3rsqcn+PY3FLBSwS9hBYKCSRsF7F/+y/kseHu8hFBYU82OffEPt1zWO/wVTzItTXRYZhUJt4tkEO2L+pWzXvH+MgQr6QqKTpiovO6ctbMUnmg/FOO4jVTJMwNjcmXTSKz8KMY1VuGLzyOmXsW8liruWBrRVfKpFW//hZr+QtJqngQeoq/dVAZOr6MNFLhTeqBH3xEzN3EM+QBq07Ja/7+G+y0JrMUc0M6U3jiZ5EASYLJNivvEwuXMB6LUl9UrzV2aYxSJQrGN5dY4m8AQeqdsvbjMepLIsLdK/v61X9+1fOODdKYf/Hxo9Olpb2euNoLgXOf+HMXfaDH9MBWniFWHfpUqZYfXoC pYJXvEhu Q66HszBwpym3Yy4tPVEskx2LEwdXel+2vcHNwVf+ERtB6lx4rSAl3mXB9wGzlIUj1tx9iolcuiw0N/Z/b5Mi8N9uvjW0J7jMJ43W687bqBFuxzzA0DPpmpJZQVREgOqwAOyPeot8yu91rNZGyw94FNm9SW6Bb1QKgwz5JpEpSk/i3oaJF6GLTUCnXGZo/hCd5JbEQ4ZlCAZ6NRpQS0vPT2KMVNs4qXbZE0lEEltlPIHQyDCo5X8LUo3m0247ze/YETv81wwKFH7PiyPOlvQYhVZFGGjptndFwxBt6A0yCREygmI9e7uLCMJ7R8QtwU+Fklnm0WpqtgNOLao4AgQS8s7GBJ0QSu+oELTQ0/XdtZ0Qv6Wh4lJ9YoRnkcDllKc2qtURP9wc43RENJ7q8As6h9NdKkBtowzgBk69Ctt47LnHS+Zasq2Mwbw7GpAC6upKE4oAZxjn8fnEpyBRdNMf+EJMMvAjuBNVk7MF1/OJV2PFTp1vfUDUEbFEqJRc25icLRI0YNt2/ltnLC55IOnHuy0j+aYI8RYzVddE4b+kaLraHu6/xYFXJQtKyxv8G2Stv0S4soXEUfjYFo/FcXGBicg+U/jXCxn6J6T8TriiMnmnvN0Vk3HZSHAWmpkXubPdAvlrlOKVzUSO2zj8= 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, 17 Aug 2023 at 10:42, David Laight wrote: > > Although I'm not sure the bit-fields really help. > There are 8 bytes at the start of the structure, might as well > use them :-) Actually=C3=A7 I wrote the patch that way because it seems to improve code generation. The bitfields are generally all set together as just plain one-time constants at initialization time, and gcc sees that it's a full byte write. And the reason 'data_source' is not a bitfield is that it's not a constant at iov_iter init time (it's an argument to all the init functions), so having that one as a separate byte at init time is good for code generation when you don't need to mask bits or anything like that. And once initialized, having things be dense and doing all the compares with a bitwise 'and' instead of doing them as some value compare again tends to generate good code. Then being able to test multiple bits at the same time is just gravy on top of that (ie that whole "remove user_backed, because it's easier to just test the bit combination"). > OTOH the 'nofault' and 'copy_mc' flags could be put into much > higher bits of a 32bit value. Once you start doing that, you often get bigger constants in the code strea= m. I didn't do any *extensive* testing of the code generation, but the stuff I looked at looked good. Linus