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 32183C636CD for ; Fri, 10 Feb 2023 05:03:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AC1296B00F6; Fri, 10 Feb 2023 00:03:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A712C6B00F7; Fri, 10 Feb 2023 00:03:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 911B06B00F8; Fri, 10 Feb 2023 00:03:42 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 7EB976B00F6 for ; Fri, 10 Feb 2023 00:03:42 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 3AB5C40A68 for ; Fri, 10 Feb 2023 05:03:42 +0000 (UTC) X-FDA: 80450189484.09.B85B92A Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25]) by imf01.hostedemail.com (Postfix) with ESMTP id A5EDD40013 for ; Fri, 10 Feb 2023 05:03:38 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b=IAkHjZT3; dmarc=pass (policy=none) header.from=samsung.com; spf=pass (imf01.hostedemail.com: domain of jaewon31.kim@samsung.com designates 203.254.224.25 as permitted sender) smtp.mailfrom=jaewon31.kim@samsung.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676005419; h=from:from:sender:sender:reply-to: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=PzSTVr50vR+unyyHU8ecPzVzBA20pYL5vCXBlpK8cbo=; b=7IAg6qyKyTKS0+VVP2ewDxl+SCBvtpzfg85w2HEwTtra4+4kJOwhdGyzMCW8B4N1xrLXm6 1ODRJl1ku3f3E1FtQnNWUP145FZWWm4P4IWbbNtBCwtefaGQhDlMdk5La1XMqYG848qE31 7zAniQiYc74R6LbV1/BM6p5iL3UG8Q8= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b=IAkHjZT3; dmarc=pass (policy=none) header.from=samsung.com; spf=pass (imf01.hostedemail.com: domain of jaewon31.kim@samsung.com designates 203.254.224.25 as permitted sender) smtp.mailfrom=jaewon31.kim@samsung.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676005419; a=rsa-sha256; cv=none; b=v7OSKRoMOvL70dXUURa+/eSdsplgnUfyf60PbdEyq3UsuSK7VloQo8IUxeRNzcWGuNKBJW WPK4SN5A2u/ih6RkkQ2PLgb18HDLeE9c3GsOwFrC3828hgkUi8TkXaHFV8FO+3ZA5gNPD4 mecckYAWqaPEaD1n2HHgqBVaN4szElg= Received: from epcas1p2.samsung.com (unknown [182.195.41.46]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20230210050334epoutp02091f80a496b0734dd426422ff2de9e1d~CXgt9nsGb0211502115epoutp02M for ; Fri, 10 Feb 2023 05:03:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20230210050334epoutp02091f80a496b0734dd426422ff2de9e1d~CXgt9nsGb0211502115epoutp02M DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1676005414; bh=PzSTVr50vR+unyyHU8ecPzVzBA20pYL5vCXBlpK8cbo=; h=Subject:Reply-To:From:To:CC:In-Reply-To:Date:References:From; b=IAkHjZT3ufugOzfPoy2g+l6N5sXMep+AcfVzm04LVpAwDNS5jang5ht8dxw+HEGCw hQWSshorqEEQzhkQICZ+iwcyoNPlHbm81Xlq9dpWVwYqi+82vot01m1eyfpkuefAlH JctS6JMeC4j6B68vZUG/a5Wz5kT9vnnXW+kicbeE= Received: from epsnrtp4.localdomain (unknown [182.195.42.165]) by epcas1p2.samsung.com (KnoxPortal) with ESMTP id 20230210050334epcas1p232485b64a5599e0ced0e901a15aec190~CXgtZ9sil2937529375epcas1p2B; Fri, 10 Feb 2023 05:03:34 +0000 (GMT) Received: from epsmges1p1.samsung.com (unknown [182.195.36.224]) by epsnrtp4.localdomain (Postfix) with ESMTP id 4PChTL0bHlz4x9Px; Fri, 10 Feb 2023 05:03:34 +0000 (GMT) X-AuditID: b6c32a35-00ffd7000000d8eb-fb-63e5d02520ad Received: from epcas1p4.samsung.com ( [182.195.41.48]) by epsmges1p1.samsung.com (Symantec Messaging Gateway) with SMTP id 7A.A9.55531.520D5E36; Fri, 10 Feb 2023 14:03:33 +0900 (KST) Mime-Version: 1.0 Subject: Re: [PATCH v2] dma-buf: system_heap: avoid reclaim for order 4 Reply-To: jaewon31.kim@samsung.com From: Jaewon Kim To: Jaewon Kim , "jstultz@google.com" , "tjmercier@google.com" , "sumit.semwal@linaro.org" , "daniel.vetter@ffwll.ch" , "akpm@linux-foundation.org" , "hannes@cmpxchg.org" , "mhocko@kernel.org" CC: "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , "jaewon31.kim@gmail.com" X-Priority: 3 X-Content-Kind-Code: NORMAL In-Reply-To: <20230210045608.23274-1-jaewon31.kim@samsung.com> X-Drm-Type: N,general X-Msg-Generator: Mail X-Msg-Type: PERSONAL X-Reply-Demand: N Message-ID: <20230210050333epcms1p7c0bd93b385828aeed9689d1d17ff6789@epcms1p7> Date: Fri, 10 Feb 2023 14:03:33 +0900 X-CMS-MailID: 20230210050333epcms1p7c0bd93b385828aeed9689d1d17ff6789 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" X-Sendblock-Type: SVC_REQ_APPROVE CMS-TYPE: 101P X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrIJsWRmVeSWpSXmKPExsWy7bCmga7ahafJBitNLOasX8NmsfDhXWaL 1Zt8Lbo3z2S06H3/isniz4mNbBaXd81hs7i35j+rxetvy5gtTt39zG7xbv0XNgduj8Nv3jN7 7P22gMVj56y77B4LNpV6bFrVyeax6dMkdo871/aweZyY8ZvFo2/LKkaPz5vkAriism0yUhNT UosUUvOS81My89JtlbyD453jTc0MDHUNLS3MlRTyEnNTbZVcfAJ03TJzgA5WUihLzCkFCgUk Fhcr6dvZFOWXlqQqZOQXl9gqpRak5BSYFegVJ+YWl+al6+WlllgZGhgYmQIVJmRn3Hj2mqng nljF848z2RsYLwh2MXJySAiYSMyd9pOli5GLQ0hgB6PE+e7FQA4HB6+AoMTfHcIgNcIC7hI7 py9mB7GFBJQkzv64wg4R15Vo6l7NAmKzCWhLvF8wiRVkjohAC7PE7AuTwIYyCyxmlGhbeZQJ YhuvxIz2pywQtrTE9uVbGUFsTgE7iR1z3rJDxEUlbq5GsN8fm88IYYtItN47ywxhC0o8+Lmb EWbOn+PP2SDscqA5+6HsConf/cug5uhLXOmfyQTxmK/EtG57kDCLgKrEztdfoUpcJFb9gTiH WUBeYvvbOcwg5cwCmhLrd+lDlChK7Pw9F6qET+Ld1x5WmK92zHsC9aGaRMuzr1BxGYm//56x goyREPCQmPU8ExLMrYwSZx5NYJnAqDALEdKzkCyehbB4ASPzKkax1ILi3PTUYsMCQ3jkJufn bmIEp10t0x2ME99+0DvEyMTBeIhRgoNZSYT3+8THyUK8KYmVValF+fFFpTmpxYcYTYFensgs JZqcD0z8eSXxhiaWBiZmRiYWxpbGZkrivOK2J5OFBNITS1KzU1MLUotg+pg4OKUamHTesont bf2mw+ew486ebYt4Ba9Gyht7/Sv/ucbw+q3F02V7z4W7SX74+SrgmqHw9otJKnGrBUv9EhKO XPy4foewwb5Ln6fsDJwg5dAharDl4GwZscLNN5zKV3s9mdEgvG6vw62SWFc+hW8y77rnLcrx rgtWiVtfdcbm2Q6hpC9Fn6Rq5sdP6bD0C7ibzfIyTbA+oOyTi2W9jMNFTc6M1apZhe7iot/O 6e/ySLp49kfYpqfRntqPlkgUOtiqnE75d/T8nFWrf7WKV2TWHQhesHmHX3ay1uUtk7kOyy1Z bXXbL/FWE29lQdmpp3/Or+aKm51i3/r/N8M2vT2Xagv7+leE1VssSFkl7s1z5aPzHiWW4oxE Qy3mouJEAFI7DFlEBAAA DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20230210045651epcas1p1392354722c8ad6d4ffad6f934ba78742 References: <20230210045608.23274-1-jaewon31.kim@samsung.com> X-Rspamd-Queue-Id: A5EDD40013 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: 7kegsc1acar6dc6xtkg1puj3d7y1j6gj X-HE-Tag: 1676005418-639104 X-HE-Meta: U2FsdGVkX1/XEr2aLAbcRXTZMbdUZz2wBBpAeKQ7VS0DgWsYRmIBOX4IndiGuPyg3sYZFHT2RkBQ4qd7F+9nyr/QxrPEfdWUxvxyVoBgGi/kLWhXJtOhIJ73yXR2Ku3FSexRZBXfr+VtOF4rOT60La6SYgZFpbUyDT0wgTKYTPNPdRWmoVITwNjih1BSNxDvo+BPKg/8ZIQy5R5Rduo8e0TapUVs8ayFiUna6cE9JWEtFsmZ0d0tPhDTakEIS+RNpOkb7/PFTOma2FvEMHoSOcMLBIoAxuOJT0uo2oWTAl7TtTMpuCI0Uv6Ly29/FLlDGfl34eV7GzXCXt0XhLamDWdkfaF5iHbLxsCa/g5tRjG55/BYpin4GuxostIBq16+AbW3osf8DbPtZdOqrSGv8bvav3LUJtoOMRwF0RynLwUh6lHprwaKT/cHHYWJvn8wi5oXeLP6fE382E+pUi9zaDQ3E8YU1UtkyhiUwf27oKk0CbuQOtTgdayaE/wfGeAVhrRMyTtdE00/8DP7AQlQ6wedEctm232PYwNKFDSC39OAdyHCveeVZWh0P+s4CCXSSVcS0OXvTZWwQCsAJKrR1RoWPDG3z+UEnLazGqTaKnvkHiIKk/s9bKYthGl2OxQVswtyYHevCLLll1msSQ8Vzb8VdYPADH+2xnd6GcaikQRR18Czg7/U0Drx9QDiOhuqvdGkwEqaCYA6ZMDVDmm9Afu+axWCw5/QGGtvdkNikREuBJJeBdsABeCuQ5TLgIBqhmW0p6/vwbDo4lzS8PtzxVlzeygHS1tYRAOc7STf4Y6HepNUOhoc5lVzYTc3iz35srt9qKAP54iMeIAgbGubKCtqVRpcpMFIiuuD/EylPy1IayCwE1akLKJL41n+a+KIzF4ACWtizACxileBpTOYjBciVbiTv0n2OT7UBUYyg1SvszLKkylE19IcuySxMf3NA4yGZu4Ex0+QN1OjMbp va1OQtcp JcKvUnvXRrt8U4YdGjZMpLQhEtLqA6MO1KzdI8C4Qmj2ZYyc+BNcUI5vKND2IaLqv+8CG3Haag3k31qm4vHo2Z+goUy0ZtiOVV45YfnKsppVzLIMBYQrAUeDbU5//qjXeILVCMPv/fm7bNmUWzWptjeUbqJfgPHRYcWP0TuXFY88um5gslB9CxgBfr3we4xqpicIZxk0TchGLp5PjzsEkn4DZ7VRfS1LhdnFMASf5ck3Vmi4/fsFTFDTJw+gSSjBsUxD6+Q4H8iE1q2is3UHhi7lkBTjin+yIb91bXdCZlBJg+UZWENygzR8OqvUD+C5r2t8lXiW7vgVrE18Pa1ulQhLAqwanq9wptoU+WCSy/2N3/BJO7uGwiXZZviN5rNuo5yon5MTbYeNGongyESrg63zW0w== 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: >Using order 4 pages would be helpful for IOMMUs mapping, but trying to get order 4 pages could spend quite much time in the page allocation. >>From the perspective of responsiveness, the deterministic memory allocation speed, I think, is quite important. > >The order 4 allocation with __GFP_RECLAIM may spend much time in reclaim and compation logic. __GFP_NORETRY also may affect. These cause unpredictable delay. > >To get reasonable allocation speed from dma-buf system heap, use HIGH_ORDER_GFP for order 4 to avoid reclaim. And let me remove meaningless __GFP_COMP for order 0. > >According to my tests, order 4 with MID_ORDER_GFP could get more number of order 4 pages but the elapsed times could be very slow. > > time order 8 order 4 order 0 > 584 usec 0 160 0 > 28,428 usec 0 160 0 > 100,701 usec 0 160 0 > 76,645 usec 0 160 0 > 25,522 usec 0 160 0 > 38,798 usec 0 160 0 > 89,012 usec 0 160 0 > 23,015 usec 0 160 0 > 73,360 usec 0 160 0 > 76,953 usec 0 160 0 > 31,492 usec 0 160 0 > 75,889 usec 0 160 0 > 84,551 usec 0 160 0 > 84,352 usec 0 160 0 > 57,103 usec 0 160 0 > 93,452 usec 0 160 0 > >If HIGH_ORDER_GFP is used for order 4, the number of order 4 could be decreased but the elapsed time results were quite stable and fast enough. > > time order 8 order 4 order 0 > 1,356 usec 0 155 80 > 1,901 usec 0 11 2384 > 1,912 usec 0 0 2560 > 1,911 usec 0 0 2560 > 1,884 usec 0 0 2560 > 1,577 usec 0 0 2560 > 1,366 usec 0 0 2560 > 1,711 usec 0 0 2560 > 1,635 usec 0 28 2112 > 544 usec 10 0 0 > 633 usec 2 128 0 > 848 usec 0 160 0 > 729 usec 0 160 0 > 1,000 usec 0 160 0 > 1,358 usec 0 160 0 > 2,638 usec 0 31 2064 > >Signed-off-by: Jaewon Kim >--- > drivers/dma-buf/heaps/system_heap.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > >diff --git a/drivers/dma-buf/heaps/system_heap.c b/drivers/dma-buf/heaps/system_heap.c >index e8bd10e60998..920db302a273 100644 >--- a/drivers/dma-buf/heaps/system_heap.c >+++ b/drivers/dma-buf/heaps/system_heap.c >@@ -41,12 +41,11 @@ struct dma_heap_attachment { > bool mapped; > }; > >-#define LOW_ORDER_GFP (GFP_HIGHUSER | __GFP_ZERO | __GFP_COMP) -#define MID_ORDER_GFP (LOW_ORDER_GFP | __GFP_NOWARN) >+#define LOW_ORDER_GFP (GFP_HIGHUSER | __GFP_ZERO) > #define HIGH_ORDER_GFP (((GFP_HIGHUSER | __GFP_ZERO | __GFP_NOWARN \ > | __GFP_NORETRY) & ~__GFP_RECLAIM) \ > | __GFP_COMP) >-static gfp_t order_flags[] = {HIGH_ORDER_GFP, MID_ORDER_GFP, LOW_ORDER_GFP}; >+static gfp_t order_flags[] = {HIGH_ORDER_GFP, HIGH_ORDER_GFP, >+LOW_ORDER_GFP}; > /* > * The selection of the orders used for allocation (1MB, 64K, 4K) is designed > * to match with the sizes often found in IOMMUs. Using order 4 pages instead >-- >2.17.1 > > added John Stultz