From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Gleixner Subject: [patch V3 06/29] latency_top: Simplify stack trace handling Date: Thu, 25 Apr 2019 11:44:59 +0200 Message-ID: <20190425094801.683039030@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 ZC1vZmYtYnk6IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPgotLS0KIGtlcm5l bC9sYXRlbmN5dG9wLmMgfCAgIDE3ICsrLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCi0tLSBhL2tlcm5lbC9sYXRlbmN5dG9w LmMKKysrIGIva2VybmVsL2xhdGVuY3l0b3AuYwpAQCAtMTQxLDIwICsxNDEsNiBAQCBhY2NvdW50 X2dsb2JhbF9zY2hlZHVsZXJfbGF0ZW5jeShzdHJ1Y3QKIAltZW1jcHkoJmxhdGVuY3lfcmVjb3Jk W2ldLCBsYXQsIHNpemVvZihzdHJ1Y3QgbGF0ZW5jeV9yZWNvcmQpKTsKIH0KIAotLyoKLSAqIEl0 ZXJhdG9yIHRvIHN0b3JlIGEgYmFja3RyYWNlIGludG8gYSBsYXRlbmN5IHJlY29yZCBlbnRyeQot ICovCi1zdGF0aWMgaW5saW5lIHZvaWQgc3RvcmVfc3RhY2t0cmFjZShzdHJ1Y3QgdGFza19zdHJ1 Y3QgKnRzaywKLQkJCQkJc3RydWN0IGxhdGVuY3lfcmVjb3JkICpsYXQpCi17Ci0Jc3RydWN0IHN0 YWNrX3RyYWNlIHRyYWNlOwotCi0JbWVtc2V0KCZ0cmFjZSwgMCwgc2l6ZW9mKHRyYWNlKSk7Ci0J dHJhY2UubWF4X2VudHJpZXMgPSBMVF9CQUNLVFJBQ0VERVBUSDsKLQl0cmFjZS5lbnRyaWVzID0g JmxhdC0+YmFja3RyYWNlWzBdOwotCXNhdmVfc3RhY2tfdHJhY2VfdHNrKHRzaywgJnRyYWNlKTsK LX0KLQogLyoqCiAgKiBfX2FjY291bnRfc2NoZWR1bGVyX2xhdGVuY3kgLSByZWNvcmQgYW4gb2Nj dXJyZWQgbGF0ZW5jeQogICogQHRzayAtIHRoZSB0YXNrIHN0cnVjdCBvZiB0aGUgdGFzayBoaXR0 aW5nIHRoZSBsYXRlbmN5CkBAIC0xOTEsNyArMTc3LDggQEAgdm9pZCBfX3NjaGVkCiAJbGF0LmNv dW50ID0gMTsKIAlsYXQudGltZSA9IHVzZWNzOwogCWxhdC5tYXggPSB1c2VjczsKLQlzdG9yZV9z dGFja3RyYWNlKHRzaywgJmxhdCk7CisKKwlzdGFja190cmFjZV9zYXZlX3Rzayh0c2ssIGxhdC5i YWNrdHJhY2UsIExUX0JBQ0tUUkFDRURFUFRILCAwKTsKIAogCXJhd19zcGluX2xvY2tfaXJxc2F2 ZSgmbGF0ZW5jeV9sb2NrLCBmbGFncyk7CiAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZng= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from Galois.linutronix.de ([146.0.238.70]:57848 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729336AbfDYKAA (ORCPT ); Thu, 25 Apr 2019 06:00:00 -0400 Message-ID: <20190425094801.683039030@linutronix.de> Date: Thu, 25 Apr 2019 11:44:59 +0200 From: Thomas Gleixner Subject: [patch V3 06/29] latency_top: Simplify stack trace handling 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 , 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, 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: <20190425094459.wFnPJkLWMUNqAqUFmLA8L4Apud8YVAdAwJqdn_Vb6vI@z> Replace the indirection through struct stack_trace with an invocation of the storage array based interface. Signed-off-by: Thomas Gleixner --- kernel/latencytop.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) --- a/kernel/latencytop.c +++ b/kernel/latencytop.c @@ -141,20 +141,6 @@ account_global_scheduler_latency(struct memcpy(&latency_record[i], lat, sizeof(struct latency_record)); } -/* - * Iterator to store a backtrace into a latency record entry - */ -static inline void store_stacktrace(struct task_struct *tsk, - struct latency_record *lat) -{ - struct stack_trace trace; - - memset(&trace, 0, sizeof(trace)); - trace.max_entries = LT_BACKTRACEDEPTH; - trace.entries = &lat->backtrace[0]; - save_stack_trace_tsk(tsk, &trace); -} - /** * __account_scheduler_latency - record an occurred latency * @tsk - the task struct of the task hitting the latency @@ -191,7 +177,8 @@ void __sched lat.count = 1; lat.time = usecs; lat.max = usecs; - store_stacktrace(tsk, &lat); + + stack_trace_save_tsk(tsk, lat.backtrace, LT_BACKTRACEDEPTH, 0); raw_spin_lock_irqsave(&latency_lock, flags);