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 AA7CFC4167B for ; Fri, 16 Dec 2022 20:17:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E8D908E0006; Fri, 16 Dec 2022 15:17:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E38D58E0001; Fri, 16 Dec 2022 15:17:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CB16D8E0006; Fri, 16 Dec 2022 15:17:22 -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 BD04A8E0001 for ; Fri, 16 Dec 2022 15:17:22 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 9E904A1267 for ; Fri, 16 Dec 2022 20:17:22 +0000 (UTC) X-FDA: 80249279124.16.D09F9C3 Received: from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com [67.231.145.42]) by imf15.hostedemail.com (Postfix) with ESMTP id B7AC0A000A for ; Fri, 16 Dec 2022 20:17:20 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=meta.com header.s=s2048-2021-q4 header.b=G3AN1gIi; spf=pass (imf15.hostedemail.com: domain of "prvs=33494f0754=kbusch@meta.com" designates 67.231.145.42 as permitted sender) smtp.mailfrom="prvs=33494f0754=kbusch@meta.com"; dmarc=pass (policy=reject) header.from=meta.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1671221840; 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: references:dkim-signature; bh=thktE/bo2HltCwBKROxOHKReAsv2PUYhaxcs9QYKzYQ=; b=XZPZjbHj5trOoWpKOL8X5KovD0lnIgsSZzrL0LGDHtHC/qmJB+Ut1zsujbwg4Sq0gixf/E zTmW8HW44S0LsoYkwaI6Vzy2cQikuNepSuRlknT0+JsaT2OaYd9j+bBgKZz0lKEaVprsbo BJlRU3fUocDmISMON/xzQT04Vc91hE8= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=meta.com header.s=s2048-2021-q4 header.b=G3AN1gIi; spf=pass (imf15.hostedemail.com: domain of "prvs=33494f0754=kbusch@meta.com" designates 67.231.145.42 as permitted sender) smtp.mailfrom="prvs=33494f0754=kbusch@meta.com"; dmarc=pass (policy=reject) header.from=meta.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1671221840; a=rsa-sha256; cv=none; b=d0LQGZb/tADynRHh0C8ontIxzRKmotFsVrBh8qLK+148iPpAZSsMSPXSMteAZxiTlnocE+ m428fC84l2lmMGm8dwaOO3Ahf29XQKogquYiWZ9z3Hj57xmSr2Y1RQGlzfcsOOxrAr0lmx DbW1CvMNWSae9TpWD4O0F9ZJDHAAe64= Received: from pps.filterd (m0044010.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2BGJxe1o026562 for ; Fri, 16 Dec 2022 12:17:19 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=meta.com; h=from : to : cc : subject : date : message-id : content-type : content-transfer-encoding : mime-version; s=s2048-2021-q4; bh=thktE/bo2HltCwBKROxOHKReAsv2PUYhaxcs9QYKzYQ=; b=G3AN1gIivSwV/TRPXYIlFwTOIcT5PsbterRO2tbkUlUT2QzjrAaCeQUN8vDcB1PzMNBQ Vy7njlDwdOF7zkQsDawR1Dkvo162pr8bG7Ig/wlEr+89QGG8YJXC7xYVsnxCT5DR1hk1 C8bjWldNnhVckpX8IdGeB0VhzuqN3fSeLT8s6w3+F9tmPO3BXw84aqhyIU8/h7f4A5Sh 9Cl5YhTvsQzcBIwbwD8jYipexWG1FpCPz850cS/xTyOFWrc1QDRIjuUKtgK/JccaU/tM qn3vUlJNqNjDCf0r43qSMkDOil4gT63qwmeUCo/6VvE2H0xg3wanAUpGtFEOGjcPSK14 Aw== Received: from mail.thefacebook.com ([163.114.132.120]) by mx0a-00082601.pphosted.com (PPS) with ESMTPS id 3mgh7v57s3-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 16 Dec 2022 12:17:19 -0800 Received: from twshared24004.14.frc2.facebook.com (2620:10d:c085:108::4) by mail.thefacebook.com (2620:10d:c085:21d::4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec 2022 12:17:18 -0800 Received: by devbig007.nao1.facebook.com (Postfix, from userid 544533) id DE0B3D042AAF; Fri, 16 Dec 2022 12:17:09 -0800 (PST) From: Keith Busch To: , , Matthew Wilcox CC: Tony Battersby , Kernel Team , Keith Busch Subject: [PATCHv2 00/11] dmapool enhancements Date: Fri, 16 Dec 2022 12:16:14 -0800 Message-ID: <20221216201625.2362737-1-kbusch@meta.com> X-Mailer: git-send-email 2.30.2 X-FB-Internal: Safe Content-Type: text/plain X-Proofpoint-GUID: 9bJ4IMIZeoMU0yLpgam9YjfZFbxlwtqs X-Proofpoint-ORIG-GUID: 9bJ4IMIZeoMU0yLpgam9YjfZFbxlwtqs Content-Transfer-Encoding: quoted-printable X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-12-16_14,2022-12-15_02,2022-06-22_01 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: B7AC0A000A X-Stat-Signature: rce3awwquwt8z7jy7hym5ebzucapakox X-Rspam-User: X-HE-Tag: 1671221840-372776 X-HE-Meta: U2FsdGVkX1/ZxfT3XWi8gsM0Xvw0FRSGPYXtI0ClOgSFnAjLWvbRRMmv5DtLbOughdB1LSyTa5bZWNLF2F5NI73z9pZ19KYbpv7UaPrHu4EyB3gp70wkbJTJ9IUj6+qSxzhAkW9nsDz49Po0QTo2k2XAkPDvcTPx0qBXjs6nadxMLTFVutsZ+Lt7U26TmQ0VWeUuq159PmRUQu2yq/V90eUthfKtkXdTSWqtPKu9KagF8akPazM8y6pREpdXe/b0B0lMWrSgl2ZnHXLjKZEYuhU4JbjiMhVToE1CTu8zmsU7CPOhnC2ajgF19mdN8A+FJMoEfuRCZJaFrA3e4S+ym4xJjSYzcF23ryueC/Kc85V8LQQM3Qm9xgmMzKdPEu6FR065TnLq9yLZS1jn0pJy9amcyzHHKNFTB3XP1quH80hxBpLij3RLU6usV+tN18c9JLFofGnNfnZuGcIfU2rZliNxKtMI91oAsu1GuTpEm+rWOEc0ITGUN26GVBD5W4iEZvsoKjFzJBC9NPD9ZsO2wSWrI8+NTa2Ngh61gu7aLyVKM8WU4LkvjyyFfnuOMo9sudke8oiTqgTRAvLaqavcun7eOtjP1lxGLYpxljfHmBxBz2ALP8LNz3XI5AbGn+E8wYOJR6QB+9KTQKVPe1UMwss66K6GWkmSL/AIkL4XBUBuucCBwxLQk0fjoQvrTxZD6DLQWCLvR6j7cnYOlx7KsJgD838HMFpPMm7gxSGuYbOv9QedKcBLVxVozfk9I8Z1ppZq5TwvQ6DG5kVtjCW8ZYHAwrNTfiDNtu2MdefQzIegk031aaxqow9U4EvT0th0/mUX8jmpIn2jbAHlan7+0IUAbTNAgZIRRcYmsUl1UeMF6u+c8jYNk+Iu2GnuWg9NlGCttmJuDxPwlUHdTOfhvNjfDnj8SOqoUzU+Zi8JerOpT54VEoC1vQmWBdz7MDf+dW6Qy6/sxRIG8dpAOu9 9xEsiQff 0bPvHusUjMJNJLDQERDoZs5W4fgMM0MtA6dffXOd+CJBsodOVADI9FbIdF8/ANpYvt9bClLr64XOwLlWcsl7ziEE4L4iSAVj9DWseaEmQYBzsVD8= 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: From: Keith Busch The time spent in dma_pool alloc/free goes up linearly as the number of pages backing the pool increases. We can reduce this to constant time with some minor changes to how free pages are tracked. Changes since previous version: Fixed dmapool_test to use appropriate dma_op accessors Fixed up comment in dmapool about the data structures Fixed dma pool boundary checks when initializing the pool And since I mess up the boundary checks for odd alignment, I updated dmapool_test allow setting arbitrary alignment and boundary to catch the same case that failed in the previous version, reported here: https://lore.kernel.org/oe-lkp/202212112301.ad0819f7-oliver.sang@intel.c= om/ Keith Busch (7): dmapool: add alloc/free performance test dmapool: move debug code to own functions dmapool: rearrange page alloc failure handling dmapool: consolidate page initialization dmapool: simplify freeing dmapool: don't memset on free twice dmapool: link blocks across pages Tony Battersby (4): dmapool: remove checks for dev =3D=3D NULL dmapool: use sysfs_emit() instead of scnprintf() dmapool: cleanup integer types dmapool: speedup DMAPOOL_DEBUG with init_on_alloc mm/Kconfig | 9 ++ mm/Makefile | 1 + mm/dmapool.c | 356 ++++++++++++++++++++++------------------------ mm/dmapool_test.c | 146 +++++++++++++++++++ 4 files changed, 324 insertions(+), 188 deletions(-) create mode 100644 mm/dmapool_test.c --=20 2.30.2