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 A5FA5C61DA4 for ; Tue, 14 Feb 2023 22:25:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1D6806B0074; Tue, 14 Feb 2023 17:25:30 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 186206B0075; Tue, 14 Feb 2023 17:25:30 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 075E56B0078; Tue, 14 Feb 2023 17:25:30 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id ED9006B0074 for ; Tue, 14 Feb 2023 17:25:29 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id B8E4B160FD2 for ; Tue, 14 Feb 2023 22:25:29 +0000 (UTC) X-FDA: 80467329978.29.709694C Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179]) by imf18.hostedemail.com (Postfix) with ESMTP id 047231C0017 for ; Tue, 14 Feb 2023 22:25:27 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=EoH9xRAP; spf=pass (imf18.hostedemail.com: domain of jstultz@google.com designates 209.85.128.179 as permitted sender) smtp.mailfrom=jstultz@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676413528; 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=8bgAe2igf/hCFL5193lqh4W3BC+LMmOpmmIMy4BqG2M=; b=frA9K5gyCiZ5V/mdQFkPg2KUnru4Xz1MajFPXP8D8hsG4RLwjq26wryKpnsV/l7Ag46SUu CxsznOPOBSci9LhATeoentxu9uoqEz/dh7aH/ab0Kn59BBG2gby2OGu/ZVC524eL9RaikN zcYdDbfloD1QTG4VshseKDTpm0noJbU= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=EoH9xRAP; spf=pass (imf18.hostedemail.com: domain of jstultz@google.com designates 209.85.128.179 as permitted sender) smtp.mailfrom=jstultz@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676413528; a=rsa-sha256; cv=none; b=rXw6YvA19Pl02y5IFJB8FnRsDLmwu6aff7SnaZiYmMsOcLgYDYHOeZ3eCJg5eHanillSWi LwhF044zcWxvpI2GJYRuqxUMqj3+Z62tLgpH1c08T4rXZ8aMokPPTAjAMV8PUWj3oB68jK jGV/6lAXLZwO44okkOLoL5y73L2+WOg= Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-4a263c4ddbaso227356527b3.0 for ; Tue, 14 Feb 2023 14:25:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=8bgAe2igf/hCFL5193lqh4W3BC+LMmOpmmIMy4BqG2M=; b=EoH9xRAPCFIHp8WoTlVamm6ThhbbQ0uYq0PMBL8dQBn5QZFvSX8ivJVnikTX7WiMCY IayePmTCzjFvXETiNXa9qD22IyVya/8sYFIubfyJEpqgA/SOaxUOm2kKzfPXGE4SF5Yf BZBaHS6Vzl62Gbpchye1oMGiJxpAUyUKpQNgDdb6ihYuQAlXrJNcyvUUp9KhlCQlGmL+ jPZ9rCLnRhzqK2meDJARy6HWtYckWE0s/a2Zd7/pZLnY67SKFGeFUPKK68mK2s3zdv7t zLgmwC6jKb9SmEqJXdQGgQwyPMNeJ4NfM66XUn87SPF6Y2C52Q/cV7tl6uH52Pm0m+vn 1ubg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=8bgAe2igf/hCFL5193lqh4W3BC+LMmOpmmIMy4BqG2M=; b=mMkT0Qu8i0LFF99Y3UF4N2kixpWSBBLsIS+lEllWesVbXchANk7A0QO+ieOscNuNKV UW4RS48jytDBA5LaqgPRHN4iaWbunLneSGDG1N9oSiPjcyKdTUyAukkvQxvdGeedPPaW lhpxsEVHvYyh26Bz67rkJZhAgSoyK7gFwUZPWnoFDZUu9JY+Lr7Oe4vqwlH5jcNhOcPh qOGmZ/Vsq68ynbHy2wXsvD9+e2s2R/U7L58FsgIgtSGX/BsfrkkEXHX84/DM5BXPSsP0 99bChIMoacq//xCTOHsqyYJL40SA+s0LqLyNNtTLVbP+WL0ADfmCjwmkAvuUs2HQ7rmq qmIg== X-Gm-Message-State: AO0yUKXw/pYu4VZUurYv+XNrTIGy6p8zP9Hy+U3u9boYdRfDm6P+13rv 8ucpNB7paKjKYF4e9aHXUeSeyYk6+DX0LYNqrTjr X-Google-Smtp-Source: AK7set9f6cl9XubtZuBQSuU7sNClTZLDrlWEyP2zqBZ5xAUkeZBUJLv0a7IYiwTXA6VR86DgpBiuZo86o39RecYfzqM= X-Received: by 2002:a0d:d346:0:b0:52e:fb6b:fd61 with SMTP id v67-20020a0dd346000000b0052efb6bfd61mr15841ywd.271.1676413527026; Tue, 14 Feb 2023 14:25:27 -0800 (PST) MIME-Version: 1.0 References: <20230210045608.23274-1-jaewon31.kim@samsung.com> <20230210050333epcms1p7c0bd93b385828aeed9689d1d17ff6789@epcms1p7> In-Reply-To: <20230210050333epcms1p7c0bd93b385828aeed9689d1d17ff6789@epcms1p7> From: John Stultz Date: Tue, 14 Feb 2023 14:25:15 -0800 Message-ID: Subject: Re: [PATCH v2] dma-buf: system_heap: avoid reclaim for order 4 To: jaewon31.kim@samsung.com Cc: "tjmercier@google.com" , "sumit.semwal@linaro.org" , "daniel.vetter@ffwll.ch" , "akpm@linux-foundation.org" , "hannes@cmpxchg.org" , "mhocko@kernel.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , "jaewon31.kim@gmail.com" Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 047231C0017 X-Stat-Signature: 3qekgfcoe59y9fyzagsshuea4yyf5a31 X-HE-Tag: 1676413527-324101 X-HE-Meta: U2FsdGVkX1/fiPDNehNmvWkthbYz+YNlDkLHJTpEIyJuVFQJ/BRN2KkCjBwH1k+aXcJcphNDLoXCF9PeohzWW+AMyU/CXhZz2b1Kvj6+sMavoVqTK098kDfvYSCVuc6F+VvA1UDd2a4xt4xVPNUL4uXt9WFiSHcv7d5wDjS+Ud26BxKcYHUOsx6dbe1w9NF3G3/Us4mo0LPQmPNgWsfZhOJ3Mb/dApuW+y3Ou66qVHyGEHIMhb6dcNrMGck8X+9ksBOd8DujeSoc4ST97ywVgYcoj5+OLW9CIUDWjpSet7/yOfvQcQV7CK0tiap4dWqznrGf8aqDhCeekmtgJQy64o6R8L3+LxrVeJu8UPepT8oq72ZHKh/S+RJIpFOK84qcos9zVCTUe1f253p11YCq4Sn0oVva3ti9pw7kxX5ZN2/98e/MGkcxQL0pEsSIViPFLVHfIlCiZUngU7er2v/Uqee9ufzTYSXzPrSbUyQ3foKjxSZPe3m4tCMGb6K1+e9zZTGli8evvXTMVf/pEX4dFDTvc5CwK9z3RVvLJVRNDS6GtsYEpX44VlwgEMcSmybGW8j/I6f7nqDQlnDg5H6mR3We54Ve3fSTdfz5QcK15WXT9QFkEtJ3NPFJZAPoXnTUNw7yTZgCM49dTgCAOOvQ38fpRI4DQIs8gDBGxXqf8kJfOOckmvOwR/eno7YRzMoXFRAF6ZmM3Dy+Cix+Ci1OFEin7ohoV1rKOifcI5l3CdixEYExtc3oovUilhASH+lPRUgI+B0OhhQ9r+zqJKlOAWjmXwsGf80d/47NEErmZ2HmqZQG+EEgQChPIBuhUN/sctbcjErhdRChci9UlhmvAI0W+tz7uT6R6ZP67lLeZXHbcEKoWuvDJsNloSWeDFo+4V40okTvsePsM1nI6sT3VXRgIdlhnXlqKz4Hnp+xdNFL3aNUGvdJ82g9D4FT4unBeIBkJfgDh7EtRqWA+oY xFNLAW42 Yb5ZiW8JNySzLPSyXAkEj/ZWzgfURAUtd/5Q2SXPd3tMgfjW30OP8WPTGlZJ8Yjm5LZHVqq+ddsFLZDudoP4hFfgUfPi7WdQeRI3SUjnYk1eua0awoQGVfvHlE26L2zimh05uUI4uw9OBbIVufn+QPjj3GJDA2wNLyeJWDEYFRW3PzqljY+Du9CvRWAu4PfnTUKpBnNFZ+K/54IzCfZvSzZQEY0V+K79MGxbpY7jBL+VQ1JGuzzZzR9En6H0TZ9dOvP/poKBE7WPnAeXCkGU81qiyLbulRkk5qbmrtEnjuNEOdZBBVgP2Y4P8DIhSNguq9l+eX/6x5N7Uzz44y+fIxupXoAclguW/+BPTGdrzFACVlviRIcgucbFLwZnL2QJgiX7dz+8L8aUMjQ/8Gt4a7mCh4C59qIiXxAMxueUF90pgHrjU+bK0b6pVG49DNPSpYlbbjSCf1Vj2wA4DGXqErc6ZvjiIzNInhX7tt6KwJD89A3M2ix3eZcCN9A== 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, Feb 9, 2023 at 9:03 PM Jaewon Kim wrote: > > >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 Sorry for the delay! Reviewed-by: John Stultz thanks -john