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=-4.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 02C9EC10F03 for ; Thu, 25 Apr 2019 10:00:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D296C218FE for ; Thu, 25 Apr 2019 10:00:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729842AbfDYKAn (ORCPT ); Thu, 25 Apr 2019 06:00:43 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:58028 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728956AbfDYKAj (ORCPT ); Thu, 25 Apr 2019 06:00:39 -0400 Received: from localhost ([127.0.0.1] helo=nanos.tec.linutronix.de) by Galois.linutronix.de with esmtp (Exim 4.80) (envelope-from ) id 1hJbA1-0001sk-Us; Thu, 25 Apr 2019 11:59:22 +0200 Message-Id: <20190425094802.446326191@linutronix.de> User-Agent: quilt/0.65 Date: Thu, 25 Apr 2019 11:45:07 +0200 From: Thomas Gleixner To: LKML Cc: Josh Poimboeuf , x86@kernel.org, Andy Lutomirski , dm-devel@redhat.com, Mike Snitzer , Alasdair Kergon , 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 , Christoph Hellwig , iommu@lists.linux-foundation.org, Robin Murphy , Marek Szyprowski , Johannes Thumshirn , David Sterba , Chris Mason , Josef Bacik , linux-btrfs@vger.kernel.org, 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 Subject: [patch V3 14/29] dm bufio: Simplify stack trace retrieval References: <20190425094453.875139013@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org Replace the indirection through struct stack_trace with an invocation of the storage array based interface. Signed-off-by: Thomas Gleixner Cc: dm-devel@redhat.com Cc: Mike Snitzer Cc: Alasdair Kergon --- drivers/md/dm-bufio.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) --- a/drivers/md/dm-bufio.c +++ b/drivers/md/dm-bufio.c @@ -150,7 +150,7 @@ struct dm_buffer { void (*end_io)(struct dm_buffer *, blk_status_t); #ifdef CONFIG_DM_DEBUG_BLOCK_STACK_TRACING #define MAX_STACK 10 - struct stack_trace stack_trace; + unsigned int stack_len; unsigned long stack_entries[MAX_STACK]; #endif }; @@ -232,11 +232,7 @@ static DEFINE_MUTEX(dm_bufio_clients_loc #ifdef CONFIG_DM_DEBUG_BLOCK_STACK_TRACING static void buffer_record_stack(struct dm_buffer *b) { - b->stack_trace.nr_entries = 0; - b->stack_trace.max_entries = MAX_STACK; - b->stack_trace.entries = b->stack_entries; - b->stack_trace.skip = 2; - save_stack_trace(&b->stack_trace); + b->stack_len = stack_trace_save(b->stack_entries, MAX_STACK, 2); } #endif @@ -438,7 +434,7 @@ static struct dm_buffer *alloc_buffer(st adjust_total_allocated(b->data_mode, (long)c->block_size); #ifdef CONFIG_DM_DEBUG_BLOCK_STACK_TRACING - memset(&b->stack_trace, 0, sizeof(b->stack_trace)); + b->stack_len = 0; #endif return b; } @@ -1520,8 +1516,9 @@ static void drop_buffers(struct dm_bufio DMERR("leaked buffer %llx, hold count %u, list %d", (unsigned long long)b->block, b->hold_count, i); #ifdef CONFIG_DM_DEBUG_BLOCK_STACK_TRACING - print_stack_trace(&b->stack_trace, 1); - b->hold_count = 0; /* mark unclaimed to avoid BUG_ON below */ + stack_trace_print(b->stack_entries, b->stack_len, 1); + /* mark unclaimed to avoid BUG_ON below */ + b->hold_count = 0; #endif } From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Gleixner Subject: [patch V3 14/29] dm bufio: Simplify stack trace retrieval Date: Thu, 25 Apr 2019 11:45:07 +0200 Message-ID: <20190425094802.446326191@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, David Rientjes , Andrey Ryabinin , Alexey Dobriyan , intel-gfx@lists.freedesktop.org, Johannes Thumshirn , Akinobu Mita , Steven Rostedt , Josef Bacik , Mike Rapoport , Andy Lutomirski , Josh Poimboeuf List-Id: linux-arch.vger.kernel.org UmVwbGFjZSB0aGUgaW5kaXJlY3Rpb24gdGhyb3VnaCBzdHJ1Y3Qgc3RhY2tfdHJhY2Ugd2l0aCBh biBpbnZvY2F0aW9uIG9mCnRoZSBzdG9yYWdlIGFycmF5IGJhc2VkIGludGVyZmFjZS4KClNpZ25l ZC1vZmYtYnk6IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPgpDYzogZG0tZGV2 ZWxAcmVkaGF0LmNvbQpDYzogTWlrZSBTbml0emVyIDxzbml0emVyQHJlZGhhdC5jb20+CkNjOiBB bGFzZGFpciBLZXJnb24gPGFna0ByZWRoYXQuY29tPgotLS0KIGRyaXZlcnMvbWQvZG0tYnVmaW8u YyB8ICAgMTUgKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCsp LCA5IGRlbGV0aW9ucygtKQoKLS0tIGEvZHJpdmVycy9tZC9kbS1idWZpby5jCisrKyBiL2RyaXZl cnMvbWQvZG0tYnVmaW8uYwpAQCAtMTUwLDcgKzE1MCw3IEBAIHN0cnVjdCBkbV9idWZmZXIgewog CXZvaWQgKCplbmRfaW8pKHN0cnVjdCBkbV9idWZmZXIgKiwgYmxrX3N0YXR1c190KTsKICNpZmRl ZiBDT05GSUdfRE1fREVCVUdfQkxPQ0tfU1RBQ0tfVFJBQ0lORwogI2RlZmluZSBNQVhfU1RBQ0sg MTAKLQlzdHJ1Y3Qgc3RhY2tfdHJhY2Ugc3RhY2tfdHJhY2U7CisJdW5zaWduZWQgaW50IHN0YWNr X2xlbjsKIAl1bnNpZ25lZCBsb25nIHN0YWNrX2VudHJpZXNbTUFYX1NUQUNLXTsKICNlbmRpZgog fTsKQEAgLTIzMiwxMSArMjMyLDcgQEAgc3RhdGljIERFRklORV9NVVRFWChkbV9idWZpb19jbGll bnRzX2xvYwogI2lmZGVmIENPTkZJR19ETV9ERUJVR19CTE9DS19TVEFDS19UUkFDSU5HCiBzdGF0 aWMgdm9pZCBidWZmZXJfcmVjb3JkX3N0YWNrKHN0cnVjdCBkbV9idWZmZXIgKmIpCiB7Ci0JYi0+ c3RhY2tfdHJhY2UubnJfZW50cmllcyA9IDA7Ci0JYi0+c3RhY2tfdHJhY2UubWF4X2VudHJpZXMg PSBNQVhfU1RBQ0s7Ci0JYi0+c3RhY2tfdHJhY2UuZW50cmllcyA9IGItPnN0YWNrX2VudHJpZXM7 Ci0JYi0+c3RhY2tfdHJhY2Uuc2tpcCA9IDI7Ci0Jc2F2ZV9zdGFja190cmFjZSgmYi0+c3RhY2tf dHJhY2UpOworCWItPnN0YWNrX2xlbiA9IHN0YWNrX3RyYWNlX3NhdmUoYi0+c3RhY2tfZW50cmll cywgTUFYX1NUQUNLLCAyKTsKIH0KICNlbmRpZgogCkBAIC00MzgsNyArNDM0LDcgQEAgc3RhdGlj IHN0cnVjdCBkbV9idWZmZXIgKmFsbG9jX2J1ZmZlcihzdAogCWFkanVzdF90b3RhbF9hbGxvY2F0 ZWQoYi0+ZGF0YV9tb2RlLCAobG9uZyljLT5ibG9ja19zaXplKTsKIAogI2lmZGVmIENPTkZJR19E TV9ERUJVR19CTE9DS19TVEFDS19UUkFDSU5HCi0JbWVtc2V0KCZiLT5zdGFja190cmFjZSwgMCwg c2l6ZW9mKGItPnN0YWNrX3RyYWNlKSk7CisJYi0+c3RhY2tfbGVuID0gMDsKICNlbmRpZgogCXJl dHVybiBiOwogfQpAQCAtMTUyMCw4ICsxNTE2LDkgQEAgc3RhdGljIHZvaWQgZHJvcF9idWZmZXJz KHN0cnVjdCBkbV9idWZpbwogCQkJRE1FUlIoImxlYWtlZCBidWZmZXIgJWxseCwgaG9sZCBjb3Vu dCAldSwgbGlzdCAlZCIsCiAJCQkgICAgICAodW5zaWduZWQgbG9uZyBsb25nKWItPmJsb2NrLCBi LT5ob2xkX2NvdW50LCBpKTsKICNpZmRlZiBDT05GSUdfRE1fREVCVUdfQkxPQ0tfU1RBQ0tfVFJB Q0lORwotCQkJcHJpbnRfc3RhY2tfdHJhY2UoJmItPnN0YWNrX3RyYWNlLCAxKTsKLQkJCWItPmhv bGRfY291bnQgPSAwOyAvKiBtYXJrIHVuY2xhaW1lZCB0byBhdm9pZCBCVUdfT04gYmVsb3cgKi8K KwkJCXN0YWNrX3RyYWNlX3ByaW50KGItPnN0YWNrX2VudHJpZXMsIGItPnN0YWNrX2xlbiwgMSk7 CisJCQkvKiBtYXJrIHVuY2xhaW1lZCB0byBhdm9pZCBCVUdfT04gYmVsb3cgKi8KKwkJCWItPmhv bGRfY291bnQgPSAwOwogI2VuZGlmCiAJCX0KIAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeA== 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=-4.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED 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 9ABE7C10F03 for ; Thu, 25 Apr 2019 10:34:38 +0000 (UTC) Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (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 727CD2084B for ; Thu, 25 Apr 2019 10:34:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 727CD2084B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linutronix.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=iommu-bounces@lists.linux-foundation.org Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 0275E1D56; Thu, 25 Apr 2019 10:34:08 +0000 (UTC) Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 61E021D27 for ; Thu, 25 Apr 2019 10:33:39 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from Galois.linutronix.de (Galois.linutronix.de [146.0.238.70]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id ECA7C74A for ; Thu, 25 Apr 2019 10:33:38 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=nanos.tec.linutronix.de) by Galois.linutronix.de with esmtp (Exim 4.80) (envelope-from ) id 1hJbA1-0001sk-Us; Thu, 25 Apr 2019 11:59:22 +0200 Message-Id: <20190425094802.446326191@linutronix.de> User-Agent: quilt/0.65 Date: Thu, 25 Apr 2019 11:45:07 +0200 From: Thomas Gleixner To: LKML Subject: [patch V3 14/29] dm bufio: Simplify stack trace retrieval References: <20190425094453.875139013@linutronix.de> MIME-Version: 1.0 Cc: Mike Snitzer , David Airlie , Catalin Marinas , Joonas Lahtinen , dri-devel@lists.freedesktop.org, linux-mm@kvack.org, dm-devel@redhat.com, Alexander Potapenko , Christoph Lameter , Miroslav Benes , Christoph Hellwig , Alasdair Kergon , linux-arch@vger.kernel.org, x86@kernel.org, kasan-dev@googlegroups.com, David Rientjes , Andrey Ryabinin , Alexey Dobriyan , intel-gfx@lists.freedesktop.org, Johannes Thumshirn , Maarten Lankhorst , Akinobu Mita , Steven Rostedt , Josef Bacik , Rodrigo Vivi , Mike Rapoport , Jani Nikula , Andy Lutomirski , Josh Poimboeuf , David Sterba , Dmitry Vyukov , Tom Zanussi , Chris Mason , Pekka Enberg , iommu@lists.linux-foundation.org, Daniel Vetter , Andrew Morton , Robin Murphy , linux-btrfs@vger.kernel.org X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Sender: iommu-bounces@lists.linux-foundation.org Errors-To: iommu-bounces@lists.linux-foundation.org Message-ID: <20190425094507.r0wRGutcV8-jKGTDzYLM7WqnuYXBXPUpBloIMpWFIt4@z> Replace the indirection through struct stack_trace with an invocation of the storage array based interface. Signed-off-by: Thomas Gleixner Cc: dm-devel@redhat.com Cc: Mike Snitzer Cc: Alasdair Kergon --- drivers/md/dm-bufio.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) --- a/drivers/md/dm-bufio.c +++ b/drivers/md/dm-bufio.c @@ -150,7 +150,7 @@ struct dm_buffer { void (*end_io)(struct dm_buffer *, blk_status_t); #ifdef CONFIG_DM_DEBUG_BLOCK_STACK_TRACING #define MAX_STACK 10 - struct stack_trace stack_trace; + unsigned int stack_len; unsigned long stack_entries[MAX_STACK]; #endif }; @@ -232,11 +232,7 @@ static DEFINE_MUTEX(dm_bufio_clients_loc #ifdef CONFIG_DM_DEBUG_BLOCK_STACK_TRACING static void buffer_record_stack(struct dm_buffer *b) { - b->stack_trace.nr_entries = 0; - b->stack_trace.max_entries = MAX_STACK; - b->stack_trace.entries = b->stack_entries; - b->stack_trace.skip = 2; - save_stack_trace(&b->stack_trace); + b->stack_len = stack_trace_save(b->stack_entries, MAX_STACK, 2); } #endif @@ -438,7 +434,7 @@ static struct dm_buffer *alloc_buffer(st adjust_total_allocated(b->data_mode, (long)c->block_size); #ifdef CONFIG_DM_DEBUG_BLOCK_STACK_TRACING - memset(&b->stack_trace, 0, sizeof(b->stack_trace)); + b->stack_len = 0; #endif return b; } @@ -1520,8 +1516,9 @@ static void drop_buffers(struct dm_bufio DMERR("leaked buffer %llx, hold count %u, list %d", (unsigned long long)b->block, b->hold_count, i); #ifdef CONFIG_DM_DEBUG_BLOCK_STACK_TRACING - print_stack_trace(&b->stack_trace, 1); - b->hold_count = 0; /* mark unclaimed to avoid BUG_ON below */ + stack_trace_print(b->stack_entries, b->stack_len, 1); + /* mark unclaimed to avoid BUG_ON below */ + b->hold_count = 0; #endif } _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu