From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Gleixner Subject: [patch V3 12/29] dma/debug: Simplify stracktrace retrieval Date: Thu, 25 Apr 2019 11:45:05 +0200 Message-ID: <20190425094802.248658135@linutronix.de> References: <20190425094453.875139013@linutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: LKML Cc: Mike Snitzer , David Airlie , Catalin Marinas , dri-devel@lists.freedesktop.org, linux-mm@kvack.org, dm-devel@redhat.com, Alexander Potapenko , Christoph Lameter , Miroslav Benes , Christoph Hellwig , Alasdair Kergon , Marek Szyprowski , linux-arch@vger.kernel.org, x86@kernel.org, kasan-dev@googlegroups.com, Johannes Thumshirn , Andrey Ryabinin , Alexey Dobriyan , intel-gfx@lists.freedesktop.org, David Rientjes , Akinobu Mita , Steven Rostedt , Josef Bacik , Mike Rapoport , Andy Lutomirski , Josh Poimboeuf List-Id: linux-arch.vger.kernel.org UmVwbGFjZSB0aGUgaW5kaXJlY3Rpb24gdGhyb3VnaCBzdHJ1Y3Qgc3RhY2tfdHJhY2Ugd2l0aCBh biBpbnZvY2F0aW9uIG9mCnRoZSBzdG9yYWdlIGFycmF5IGJhc2VkIGludGVyZmFjZS4KClNpZ25l ZC1vZmYtYnk6IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPgpSZXZpZXdlZC1i eTogQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+CkNjOiBpb21tdUBsaXN0cy5saW51eC1m b3VuZGF0aW9uLm9yZwpDYzogUm9iaW4gTXVycGh5IDxyb2Jpbi5tdXJwaHlAYXJtLmNvbT4KQ2M6 IE1hcmVrIFN6eXByb3dza2kgPG0uc3p5cHJvd3NraUBzYW1zdW5nLmNvbT4KLS0tCiBrZXJuZWwv ZG1hL2RlYnVnLmMgfCAgIDE0ICsrKysrKy0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNl cnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKLS0tIGEva2VybmVsL2RtYS9kZWJ1Zy5jCisrKyBi L2tlcm5lbC9kbWEvZGVidWcuYwpAQCAtODksOCArODksOCBAQCBzdHJ1Y3QgZG1hX2RlYnVnX2Vu dHJ5IHsKIAlpbnQJCSBzZ19tYXBwZWRfZW50czsKIAllbnVtIG1hcF9lcnJfdHlwZXMgIG1hcF9l cnJfdHlwZTsKICNpZmRlZiBDT05GSUdfU1RBQ0tUUkFDRQotCXN0cnVjdAkJIHN0YWNrX3RyYWNl IHN0YWNrdHJhY2U7Ci0JdW5zaWduZWQgbG9uZwkgc3RfZW50cmllc1tETUFfREVCVUdfU1RBQ0tU UkFDRV9FTlRSSUVTXTsKKwl1bnNpZ25lZCBpbnQJc3RhY2tfbGVuOworCXVuc2lnbmVkIGxvbmcJ c3RhY2tfZW50cmllc1tETUFfREVCVUdfU1RBQ0tUUkFDRV9FTlRSSUVTXTsKICNlbmRpZgogfTsK IApAQCAtMTc0LDcgKzE3NCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBkdW1wX2VudHJ5X3RyYWNl KHN0cnUKICNpZmRlZiBDT05GSUdfU1RBQ0tUUkFDRQogCWlmIChlbnRyeSkgewogCQlwcl93YXJu aW5nKCJNYXBwZWQgYXQ6XG4iKTsKLQkJcHJpbnRfc3RhY2tfdHJhY2UoJmVudHJ5LT5zdGFja3Ry YWNlLCAwKTsKKwkJc3RhY2tfdHJhY2VfcHJpbnQoZW50cnktPnN0YWNrX2VudHJpZXMsIGVudHJ5 LT5zdGFja19sZW4sIDApOwogCX0KICNlbmRpZgogfQpAQCAtNzA0LDEyICs3MDQsMTAgQEAgc3Rh dGljIHN0cnVjdCBkbWFfZGVidWdfZW50cnkgKmRtYV9lbnRyeQogCXNwaW5fdW5sb2NrX2lycXJl c3RvcmUoJmZyZWVfZW50cmllc19sb2NrLCBmbGFncyk7CiAKICNpZmRlZiBDT05GSUdfU1RBQ0tU UkFDRQotCWVudHJ5LT5zdGFja3RyYWNlLm1heF9lbnRyaWVzID0gRE1BX0RFQlVHX1NUQUNLVFJB Q0VfRU5UUklFUzsKLQllbnRyeS0+c3RhY2t0cmFjZS5lbnRyaWVzID0gZW50cnktPnN0X2VudHJp ZXM7Ci0JZW50cnktPnN0YWNrdHJhY2Uuc2tpcCA9IDE7Ci0Jc2F2ZV9zdGFja190cmFjZSgmZW50 cnktPnN0YWNrdHJhY2UpOworCWVudHJ5LT5zdGFja19sZW4gPSBzdGFja190cmFjZV9zYXZlKGVu dHJ5LT5zdGFja19lbnRyaWVzLAorCQkJCQkgICAgQVJSQVlfU0laRShlbnRyeS0+c3RhY2tfZW50 cmllcyksCisJCQkJCSAgICAxKTsKICNlbmRpZgotCiAJcmV0dXJuIGVudHJ5OwogfQogCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from Galois.linutronix.de ([146.0.238.70]:57895 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387540AbfDYKAG (ORCPT ); Thu, 25 Apr 2019 06:00:06 -0400 Message-ID: <20190425094802.248658135@linutronix.de> Date: Thu, 25 Apr 2019 11:45:05 +0200 From: Thomas Gleixner Subject: [patch V3 12/29] dma/debug: Simplify stracktrace retrieval References: <20190425094453.875139013@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-arch-owner@vger.kernel.org List-ID: To: LKML Cc: Josh Poimboeuf , x86@kernel.org, Andy Lutomirski , Christoph Hellwig , iommu@lists.linux-foundation.org, Robin Murphy , Marek Szyprowski , Steven Rostedt , Alexander Potapenko , Alexey Dobriyan , Andrew Morton , Christoph Lameter , Pekka Enberg , linux-mm@kvack.org, David Rientjes , Catalin Marinas , Dmitry Vyukov , Andrey Ryabinin , kasan-dev@googlegroups.com, Mike Rapoport , Akinobu Mita , Johannes Thumshirn , David Sterba , Chris Mason , Josef Bacik , linux-btrfs@vger.kernel.org, dm-devel@redhat.com, Mike Snitzer , Alasdair Kergon , Daniel Vetter , intel-gfx@lists.freedesktop.org, Joonas Lahtinen , Maarten Lankhorst , dri-devel@lists.freedesktop.org, David Airlie , Jani Nikula , Rodrigo Vivi , Tom Zanussi , Miroslav Benes , linux-arch@vger.kernel.org Message-ID: <20190425094505.uZ1-oFAtqSA4sBN87wxK-sle6SusNjcKgRYUZCPm2ek@z> Replace the indirection through struct stack_trace with an invocation of the storage array based interface. Signed-off-by: Thomas Gleixner Reviewed-by: Christoph Hellwig Cc: iommu@lists.linux-foundation.org Cc: Robin Murphy Cc: Marek Szyprowski --- kernel/dma/debug.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) --- a/kernel/dma/debug.c +++ b/kernel/dma/debug.c @@ -89,8 +89,8 @@ struct dma_debug_entry { int sg_mapped_ents; enum map_err_types map_err_type; #ifdef CONFIG_STACKTRACE - struct stack_trace stacktrace; - unsigned long st_entries[DMA_DEBUG_STACKTRACE_ENTRIES]; + unsigned int stack_len; + unsigned long stack_entries[DMA_DEBUG_STACKTRACE_ENTRIES]; #endif }; @@ -174,7 +174,7 @@ static inline void dump_entry_trace(stru #ifdef CONFIG_STACKTRACE if (entry) { pr_warning("Mapped at:\n"); - print_stack_trace(&entry->stacktrace, 0); + stack_trace_print(entry->stack_entries, entry->stack_len, 0); } #endif } @@ -704,12 +704,10 @@ static struct dma_debug_entry *dma_entry spin_unlock_irqrestore(&free_entries_lock, flags); #ifdef CONFIG_STACKTRACE - entry->stacktrace.max_entries = DMA_DEBUG_STACKTRACE_ENTRIES; - entry->stacktrace.entries = entry->st_entries; - entry->stacktrace.skip = 1; - save_stack_trace(&entry->stacktrace); + entry->stack_len = stack_trace_save(entry->stack_entries, + ARRAY_SIZE(entry->stack_entries), + 1); #endif - return entry; }