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 C556AC4332F for ; Wed, 13 Dec 2023 17:07:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 112056B00A0; Wed, 13 Dec 2023 12:07:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0C1AC6B0196; Wed, 13 Dec 2023 12:07:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E7D986B0198; Wed, 13 Dec 2023 12:07:09 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id D7AC46B0195 for ; Wed, 13 Dec 2023 12:07:09 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 88A641A0202 for ; Wed, 13 Dec 2023 17:07:09 +0000 (UTC) X-FDA: 81562425378.03.7ABF150 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2048.outbound.protection.outlook.com [40.107.220.48]) by imf28.hostedemail.com (Postfix) with ESMTP id 93D8EC0005 for ; Wed, 13 Dec 2023 17:07:06 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=dA6ldQq+; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf28.hostedemail.com: domain of jgg@nvidia.com designates 40.107.220.48 as permitted sender) smtp.mailfrom=jgg@nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702487226; 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=25iEUzYEI4YWiTT6idI7x4iS2K42IYUcoJE0o+DuDkQ=; b=th3wcnDWGLrr5TS/8rhNbkqbKpKSoKp7GxnOzGPnB2CX8bxMYqh+W5oQ+0u5sjlkgFZrps BnTNISSGt6IpjBhN7ZGeS+M9a5qcAHdBrzQhKDmxC+Bp/5rWg1XSk1h4pBRNzr/kpPQbrY L/7h8hTtKSIuvHjlHEtHhrK9eqot5Ms= ARC-Authentication-Results: i=2; imf28.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=dA6ldQq+; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf28.hostedemail.com: domain of jgg@nvidia.com designates 40.107.220.48 as permitted sender) smtp.mailfrom=jgg@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1702487226; a=rsa-sha256; cv=pass; b=hzrkZ5shWj0byf9ZuQgwM7ty2bTE5X+43WLhkMmFNbajJHoFhM1zY7n8i9A06iz8BTzEJ5 /POBdVz6fEKdICwOamRnOdqcuIF/tcL6GOwCGHovhSZC2LvFAqPQW+OhSBpWAgn88JMMQ2 /a9JEx+7lnbFHKMxWfxr2c7WRFh5Mjs= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SSMpoWKsuihEzxjnigjYifz5+h311BMHtEA2xSdXPuyoCOoGWAAIWjBSam3aAnrzQb1p0WzUU9rLXXH/sAjj8UtRQASZEu2jweyFyEsEMDAWa8HksRxRS4SwowrwEePtdpVuJuJK8prcvAPnbqbEKY9YDnVv/qsBlCSQZOQxTjCRD3bv30D8vZCXJt0SaEO8KnERZaz366Kh2RtJArJEDo3nbRZ7fUK3CobQaXWRB8I7kkthw0hC/G4mEcOSvbFSD38uwJ6Y7G4b5jlIydf2vGANMk2LPGzjWxnG36LJg5LW51oq5sCgYYr2nVBZbk0Y2LGwzUY3I5T6QASptiN60Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=25iEUzYEI4YWiTT6idI7x4iS2K42IYUcoJE0o+DuDkQ=; b=l562M4YNtEWh4qrZ5M0AzIvbgrWtu6QaYne3mQs9KOfwiJkSgEapQCKTjXmir+xUFrD4ukBJfKi2urZqqIDc9kndgju1FAyq7uCEPxLqCuR6yB5fZcj5DBKYEpxkYvhICJxDuHpEyiz3aRNA2GVkxQORdXXx6/h6qOwLiGJWoiM23CAbCnFSAJ0meSO5eos3sFDqGFJ61sVRi7uK+o8eVuGwUARHvjjo/8iJ8CipztQweWMxb94egZWFVzzgSmQjk2/0hE29aRG+4JxxN4Q//PFtL2RPiJ9NIzlFCQQOBCi14t5LT4xAMUGncOh35oRkC+u1jXXYEZjvoLe1jkF/ng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=25iEUzYEI4YWiTT6idI7x4iS2K42IYUcoJE0o+DuDkQ=; b=dA6ldQq+XxpcGJG7VG7kqHaqDEQgDVwhOQECCxdo7/0XorydFI2roL+c33qAzracS6Z0B84p6QTIMYK1mKS4En8VXiFezdcvhISmNP+qfn2MZP8dTQGkpEPwkFAwy9/Pta0n/7IqvhZOL9DZUETLS291pjxbQuh1pCzc4dqp2XRoyJqC1jleQRPwP7fEN8SgsFYOmWGnhrchEvIxZ4VY0OnbisRdAli7SkfKgPwGiZIzGUUg0Gr+r2uziMKVz5VxcsUoFSILX1xQE2RDbpesc0AvmnkD0ilC2pY5QuBe57fHLdhZbujVkg+FYEfSc9u4yt/ywfSJtEKwjs1dWh3+vw== Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by DS0PR12MB7630.namprd12.prod.outlook.com (2603:10b6:8:11d::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.26; Wed, 13 Dec 2023 17:07:01 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::60d4:c1e3:e1aa:8f93]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::60d4:c1e3:e1aa:8f93%4]) with mapi id 15.20.7091.022; Wed, 13 Dec 2023 17:07:01 +0000 Date: Wed, 13 Dec 2023 13:06:59 -0400 From: Jason Gunthorpe To: Christoph Hellwig Cc: "Kasireddy, Vivek" , David Hildenbrand , "dri-devel@lists.freedesktop.org" , "linux-mm@kvack.org" , Christoph Hellwig , Daniel Vetter , Mike Kravetz , Hugh Dickins , Peter Xu , Gerd Hoffmann , "Kim, Dongwon" , "Chang, Junxiao" Subject: Re: [PATCH v7 3/6] mm/gup: Introduce memfd_pin_folios() for pinning memfd folios (v7) Message-ID: <20231213170659.GB3261327@nvidia.com> References: <20231212073803.3233055-1-vivek.kasireddy@intel.com> <20231212073803.3233055-4-vivek.kasireddy@intel.com> <00c84f06-66b9-484c-8a2c-e820c7d21c9d@redhat.com> <20231213123155.GQ3014157@nvidia.com> <20231213153634.GA7301@lst.de> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231213153634.GA7301@lst.de> X-ClientProxiedBy: MN2PR16CA0005.namprd16.prod.outlook.com (2603:10b6:208:134::18) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|DS0PR12MB7630:EE_ X-MS-Office365-Filtering-Correlation-Id: e89a275d-0dd7-4a93-9539-08dbfbfdec03 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YeTjTvr/NJEfLoZ5X7+ug8O/dQpN3c8bx2EmP8m6MZV7L3nsaxzTAyio5NcKEFu2PxCKyGchv+6Z1RlpnpZgH5U9mCXa0I3uzJpZDu9Pxuscu/QMJfMDyy/8oP5niAsRkPlj+kg4kaYUCQVbVCup7DZF0ktyaq8M+73YOj86eyfnurU87NDPS3aauuOo0FW8XjOXOTU9lY6OMg7DnIrm8tXiWblOfpMeG+B5ip1cNf2+greWYB3uqh6umx08BV+lYed6qj/1JOxFhBWtfGQtBucAlqBQDGasrRRalY9jSDcCpD6Yy2BSxl/7bYZY417HybjELNn/TucChC+9Ts7WqEzyRjb1H8fjqxEZDuk1MKuS9TO5Qmtl5hk2wsMIP3mpw26+5CPwY4UcSqTNKQEeVgK2mxZA4C+VEZ+cmONydDDjh0gnPiT87I4HTvRtkb6RNBoXFpditovyf4DZKwSkGcjS/2kdO2G7jtpVHbyzE4X881Y+acdd+zqYVTyi1hnR10nBuO2A+SI9KMly7NylXvN3N+T4spK9FcdmPd4qAfZ1lSQ6TkRuyWq8ejvtmk3Z X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5869.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(366004)(136003)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(83380400001)(1076003)(6506007)(2616005)(6512007)(26005)(38100700002)(4326008)(8936002)(5660300002)(7416002)(8676002)(41300700001)(2906002)(6486002)(478600001)(316002)(54906003)(66476007)(6916009)(66946007)(66556008)(33656002)(86362001)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?PQuqhPiY2gm8QTQPKpdH1YFi30hdVNdAbgCYxPTBbC4QdsOSr5dwRfac8CEG?= =?us-ascii?Q?j6GVrHpKM8nB+xAReTe3kLcJ4fRy+ICf4Qk1B00TelnbhglZmaP/BAyOXapU?= =?us-ascii?Q?un4IZujMy7Adh0tDoFWShOIjov7J0LbAuNarmFTl6RcmmfSz6kdAQumOAknY?= =?us-ascii?Q?w51fwpCugZ1vanpQtpamDwb6DtoSz4TxDXjQ8VWOMg13uG8W9M2IwjSI0olV?= =?us-ascii?Q?9EiMVG5TmXrQAcLRDG4WMXLE+5dqXle0B8wvBf8BRcd9GWmXy8EWD01SBSaO?= =?us-ascii?Q?VOqJsiryQF18hXjvoJxTwkeY8UJ8vopKMty8p/ugBzoL8nEBGz8WQSmVZKmP?= =?us-ascii?Q?3rTQfFj8yVIxv558dwRiMhHTVNNQJcUTNqQsyHS8dG2sIAVliMbvrJkfcm4H?= =?us-ascii?Q?mQFK0jNEcnepPSGp4xnMbQqoLzN9OeIkuVghoS7mSFte/zvDDi+JabBzQdGk?= =?us-ascii?Q?n8TfW9LLXc3bz4UL4s6FTGMDtUM7zIT8K5Vha2G5RMloMvxuyZzwMeQIxMrr?= =?us-ascii?Q?D1M6qdwgkqCwLFATXfFdXo/SlQqPyl+RXk0Vf8R6C/JSbvW7ahGd9d1PHXVZ?= =?us-ascii?Q?CZcH1m2y/35WjvGYPkCWebocNud9u80MdoP/AdcF5J6i75UDoLa3pFTw38tk?= =?us-ascii?Q?+ZXavnMHWeup0KpByb6los6DddEIyHjf7FghBxTvzkyRkSBzNw+Z0+3AtkUh?= =?us-ascii?Q?ThSITxTIEx3VEqPgQLUxF/kKGwV0EDjcPsRHwIl7o6H28GgDHTb44oOwmDAy?= =?us-ascii?Q?NoS0zidjZKu6F/M20KpAV3HtNDiXljzRpSvKEiSUWOG533nqB54qdvR+8Ny5?= =?us-ascii?Q?603psDBDjbF4MbfpbVeh5QWITukPXke4/WzPmCipJ75ndJ3qoGGplAfEGkkF?= =?us-ascii?Q?snRIsYf4hEgZAFvVtCMU534LA+WjuxLCK/FkNwtyN07TCj1nBb/yuIEo984o?= =?us-ascii?Q?rvaW3PZPV7GGIv9i/0lTF2AzpXWyov8nYSbLx1zZdHPaFG0WEIKdvVDGEeIr?= =?us-ascii?Q?NKbCQ2yb1Whwsk+PVyOGexTg14lrxtImQC9O4JkeiJJTM35whKroxfe1A7Em?= =?us-ascii?Q?eYmXxWBwPjaV2gtMCoIWOAtfriDXHVtdUQGVB8TApnPCGb8ZXsH25dybpPzM?= =?us-ascii?Q?YX4TK9QjI5cVvmsQRGNAFMHXiSjxRMxtPQYA2Sx45IR232IcLNYghhGT63lI?= =?us-ascii?Q?4MiqJw2Ms4soigdJ7xQ3aSCzy74eHFfs1MHk5lSO2haZ1uc3JhRCEzppW+kX?= =?us-ascii?Q?zRc7gG1H0TG/ePuYf4uoCdGbza10iOgTReuPhE8HQ+Qzmp/GVSWvhesZP9Q+?= =?us-ascii?Q?FNzsB3xX5B8BSMpskHCfculGCSqKDgCbodUYaqC14igItyUqjg6iXTcMe0bA?= =?us-ascii?Q?3vVfeclKI34VJnJRrtADUePLMvyl1JsubFItleVHkHZRWWhIo2ypMTIz35fu?= =?us-ascii?Q?dQJ3rnl5jHMSw9JqWfaoJUVXGHNZcr8Ic7usAs85s2ZCCfWps7L62PZcEzYM?= =?us-ascii?Q?bDEzRlS9wD5rh+CgOd3Z1uYFmrmuU3gYSeGhnRLbB3rRi8PzngX2S6ckBd0E?= =?us-ascii?Q?6ZcuPT/tZWhMRZneRHAJYKmRkEM4weC22R0rpbLv?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: e89a275d-0dd7-4a93-9539-08dbfbfdec03 X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2023 17:07:00.9779 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Le8RQi8UgfrNpqFmnX0hDjsojEIYxT9/OIYmaZ5S0sciYIfRUOcjbJFROzimlXI+ X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7630 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 93D8EC0005 X-Stat-Signature: 5qs654wi8m33f76n75ejhdn99z7wjepo X-HE-Tag: 1702487226-792984 X-HE-Meta: U2FsdGVkX1/hsIQyab7m74je6H31E+lBCjavckOopuS+oWXKlGhKZdhBTNX16Gm1FkBGOLTaiC2NedQF2qEe/bJ39H+zAmYUmTzQ6J7blAoVzPlTi8rxklSAtwSCRCQG7coQOOEI1RrYrGccByoQtz0Xyx0SwqjXrCeVsLF6wCoseQAa/FdOmPIF8Ar3fEeT02KrpcqVKWXd/uyPlSsx1FxoRDBCHOtzXMh+sL5fD5EgPlo7551YkNCKgNfmPdzWviJ43ED5k4l87HL4t9ieA5qGZpbku+oDYkbncn9DOpwPlfkW8cnnJ7GMHBHiTJLST79jaw2Ye0gwPkTCJq8wDHa8hXgA6yqHXf/aQuRBA1JnECQ9chvaYSARI0CLt0fgyq2Z3NCnkGFvsQ8GeHGzpqR1iekma00b7AHmALl9xZk2bYSCceTsbhzGO2z2GP4aDc8XH9y7xKMi+o3wGWH8kN558g2Fos1Og9h04NQ+l/BI+nnVpBREjk5gmBii0XBYkQxODigQ5KXTZ+xXdviYMjlZ3X0qMaqPcrcCm84cyy5p2bIfd/HbdJNHJi70N/pRpO3Bnzs5vSk8YZDGU3/e1j2Y2hIgoRSjCFTpRT78oWCH2ZVpHfLScwUL/BkyjcpKmCpC/mFFzQ3IEiGMdg5a6v50D1nF1ZUyphaOXdWrB0HwbttoMiD1+QuaXM8llLSBtw08np21mUoVr2f5OPn0dQQyTVXQ9Qse0HPfA69rOVHWNCA6ZBD0u4FCfkCPFHjtiGQ48hocXPRZ+C2uloJM+xLubMmuOLb4y/8UUiUoUT+er4DFltU1ipz7y54QFbcF4VrexskyUWOdvXK62bYPF55D/a/DkBgGSuBojyYKxnq1qYjBREAen4qxSmRGRl+jS55IvyUlGcZMEc1EbwRuRTL+IdJUquv4/mCr1ghpXoGH5FUlWSAfEkHGGyQ4s5DbGqwqJQ16KYGR6m6CPoQ QPwhAu+5 2tyyjnVcVtXColeK6b478EEL2NHFXLUnyIJdg0t+URv7W7yZFQN/D63ZO6Nx0o+4jwlyCgpf7qtbOaeRn/Rcdf9v0G8fK20TwckmQg8aod0CgtDcA/4H4AmlGGv9g6rDAj7SQ1ygGXrIRUwJI57pRUqoywdKsSIhBVF28Tdk3D2qhNG8JqOPaltaLP9MtjoNFYUiPEVS8CaY2f3OdY+EROjLtueWDFiFSigQ/65Z48YzZ80RNriQRBHR6E+x6ZdcXUX80ydv2oITW0nUs9ii85Pzdm2K145IDh/72fhJS88esNZw= 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: List-Subscribe: List-Unsubscribe: On Wed, Dec 13, 2023 at 04:36:34PM +0100, Christoph Hellwig wrote: > On Wed, Dec 13, 2023 at 08:31:55AM -0400, Jason Gunthorpe wrote: > > > That is, populate a scatterlist with ubuf->pagecount number of entries, > > > where each segment if of size PAGE_SIZE, in order to be consistent and > > > support a wide variety of DMA importers that may not probably handle > > > segments that are larger than PAGE_SIZE. > > > > No! This is totally wrong, sg lists must aggregate up to the limits > > specified in the struct device. We have importer helpers that do this > > aggregation. > > > > If some driver is working with a sglist and can't handle this it is > > simply broken. Do not mess up core code to accomodate such things. > > Well.. There's no single driver that is broken, it's more the whole > dmabuf philosophy that wants things to be mappable by multiple devices > without knowing their limits beforehand. So you'll get this cargo > culting. It is not so bad, the API has the importer pass a struct device to the exporter that can be used in the usual way to shape the sg list. But really, I think in most cases importers don't strictly need the sg list to be a certain configuration, it is just a combination of lazy driver writers and a lack of common helpers to iterate over the sg list in the way they need. RDMA has done this right, but for it to work efficiently the exporter *must* aggregate all contiguous memory into a single sg element otherwise you loose the HW's large page support. Jason