From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751525AbdAQXIs (ORCPT ); Tue, 17 Jan 2017 18:08:48 -0500 Received: from mail-bl2nam02on0088.outbound.protection.outlook.com ([104.47.38.88]:50799 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751162AbdAQXIC (ORCPT ); Tue, 17 Jan 2017 18:08:02 -0500 Authentication-Results: spf=pass (sender IP is 74.221.232.54) smtp.mailfrom=sandisk.com; redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=bestguesspass action=none header.from=sandisk.com; X-AuditID: ac1c2133-4386e98000013ebf-2d-587f16612893 From: Bart Van Assche To: "jgunthorpe@obsidianresearch.com" CC: "linux-kernel@vger.kernel.org" , "linux-rdma@vger.kernel.org" , "gregkh@linuxfoundation.org" , "alex.estrin@intel.com" , "dledford@redhat.com" Subject: Re: [PATCH v2 00/26] IB: Optimize DMA mapping Thread-Topic: [PATCH v2 00/26] IB: Optimize DMA mapping Thread-Index: AQHScRGxHi0LXGdnO0+hOOO9WfBvHQ== Date: Tue, 17 Jan 2017 22:33:16 +0000 Message-ID: <1484692382.2729.23.camel@sandisk.com> References: <20170112190718.6728-1-bart.vanassche@sandisk.com> <1484338667.2679.15.camel@sandisk.com> <1484344759.2679.26.camel@sandisk.com> <1484689709.2729.6.camel@sandisk.com> <1484690386.2729.8.camel@sandisk.com> <20170117222747.GA11409@obsidianresearch.com> In-Reply-To: <20170117222747.GA11409@obsidianresearch.com> Accept-Language: nl-NL, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.28.1.254] Content-Type: text/plain; charset="iso-8859-1" Content-ID: <0D372AF60612904FAC68C37E41BF322B@sandisk.com> MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrGIsWRmVeSWpSXmKPExsWyRobxn26iWH2EwfSDVhYXnn5nsnh5/gOr RfPi9WwW32+YWlzeNYfN4tmhXhYHNo/Fe14yeeyfu4bd4/uOXkaP9/uusnl83iQXwBrFZZOS mpNZllqkb5fAldH/5gdbwQbOilVLHrA3MC5h72Lk5JAQMJF49G47axcjF4eQwBImiVNzJzBD OJcYJTYcncQIUsUmYCQxe8IeFhBbRMBd4lX7NTYQm1lgLpPEvtWpILawgJnE072fgZo5gGrM Jb4tDIco15O48+E9WCuLgKrE79mHwGxeoJHHTv6BWvyZWaL7+BJmkASngJVE66bZbCBzGAVk JVpec0OsEpe49WQ+E8TRAhJL9pxnhrBFJV4+/scKYStIfF7xD+o0PYkbU6dA2VYSD16tYIWw tSWWLXzNDHGDoMTJmU9YJjCKzUKyYhaS9llI2mchaZ+FpH0BI+sqRrHixOTi3PTUAkMTveLE vJTM4my95PzcTYzg2FQ03sH4b4P7IUYBDkYlHt6OiXURQqyJZcWVuYcYJTiYlUR47WcBhXhT EiurUovy44tKc1KLDzFKc7AoifPKH9gdKiSQnliSmp2aWpBaBJNl4uCUamAM5jc075S+onrx u3eppHGCzTtTg2XZ/1d/Pf6f8Ui4wsmP7++VXmfLvPxB4d6rVz4hW5fOvT7zs2LO7Rsh75d9 yJnZNNNkw0e5p4fPz2Q6/6Gd4U/70oU/79+WEdbvddh1wO1E9ImZ04Q4ZHeslZl3pbaYcUfl hAWRTQ2/Q3MN+L5b8nD82DtxrhJLcUaioRZzUXEiAPp6cuTJAgAA X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:74.221.232.54;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(39450400003)(39860400002)(39840400002)(39850400002)(39410400002)(2980300002)(438002)(24454002)(199003)(189002)(377424004)(2501003)(229853002)(2906002)(38730400001)(54356999)(2900100001)(36756003)(76176999)(106466001)(50986999)(106116001)(1730700003)(189998001)(2351001)(68736007)(356003)(103116003)(7736002)(8676002)(8936002)(81156014)(8746002)(81166006)(305945005)(53936002)(110136003)(4326007)(6916009)(626004)(2950100002)(23756003)(92566002)(6116002)(69596002)(2270400002)(5640700003)(33646002)(86362001)(50466002)(102836003)(3846002)(47776003)(93886004)(5660300001)(54906002)(97736004)(7099028);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR02MB1424;H:sacsmgep14.sandisk.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11OLC004;1:/pJrblioMYBZuvGlrEoNhS5O8U2euZThuMLdF0laa9X9WUsHz4lcpT8bf9PRAlTZJ1dgvS8A4VxmJ9zKvu3q0/NE5drnM8jYL6BNrCan1k8veXVJ2/nFmmkT66RQEafSVGVfkyaNcheZGXFsBwcajtuu0oVzGXiJX7bKWQu/30TwarKrFDN6wud89md+IAjsUuk/C9X6PdmZJuVKcqng7K4O3cb/k0NAgLAiaChShCJZ2zm9dTWbMe3VjNc3HzuNZtiWcYvGMD1WcvulH1DyxyO83FlrZKJPN8IlNuQ9DvQG6WZwemRvTAB07ETbziVd0bAhFMa2sAiax2Uy78Cj09RK6hRmOtfS+9t6pDa9H8N7ewQMSrqqYBtmaMN30/bCFe8CxjCsBnqjx5NSxtUvFFBktqVBimNn1MCPgAR3Ob6XNcQZxyv5E42C07kmT+Yjys0mKvKxlisiyTaG8DHzT7N+qhURsqLkjst/GK15/fD4atYNAn7Da1Zf4yAN7Z2VGQrS4Q8nCLi/uifAjBgg/7YotdY0Ex66WCPefLbH3L6LXStK4xTZ3bR+tq4SaY3WJMuWqtfKfToeS1PZsjQAF8Hvma92tv7SEMYPTh48Ed4= X-MS-Office365-Filtering-Correlation-Id: 93a6375d-8b5b-4856-3dca-08d43f28d63b X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002);SRVR:SN1PR02MB1424; X-Microsoft-Exchange-Diagnostics: 1;SN1PR02MB1424;3:xFcFvss3s7JRyaYtSURe4/8uCzUMLpm8tHgrClO59kwo4ISRTeyfiko2/gn6OxBNEaSJXH6bQDOW6Vp0zlv9pJ3k8Dm2+CjFdhQ22oQo0SbcY4ltlNnK2UvnaeV5JNzN7S/ZJEWMR3CVx3plaMfdUbyMb/XIkcmR5iZ812lQux1DH3pZNPUhZy2fLptCoXzJta5SnOlk038/g9NMiTvzZRb/NCp8KrvqucPy/GRMIO17qoGupD4OhNXr0TMB6z3XbwEGtPYd1yGAatyGu53JSoitwrchupNd1SGc1MOOoa4IlrxiEoUin4Q5G9fx0brhfYxc9cc1QqPvptnhx7oEFUB2+Nwq7yE2yPB8uOY5zB3rPvvIDgK9qsHRWqqq9l0YnKNWSQ4wQcZGUgXaArd5cw==;25:9pHFxMIFJmoClsA4OkOmwsY+b0DkXksdDUe6mTcIQk0HmZr/F8Dw/WrAiwozQIDhc2xrZmycG9HdplNBo4dZRQ7jwJlxjky7KrfEb8CSTS9t1dZNWZMvlX00ktptnX+GGp8n0K6pe13K47QrdDmsQMgRx8BcOJ+8I9bT3kNODuhrg4LiGre3v3j2VLW9f9xjxbKa30BK7xmrfhcyw1k+Vdw/4kPY/SyLdlSKt5HGuCfMv/bJ2/u0GEx9hcGm61m9dOavehaNE2yQI+TKTQ4KP0tHy2pwt6cvUtd9sPdflglv8QnXiRpxDcomMlXC2C9xs8W87JjudDKz72zM7aFFOSbHH0q2lYQlbn9odofU7YQ1hJIqqBz4uDzlWFAUiBddVAFsaqzRsOSAsTvCiqTqtP2rvMMkmgDKq3QbjW7s8ih9vWLjpduD7uH/WQsq4LUySWg99Bu88bVBbBTabAJWWQ== X-Microsoft-Exchange-Diagnostics: 1;SN1PR02MB1424;31:TEbVtRWlOmLItMgWrlT8D9mY3OQojy6G80EXIpY4UwDFBIW6f5l297QnrlbFemwxSp8KAYaB7XO49EoTIPx1lE8buF4hPKzMDeEiiQMFHSbTgIO71Ba41nVc5PqYFSlI+EFgXkRxLEeBa+HiRlEsG5/g/iVv8GHx2UBsIhbXgjj3VKPWbYPKb/HMvZw/mC2ETIsOp677NQHYErCrfXyLYk8vPQnI4z7+mQNv2pnU8M8aUCfSbVObZv01pAeSZaxpSIEipBfM3vdAlT+4kGoi2w==;20:DE2U4oi4pZp3ao1RovwZfqRVeO30tPs3nMz6hhhTb+k0/S3diM1JkBslZHobFTxkUbhYQPlAYYf5D177qM9cqUd2d+NDNM9MlExZWIXKnVdSCef/xKesPhMR4vSMGbuVyTn+wnzXBUjm8ORd92qyj5+NYjhzTyK/0vdsGLuCr/8Qxt+ceXIriivRupY10Ou0Jdom8Yn8vJPgPRiTZs+LByKYKkhMglKS3hSi6o+ldwJ+iDbjvvgbBtCyT6tSEDziaxVlcpvHyKkDtoK6/80X7nhFLXA7CB2KoVECkiI47QfxTQlLJ0pnDT0tyKfanAH3fkC4AMK20M+22sXX2RlRVOPGmTxsLNftcATlPQfIOe5IoFwW+x+kL6cQYINwVmMhrXLjlRJUcDa1y8jOjXY75zADn++0mb4QNKyb2+otFs5WbromZyvqcHLqa7DQdqZ3v1Ysm0NiOSP5wWVD4UPJnEt2qOgi8qi7+l4NPOBDD6Q9U6Qcv4hjIczMUghC9g6k X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(13017025)(13023025)(13024025)(13015025)(13018025)(10201501046)(3002001)(6055026)(6041248)(20161123555025)(20161123560025)(20161123564025)(20161123562025)(6072148);SRVR:SN1PR02MB1424;BCL:0;PCL:0;RULEID:;SRVR:SN1PR02MB1424; X-Microsoft-Exchange-Diagnostics: 1;SN1PR02MB1424;4:tM53eWCwA6SfNHMi+HUICYx633u4r4FKkR8dIng6y0vqhahkT8lPT2QT1Qg9LdR9LfpDa6DIyaSu9vszenU/rvPM6ClV0u2CxC8uQsRiyut0aQ7Xn8BLSZc58l5tJpgJ6VAmYX+xBHq3Yy5qheAlsHjk0aKPEG0Yon1Pq3lAwTsmNO3/itpgVFPjNmvkcQXCipAXpKxpyUj599H+1T5pMBSCOtSOA2C4z5Og7J1gxK+TtAfoISgoNMae4+JIEmWJeEavjT18ZHg81Kt6tOHZxEgXuWnFpbYx6m6braRQKJLMUtLwDoKBnwpD/PqFeeaGOI1pDxtH1XwAjPpVwnoVqOrKGviMe9LMQ4wrhu2ZAxSS6J0xgZueV10kLc3GxN67m3jloUPjOuod/ItPHYCP3W/Cv0+AYI5jlWLKWLJjk2WtLVQ0WnUOPAmRvE/Z3ZEwUilzpUGSnCQn0KpmK/QDDcAaRVoFDNvqsI92KyxVA2YuVK/WPLoAjZmlIMWF66C2J+9mv+7u712iszSF4Dicsif9nPp83hbt2DeBglsTFUOA2PVpQbT0GDUsu2pFCfYPrEebuU3Gstop+SlSuJCuK0y6RrXjXVcVyPxbTMsRtzGhUPF167v3BHGQBx/KguYa9wckdMTTypR3uC8K7CLZcCdVJY4BnTUN8JeILHxmi4SJPqEXC3eB6ucrRpBKQUoB X-Forefront-PRVS: 01901B3451 X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;SN1PR02MB1424;23:p613w/shpiTZO/DuyS2S+qz1ptB5EZsYfk/6UQK?= =?iso-8859-1?Q?wK4jzZbb07tlmh2SNnNB6V/J2Qv8Er6rQhHY4QLmtqXy1D4Ie6uHJB+qp4?= =?iso-8859-1?Q?32b4daGKH7WatzVdcL+DmKckcM8TRYARYl/lHOzJ1pgtExYo/AL4sD470y?= =?iso-8859-1?Q?kYoB9AjLCI8PflN+LVm6fSdHfGC8APz9j2uMftlmcsWeTktg4Nn4rfJOf9?= =?iso-8859-1?Q?ejwzwbmR/ie1+QcaIA6u9z2PN8p/Mlx+YmEjHIIEKce3cUL2RsJqIyFDCo?= =?iso-8859-1?Q?kCwbsGxJlgWPb2hPFvtXiL27OO8R+Stuv3jnZDMXwhr3w5NeJ3X4uoJsYN?= =?iso-8859-1?Q?JU8lwzU0+n8hky5olY/Y0z+hAgxWdol6Cfn/KR8C+4qiHQoJpk4iHjmwYO?= =?iso-8859-1?Q?OOzZI/M6RCQAh+L1o5RGQViAuiZAZlm7Vz7z9viQkDPSGwJaLqp993pXG9?= =?iso-8859-1?Q?2rrBRNkoSRauAQc/+GxkdcYBaDCKDd9dJ5eIuHA/8pHEtaR4sKj7uSeKf2?= =?iso-8859-1?Q?y9zw31GpsZ062+0SahSXPrSY9fhyvFNJMT1MriqqLCs4V07pe46JdvKr1F?= =?iso-8859-1?Q?X42RMH1oCN5uks67CfxGaRIyOlSCqwSKbEdGHPMDDNF9SG6i+A5sP1q82u?= =?iso-8859-1?Q?aay6mpAhOs/2OMv3RhAK5Zqc21A4ZmvMZnRGfeEX0toIw6zWEtWdZFOo4u?= =?iso-8859-1?Q?P1Ge26IPKP148xaSCag+wx1HE4Cy5UY1NqCu9TV5clRjqC+3IZV/RA145X?= =?iso-8859-1?Q?WzlBYbkjVQsK66BgZAKZvs2q/XBojbYl9kFgYSr7jO3Of3rhiOy8JKqhzg?= =?iso-8859-1?Q?pUKBY96SXKrqwV5SfoIYHo4XXQGxmyy0xxS09kId0qkK4o45VzttEhi2ip?= =?iso-8859-1?Q?0sYwDEMxGgxvfJ8d+wrOBcphh6NF5osoY25J6I109bztPvpA3EH11TG0ef?= =?iso-8859-1?Q?DlD9i46vfIEIAQH2wzoY/SetSdRRgB/F3dOCrpQ4tUfJ9MCZIAZ03BRIBr?= =?iso-8859-1?Q?Tlg6mTj0AC7/7sDR5xbUWLq9lFpRJz3PIxWNl3Um4cWGxuzgI07STEvRH8?= =?iso-8859-1?Q?FqRd+ZI6oxwM0NlQ3NKOTu4lAdKwz9MkGlyqEeOKSt8XTyvarwMguh6GVF?= =?iso-8859-1?Q?c+Oh2upEp7eYc4/0xVOx6KJ1Ry6Mq8MyzMKBq3gbMKpWRrXueZz2pWnHT9?= =?iso-8859-1?Q?Ci8XzP90UTYyP++n+CfdQLgdy6nS/hKTOXpp4Rxa2XGTOt6J0XzAcfuqxi?= =?iso-8859-1?Q?tj7XADqoSML4A/lhGxZfJCrc3psaD32Q2/Ihnksb16e3Sqs1ogQz8Z0ICq?= =?iso-8859-1?Q?K629MwQHZg39SeEj7rfY0JvFzaUk2oX5Ql+22IA0KlMRs5nQEIAgDg4dcv?= =?iso-8859-1?Q?pR9DVhtbyk1kvaIVJpfjsJMBjhnhy4/IYyet4s6ue1lsq8cbscVQ8PvlnC?= =?iso-8859-1?Q?I7fXXjpmi29+UXZ+mfJeamY5bm5naRALuDV1s9+l343BRAXTKxKfxM9iw?= =?iso-8859-1?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR02MB1424;6:LOMHUUP/rzaasNL7lP7ENMuloOgLsqHLJ2SP5hYKIQNQa5Mqd0ECoqYX4eS2ivnPwMlGezRd7K9nqHhtZVbzssAbEXSq6dn5mU6/IzkaCtQ/RqIO9h/K60JceYWUgcDz/Zl8w1C4BmSW8QcsswdtmOWf8Np0LH92mtDDZZIsay/C9quHOwEBdrCkNU/8GN5N2baFCvd3qSL/bvEQ1xSfBRET4gkqwDg2XzOSrCoNXqPZSyxiOeWBN5rfQh3ZhlA1xMg++027aWXLEFIgrnPkwPr+zzxcwyf6mrU31UbrXqYnhkPs3M94ueuuNaSBsyIz/Qeoys6uFWowHp+BfLSn5mHv/6hocJOim3rMG6zl8L7pxJ9Jx0i4zTyI9erjZUTOaQGc6lQNg9nVsiueY85JPUwAoipMDGifREVXS18LmWH+c7H8G/nEZoQ97J70cKyX0PexavbR2EYbwoBAN2K6vA==;5:zXbDrXDpw5jT1TsphFyrAFCrBixUHgjo0c10zZlbM6mcXfnjzAYo72CgCVdAUAEtEw9nZXYJbwU6KQwyZmJBYP/QlP7f07bALDawZYZWMhi0G3Bb/8jUbFVzVI5WNd+EVhTp/2MHkKGmvwBYHEUENA==;24:Kgc4FTPRy+lRpO0Ya3yCCzxmh10J5JOOp9MxbD5lGzY7rgIs1zwZTUDpzL4GP2wS0nkUchuQN7/S7FuIM+sN1rN6mNWm4S3M/iv8Z8ZOC1U= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR02MB1424;7:qYBG2JquVGCCt17Cxgjwpbvgm4GEXKOmhQMgQN9qZcOAJMKLuj+7x+aIIOmmd9cWdUuXqJnvFguYFYTfnZzeuRInw+AejrnVhZYdXbX+5V/4r25n/OMWmx39uTZPs/IBqhEQi1nCO96X6TI1gChkZACp9atRkXctvcP8ahdgG789ytWqFKCr5WkjjkOBTFNOJRx9F9Ze5StZIy4ySPelfam9zc3cXuLUzYOygE/J/g3/aKhApY2J9zoRv8FTxjAbgmQynzuoRILrjV3u9OZy/0t7qptwLfWRsdyPzUU1JFkodylZCaDjKYsA7ooc4Pz5SagbVDESEuxjHw9n70W0yTk5PpEnmkxKISuyG9tOg/DsKvjHsmehZREEs+F+K13mHJo0p5MP3sZttPJeRKe4vHLevH2h9p4+BPDikZKiHbLxfdJP7L5r8HaZEIzw2jmqG5AsFzHhJKdaH2TonI1bhQ== X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2017 22:33:18.5603 (UTC) X-MS-Exchange-CrossTenant-Id: fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d;Ip=[74.221.232.54];Helo=[sacsmgep14.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR02MB1424 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v0HN9721010845 On Tue, 2017-01-17 at 15:27 -0700, Jason Gunthorpe wrote: > On Tue, Jan 17, 2017 at 10:00:00PM +0000, Bart Van Assche wrote: > > + /* > > + * qib and hfi1 use two sets of DMA operations: > > + * - The DMA operations of the PCIe device for SDMA. > > + * - dma_virt_ops for users of the qib and hfi1 drivers. > > + * The only purpose of @dma_device is to provide a struct device that > > + * provides dma_virt_ops. > > + */ > > + struct device dma_device; > > Creating a struct device, not calling device_initialize() and then > passing it around it other places is pretty ugly and potentially > dangerous. > > Is there some other way? > > Can you setup ibdev to be the 'dma device' for the user side? Hello Jason, The only member of this struct device that is used is dma_ops so this approach should be fine as an interim solution. My plan is, if this patch is sufficient to unbreak the hfi1 driver, to remove the struct device cited in your e-mail again and also the dma_device pointer from struct ib_device. Since the dev.dma_ops pointer in struct ib_device is not yet used dev.dma_ops can be used instead of the dma_device pointer. Bart.