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 X-Spam-Level: X-Spam-Status: No, score=-11.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 99629C4727E for ; Sat, 26 Sep 2020 04:24:59 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3B0BA2078B for ; Sat, 26 Sep 2020 04:24:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="mVKL30wy" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3B0BA2078B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8157D6E122; Sat, 26 Sep 2020 04:24:58 +0000 (UTC) Received: from mail-pl1-x644.google.com (mail-pl1-x644.google.com [IPv6:2607:f8b0:4864:20::644]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1B4976E122 for ; Sat, 26 Sep 2020 04:24:57 +0000 (UTC) Received: by mail-pl1-x644.google.com with SMTP id x5so185037plo.6 for ; Fri, 25 Sep 2020 21:24:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=u7Z9AmMaAX9Vb4Ld53icr/xLpCufMXVRoWb2ypLsc80=; b=mVKL30wyp8QWxrO/AXPzbqcUkAgUwQ5PQLPtaTkJUo85MCgp0lLqI759YCjmqYCkfo 0vofLOZ+oqHZEyalKS9grgA6QsTsHTLZUVGmcmn4NXUp+sOGw9tqWOL6ubqGxS3Nrc00 q7tnYBkMjfrG4/lWYFeHodZ7QGCewEqSZ6IsvQh/3ZR0RsD03VrR8qY1GpHDuym1lq5x vmaDqZ8UEYL5EXf8Wktjix4s29ercJuTkpkr1blwjS1MwNlPlh5wQKPWzsMsYaIxYeKr psDWBvDxbJDar9sPHmE6joj+ftiS9KY4vzTpm7AdJVQcwhLAOkWQl4oK2hkRKUtga3cW uDPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=u7Z9AmMaAX9Vb4Ld53icr/xLpCufMXVRoWb2ypLsc80=; b=Wf58Hv6UUA8CHr/OI/ktdkALvxyUHuse1RNgDIOoTMO6plUVr8L9IPSTqDl0gMv/ut DJ+cgxzZYJ9bzWjan4ZrZ43epLps3cyIDW2JkXS6ZuiS/vaUmfonKoFWhOIOHUQ0V5w2 IreDFfeMGpUwLsAbM3CD+4S9s7AbsYRuC/BqhLXJ6VBF6ggUVViYhVmDG6CcltjxnTb8 LX1/uI/mehy3pcU3hx0xEMFxZF8nbmHbbakTozPqd/YUSzLWlCwKip04ay30DI2I7s9A DYxSc/++HYexIpgSPSAeqzsOf85WtrJXbNaqKr79nOWpkXoW7iFm9+w1qrVXppBlYvc4 at/Q== X-Gm-Message-State: AOAM533npBjsOXdulst+NusGuRSM9iW7sdwYCusY75G/G1xcDQHz6Ab2 GHtdTNxH4C53KtieNbe1WoVJOw== X-Google-Smtp-Source: ABdhPJzK4xRnW4GQ7wUmaWVVtyqAzUaT2hQgL6Vkyx4xR/37YLk5BaJvFuZ7unQ2rLB0zWZJPt03KQ== X-Received: by 2002:a17:902:8347:b029:d1:f365:6fb5 with SMTP id z7-20020a1709028347b02900d1f3656fb5mr2420471pln.61.1601094296568; Fri, 25 Sep 2020 21:24:56 -0700 (PDT) Received: from localhost.localdomain ([2601:1c2:680:1319:692:26ff:feda:3a81]) by smtp.gmail.com with ESMTPSA id a5sm3585886pgk.13.2020.09.25.21.24.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Sep 2020 21:24:55 -0700 (PDT) From: John Stultz To: lkml Subject: [RFC][PATCH 0/6] dma-buf: Performance improvements for system heap Date: Sat, 26 Sep 2020 04:24:47 +0000 Message-Id: <20200926042453.67517-1-john.stultz@linaro.org> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sandeep Patil , dri-devel@lists.freedesktop.org, Ezequiel Garcia , Robin Murphy , James Jones , Liam Mark , Laura Abbott , Hridya Valsaraju , =?UTF-8?q?=C3=98rjan=20Eide?= , Suren Baghdasaryan , linux-media@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGV5IEFsbCwKICBTbyB0aGlzIHBhdGNoIHNlcmllcyBjb250YWlucyBhIHNlcmllcyBvZiBwZXJm b3JtYW5jZQpvcHRpbWl6YXRpb25zIHRvIHRoZSBkbWEtYnVmIHN5c3RlbSBoZWFwLgoKVW5mb3J0 dW5hdGVseSwgaW4gd29ya2luZyB0aGVzZSB1cCwgSSByZWFsaXplZCB0aGUgaGVhcC1oZWxwZXJz CmluZnJhc3RydWN0dXJlIHdlIHRyaWVkIHRvIGFkZCB0byBtaW5paW1pemUgY29kZSBkdXBsaWNh dGlvbiBpcwpub3QgYXMgZ2VuZXJpYyBhcyB3ZSBpbnRlbmRlZC4gRm9yIHNvbWUgaGVhcHMgaXQg bWFrZXMgc2Vuc2UgdG8KZGVhbCB3aXRoIHBhZ2UgbGlzdHMsIGZvciBvdGhlciBoZWFwcyBpdCBt YWtlcyBtb3JlIHNlbnNlIHRvCnRyYWNrIHRoaW5ncyB3aXRoIHNndGFibGVzLgoKU28gdGhpcyBz ZXJpZXMgcmV3b3JrcyB0aGUgc3lzdGVtIGhlYXAgdG8gdXNlIHNndGFibGVzLCBhbmQgdGhlbgpj b25zb2xpZGF0ZXMgdGhlIHBhZ2VsaXN0IG1ldGhvZCBmcm9tIHRoZSBoZWFwLWhlbHBlcnMgaW50 byB0aGUKQ01BIGhlYXAuIEFmdGVyIHdoaWNoIHRoZSBoZWFwLWhlbHBlcnMgbG9naWMgaXMgcmVt b3ZlZCAoYXMgaXQKaXMgdW51c2VkKS4gSSdkIHN0aWxsIGxpa2UgdG8gZmluZCBhIGJldHRlciB3 YXkgdG8gYXZvaWQgc29tZSBvZgp0aGUgbG9naWMgZHVwbGljYXRpb24gaW4gaW1wbGVtZW50aW5n IHRoZSBlbnRpcmUgZG1hX2J1Zl9vcHMKaGFuZGxlcnMgcGVyIGhlYXAuIEJ1dCB1bmZvcnR1bmF0 ZWx5IHRoYXQgY29kZSBpcyB0aWVkIHNvbWV3aGF0CnRvIGhvdyB0aGUgYnVmZmVyJ3MgbWVtb3J5 IGlzIHRyYWNrZWQuCgpBZnRlciB0aGlzLCB0aGUgc2VyaWVzIGludHJvZHVjZXMgdHdvIG9wdGlt aXphdGlvbnMgdG8gdGhlIHRoZQpzeXN0ZW0gaGVhcCwgdXRpbGl6aW5nIGxhcmdlIG9yZGVyIHBh Z2VzLCBhbmQgYWRkaW5nIGEgcGFnZS1wb29sCihtYXliZSBhYnVzaW5nIHRoZSBwYWdlcG9vbCBs b2dpYyBmcm9tIHRoZSBuZXR3b3JrIGNvZGUsIGJ1dCBpdApzZWVtcyBzaWxseSB0byByZWltcGxl bWVudCBpdCkuCgoKSSBpbXBsZW1lbnRlZCBhIHNpbXBsZSBhbGxvY2F0aW9uIG1pY3JvYmVuY2ht YXJrIHRvIGNvbXBhcmUKZG1hYnVmIGhlYXBzIHZzIGlvbjoKICBodHRwczovL2dpdC5saW5hcm8u b3JnL3Blb3BsZS9qb2huLnN0dWx0ei9hbmRyb2lkLWRldi5naXQvY29tbWl0Lz9oPWRldi9kbWEt YnVmLWhlYXAtcGVyZiZpZD1lMzNhYWJkMzRiMzAwZjhmOGJlOGQ3MWVjNzI1M2RkMGFiZTcwMmYy CgpXaXRoIHRoZXNlIGNoYW5nZXMsIHRoZSBhbGxvY2F0aW9uIHBhdGggaXMgKm11Y2gqIGltcHJv dmVkLApwZXJmb3JtaW5nIGJldHRlciB0aGVuIElPTiAodGhvdWdoIHRvIGJlIGZhaXIsIHRoZSBy ZXBlYXRlZCAKYWxsb2NhdGluZyBhbmQgZnJlZWluZyBvZiB0aGUgc2FtZSBzaXplIGJ1ZmZlciBp cyB0aGUgaWRlYWwKY2FzZSBmb3IgdGhlIHBhZ2Vwb29sIGxvZ2ljLCBzbyBkb24ndCByZWFkIHRv byBtdWNoIGludG8gaXQpLgoKSSBjaGFydGVkIHNvbWUgZGF0YXBvaW50cyBmcm9tIHRoZSBtaWNy b2JlbmNobWFyayB3aXRoIGVhY2gKb2YgdGhlIHBhdGNoZXMgc2hvdWxkIGZvbGtzIGJlIGludGVy ZXN0ZWQuCmh0dHBzOi8vZG9jcy5nb29nbGUuY29tL3NwcmVhZHNoZWV0cy9kLzEtMUM4WlFwbWts XzBESVNrSTZ6NHhlbEUwOE1sTkFON29FdTM0QW5PNEFvL2VkaXQjZ2lkPTAKCkZpbmFsbHksIGEg cG9ydCBvZiBhIHBhdGNoIHRoYXQgw5hyamFuIEVpZGUgaW1wbGVtZW50ZWQgZm9yIElPTgp0aGF0 IGF2b2lkcyBjYWxsaW5nIHN5bmMgb24gYXR0YWNobWVudHMgdGhhdCBkb24ndCBoYXZlIGEKbWFw cGluZy4KCkZlZWRiYWNrIG9uIHRoZXNlIHdvdWxkIGJlIGdyZWF0IQoKCkNjOiBTdW1pdCBTZW13 YWwgPHN1bWl0LnNlbXdhbEBsaW5hcm8ub3JnPgpDYzogTGlhbSBNYXJrIDxsbWFya0Bjb2RlYXVy b3JhLm9yZz4KQ2M6IExhdXJhIEFiYm90dCA8bGFiYm90dEBrZXJuZWwub3JnPgpDYzogQnJpYW4g U3RhcmtleSA8QnJpYW4uU3RhcmtleUBhcm0uY29tPgpDYzogSHJpZHlhIFZhbHNhcmFqdSA8aHJp ZHlhQGdvb2dsZS5jb20+CkNjOiBTdXJlbiBCYWdoZGFzYXJ5YW4gPHN1cmVuYkBnb29nbGUuY29t PgpDYzogU2FuZGVlcCBQYXRpbCA8c3NwYXRpbEBnb29nbGUuY29tPgpDYzogw5hyamFuIEVpZGUg PG9yamFuLmVpZGVAYXJtLmNvbT4KQ2M6IFJvYmluIE11cnBoeSA8cm9iaW4ubXVycGh5QGFybS5j b20+CkNjOiBFemVxdWllbCBHYXJjaWEgPGV6ZXF1aWVsQGNvbGxhYm9yYS5jb20+CkNjOiBTaW1v biBTZXIgPGNvbnRhY3RAZW1lcnNpb24uZnI+CkNjOiBKYW1lcyBKb25lcyA8amFqb25lc0Budmlk aWEuY29tPgpDYzogbGludXgtbWVkaWFAdmdlci5rZXJuZWwub3JnCkNjOiBkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCgpKb2huIFN0dWx0eiAoNik6CiAgZG1hLWJ1Zjogc3lzdGVtX2hl YXA6IFJld29yayBzeXN0ZW0gaGVhcCB0byB1c2Ugc2d0YWJsZXMgaW5zdGVhZCBvZgogICAgcGFn ZWxpc3RzCiAgZG1hLWJ1ZjogaGVhcHM6IE1vdmUgaGVhcC1oZWxwZXIgbG9naWMgaW50byB0aGUg Y21hX2hlYXAKICAgIGltcGxlbWVudGF0aW9uCiAgZG1hLWJ1ZjogaGVhcHM6IFJlbW92ZSBoZWFw LWhlbHBlcnMgY29kZQogIGRtYS1idWY6IHN5c3RlbV9oZWFwOiBBbGxvY2F0ZSBoaWdoZXIgb3Jk ZXIgcGFnZXMgaWYgYXZhaWxhYmxlCiAgZG1hLWJ1Zjogc3lzdGVtX2hlYXA6IEFkZCBwYWdlcG9v bCBzdXBwb3J0IHRvIHN5c3RlbSBoZWFwCiAgZG1hLWJ1ZjogaGVhcHM6IFNraXAgc3luYyBpZiBu b3QgbWFwcGVkCgogZHJpdmVycy9kbWEtYnVmL2hlYXBzL0tjb25maWcgICAgICAgIHwgICAxICsK IGRyaXZlcnMvZG1hLWJ1Zi9oZWFwcy9NYWtlZmlsZSAgICAgICB8ICAgMSAtCiBkcml2ZXJzL2Rt YS1idWYvaGVhcHMvY21hX2hlYXAuYyAgICAgfCAzMzIgKysrKysrKysrKysrKysrKystLS0tCiBk cml2ZXJzL2RtYS1idWYvaGVhcHMvaGVhcC1oZWxwZXJzLmMgfCAyNzEgLS0tLS0tLS0tLS0tLS0t LS0KIGRyaXZlcnMvZG1hLWJ1Zi9oZWFwcy9oZWFwLWhlbHBlcnMuaCB8ICA1MyAtLS0tCiBkcml2 ZXJzL2RtYS1idWYvaGVhcHMvc3lzdGVtX2hlYXAuYyAgfCA0MjYgKysrKysrKysrKysrKysrKysr KysrKysrLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDY2MCBpbnNlcnRpb25zKCspLCA0MjQgZGVsZXRp b25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgZHJpdmVycy9kbWEtYnVmL2hlYXBzL2hlYXAtaGVs cGVycy5jCiBkZWxldGUgbW9kZSAxMDA2NDQgZHJpdmVycy9kbWEtYnVmL2hlYXBzL2hlYXAtaGVs cGVycy5oCgotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK 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 X-Spam-Level: X-Spam-Status: No, score=-11.9 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 62A88C2D0A8 for ; Sat, 26 Sep 2020 04:24:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 143BF2078B for ; Sat, 26 Sep 2020 04:24:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="mVKL30wy" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729172AbgIZEY5 (ORCPT ); Sat, 26 Sep 2020 00:24:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42190 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726210AbgIZEY5 (ORCPT ); Sat, 26 Sep 2020 00:24:57 -0400 Received: from mail-pl1-x643.google.com (mail-pl1-x643.google.com [IPv6:2607:f8b0:4864:20::643]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 41AD8C0613CE for ; Fri, 25 Sep 2020 21:24:57 -0700 (PDT) Received: by mail-pl1-x643.google.com with SMTP id u4so351187plr.4 for ; Fri, 25 Sep 2020 21:24:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=u7Z9AmMaAX9Vb4Ld53icr/xLpCufMXVRoWb2ypLsc80=; b=mVKL30wyp8QWxrO/AXPzbqcUkAgUwQ5PQLPtaTkJUo85MCgp0lLqI759YCjmqYCkfo 0vofLOZ+oqHZEyalKS9grgA6QsTsHTLZUVGmcmn4NXUp+sOGw9tqWOL6ubqGxS3Nrc00 q7tnYBkMjfrG4/lWYFeHodZ7QGCewEqSZ6IsvQh/3ZR0RsD03VrR8qY1GpHDuym1lq5x vmaDqZ8UEYL5EXf8Wktjix4s29ercJuTkpkr1blwjS1MwNlPlh5wQKPWzsMsYaIxYeKr psDWBvDxbJDar9sPHmE6joj+ftiS9KY4vzTpm7AdJVQcwhLAOkWQl4oK2hkRKUtga3cW uDPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=u7Z9AmMaAX9Vb4Ld53icr/xLpCufMXVRoWb2ypLsc80=; b=ZfuFaAbricJiyzbnz30g7VHbOIKpxhpMjNpS60U3YxtYXmyf5PUzNyOs7bmO1u6RgV xNOLtOwvE1bHvYvwvvFXRKF32YbFLX6dlQ+GdY94DnRrmGJ/3cb+XL/WUh56uROe+cig XceZuN3Qj+bpevk0dDto9MvtAtXpHMDd0/T5qfnt0Uz1OoAVTA00fSX/LIk3a4G+OWAX w5gZdc5WCYhWTptZh8xmjJlVrrgJRI8m+Igg8xnlirEs8nOx/4TnAWwl03YXOqym5FEs 7elH6oIpngDMf70rYzveCbuxebYLu8tj8PSEXEBMVsAYDt14Ary/opOG2zsTngKUAgQI ZPSg== X-Gm-Message-State: AOAM531D4lTPyBJC1EDc2pRu83sAbzPosBoqwLI/CMqFQ+n7qClfeNC3 VgxlXRmvFUjtOMggvRHax8owLw== X-Google-Smtp-Source: ABdhPJzK4xRnW4GQ7wUmaWVVtyqAzUaT2hQgL6Vkyx4xR/37YLk5BaJvFuZ7unQ2rLB0zWZJPt03KQ== X-Received: by 2002:a17:902:8347:b029:d1:f365:6fb5 with SMTP id z7-20020a1709028347b02900d1f3656fb5mr2420471pln.61.1601094296568; Fri, 25 Sep 2020 21:24:56 -0700 (PDT) Received: from localhost.localdomain ([2601:1c2:680:1319:692:26ff:feda:3a81]) by smtp.gmail.com with ESMTPSA id a5sm3585886pgk.13.2020.09.25.21.24.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Sep 2020 21:24:55 -0700 (PDT) From: John Stultz To: lkml Cc: John Stultz , Sumit Semwal , Liam Mark , Laura Abbott , Brian Starkey , Hridya Valsaraju , Suren Baghdasaryan , Sandeep Patil , =?UTF-8?q?=C3=98rjan=20Eide?= , Robin Murphy , Ezequiel Garcia , Simon Ser , James Jones , linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: [RFC][PATCH 0/6] dma-buf: Performance improvements for system heap Date: Sat, 26 Sep 2020 04:24:47 +0000 Message-Id: <20200926042453.67517-1-john.stultz@linaro.org> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Hey All, So this patch series contains a series of performance optimizations to the dma-buf system heap. Unfortunately, in working these up, I realized the heap-helpers infrastructure we tried to add to miniimize code duplication is not as generic as we intended. For some heaps it makes sense to deal with page lists, for other heaps it makes more sense to track things with sgtables. So this series reworks the system heap to use sgtables, and then consolidates the pagelist method from the heap-helpers into the CMA heap. After which the heap-helpers logic is removed (as it is unused). I'd still like to find a better way to avoid some of the logic duplication in implementing the entire dma_buf_ops handlers per heap. But unfortunately that code is tied somewhat to how the buffer's memory is tracked. After this, the series introduces two optimizations to the the system heap, utilizing large order pages, and adding a page-pool (maybe abusing the pagepool logic from the network code, but it seems silly to reimplement it). I implemented a simple allocation microbenchmark to compare dmabuf heaps vs ion: https://git.linaro.org/people/john.stultz/android-dev.git/commit/?h=dev/dma-buf-heap-perf&id=e33aabd34b300f8f8be8d71ec7253dd0abe702f2 With these changes, the allocation path is *much* improved, performing better then ION (though to be fair, the repeated allocating and freeing of the same size buffer is the ideal case for the pagepool logic, so don't read too much into it). I charted some datapoints from the microbenchmark with each of the patches should folks be interested. https://docs.google.com/spreadsheets/d/1-1C8ZQpmkl_0DISkI6z4xelE08MlNAN7oEu34AnO4Ao/edit#gid=0 Finally, a port of a patch that Ørjan Eide implemented for ION that avoids calling sync on attachments that don't have a mapping. Feedback on these would be great! Cc: Sumit Semwal Cc: Liam Mark Cc: Laura Abbott Cc: Brian Starkey Cc: Hridya Valsaraju Cc: Suren Baghdasaryan Cc: Sandeep Patil Cc: Ørjan Eide Cc: Robin Murphy Cc: Ezequiel Garcia Cc: Simon Ser Cc: James Jones Cc: linux-media@vger.kernel.org Cc: dri-devel@lists.freedesktop.org John Stultz (6): dma-buf: system_heap: Rework system heap to use sgtables instead of pagelists dma-buf: heaps: Move heap-helper logic into the cma_heap implementation dma-buf: heaps: Remove heap-helpers code dma-buf: system_heap: Allocate higher order pages if available dma-buf: system_heap: Add pagepool support to system heap dma-buf: heaps: Skip sync if not mapped drivers/dma-buf/heaps/Kconfig | 1 + drivers/dma-buf/heaps/Makefile | 1 - drivers/dma-buf/heaps/cma_heap.c | 332 +++++++++++++++++---- drivers/dma-buf/heaps/heap-helpers.c | 271 ----------------- drivers/dma-buf/heaps/heap-helpers.h | 53 ---- drivers/dma-buf/heaps/system_heap.c | 426 ++++++++++++++++++++++++--- 6 files changed, 660 insertions(+), 424 deletions(-) delete mode 100644 drivers/dma-buf/heaps/heap-helpers.c delete mode 100644 drivers/dma-buf/heaps/heap-helpers.h -- 2.17.1