From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Zijlstra Subject: Re: [patch V2 28/29] stacktrace: Provide common infrastructure Date: Fri, 19 Apr 2019 09:18:43 +0200 Message-ID: <20190419071843.GM4038@hirez.programming.kicks-ass.net> References: <20190418084119.056416939@linutronix.de> <20190418084255.652003111@linutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190418084255.652003111@linutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Thomas Gleixner Cc: Mike Snitzer , David Airlie , Catalin Marinas , dri-devel@lists.freedesktop.org, linux-mm@kvack.org, dm-devel@redhat.com, Alexander Potapenko , Christoph Lameter , 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 , David Sterba List-Id: linux-arch.vger.kernel.org T24gVGh1LCBBcHIgMTgsIDIwMTkgYXQgMTA6NDE6NDdBTSArMDIwMCwgVGhvbWFzIEdsZWl4bmVy IHdyb3RlOgoKPiArdHlwZWRlZiBib29sICgqc3RhY2tfdHJhY2VfY29uc3VtZV9mbikodm9pZCAq Y29va2llLCB1bnNpZ25lZCBsb25nIGFkZHIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbCByZWxpYWJsZSk7Cgo+ICt2b2lkIGFyY2hfc3RhY2tfd2FsayhzdGFj a190cmFjZV9jb25zdW1lX2ZuIGNvbnN1bWVfZW50cnksIHZvaWQgKmNvb2tpZSwKPiArCQkgICAg IHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwo+ICtpbnQg YXJjaF9zdGFja193YWxrX3JlbGlhYmxlKHN0YWNrX3RyYWNlX2NvbnN1bWVfZm4gY29uc3VtZV9l bnRyeSwgdm9pZCAqY29va2llLAo+ICsJCQkgICAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzayk7 CgpUaGlzIGJ1Z3MgbWUgYSBsaXR0bGU7IGlkZWFsbHkgdGhlIF9yZWxpYWJsZSgpIHRoaW5nIHdv dWxkIG5vdCBleGlzdHMuCgpUaG9tYXMgc2FpZCB0aGF0IHRoZSBleGlzdGluZyBfX3NhdmVfc3Rh Y2tfdHJhY2VfcmVsaWFibGUoKSBpcyBkaWZmZXJlbnQKZW5vdWdoIGZvciB0aGUgdW5pZmljYXRp b24gdG8gYmUgbm9uLXRyaXZpYWwsIGJ1dCBtYXliZSBKb3NoIGNhbiBoZWxwCm91dD8KCkZyb20g d2hhdCBJIGNhbiBzZWUgdGhlIGJpZ2dlc3Qgc2lnbmlmaWNhbnQgZGlmZmVyZW5jZXMgYXJlOgoK IC0gaXQgbG9va3MgYXQgdGhlIHJlZ3Mgc2V0cyBvbiB0aGUgc3RhY2sgYW5kIGZvciBGUCBiYWls cyBlYXJseQogLSBiYWlscyBmb3Iga2hyZWFkcyBhbmQgaWRsZSAoYWZ0ZXIgaXQgZG9lcyBhbGwg dGhlIGhhcmQgd29yayE/ISkKClRoZSBmaXJzdCAoRlAgY2hlY2tpbmcgZm9yIGV4Y2VwdGlvbnMp IHNob3VsZCBwcm9iYWJseSBiZSByZWZsZWN0ZWQgaW4KY29uc3VtZV9mbigucmVsaWFibGUpIGFu eXdheSAtLSBhbHRob3VnaCB0aGF0IHdvdWxkIG1lYW4gYSBsb3Qgb2YgZXh0cmEKJz8nIGVudHJp ZXMgd2hlcmUgdGhlcmUgYXJlIG5vbmUgdG9kYXkuCgpBbmQgdGhlIHNlY29uZCAoS1RIUkVBRC9J RExFKSBpcyBzb21ldGhpbmcgdGhhdCB0aGUgZ2VuZXJpYyBjb2RlIGNhbgplYXNpbHkgZG8gYmVm b3JlIGNhbGxpbmcgaW50byB0aGUgYXJjaCB1bndpbmRlci4KCkhtbT8KCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bombadil.infradead.org ([198.137.202.133]:49702 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727446AbfDSWy0 (ORCPT ); Fri, 19 Apr 2019 18:54:26 -0400 Date: Fri, 19 Apr 2019 09:18:43 +0200 From: Peter Zijlstra Subject: Re: [patch V2 28/29] stacktrace: Provide common infrastructure Message-ID: <20190419071843.GM4038@hirez.programming.kicks-ass.net> References: <20190418084119.056416939@linutronix.de> <20190418084255.652003111@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190418084255.652003111@linutronix.de> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Thomas Gleixner Cc: LKML , Josh Poimboeuf , x86@kernel.org, Andy Lutomirski , Steven Rostedt , Alexander Potapenko , linux-arch@vger.kernel.org, Alexey Dobriyan , Andrew Morton , Pekka Enberg , linux-mm@kvack.org, David Rientjes , Christoph Lameter , Catalin Marinas , Dmitry Vyukov , Andrey Ryabinin , kasan-dev@googlegroups.com, Mike Rapoport , Akinobu Mita , iommu@lists.linux-foundation.org, Robin Murphy , Christoph Hellwig , Marek Szyprowski , Johannes Thumshirn , David Sterba , Chris Mason , Josef Bacik , linux-btrfs@vger.kernel.org, dm-devel@redhat.com, Mike Snitzer , Alasdair Kergon , intel-gfx@lists.freedesktop.org, Joonas Lahtinen , Maarten Lankhorst , dri-devel@lists.freedesktop.org, David Airlie , Jani Nikula , Daniel Vetter , Rodrigo Vivi Message-ID: <20190419071843.bAnmdZFp2h3BXXyctonwXMB-hvD11kwwIdvp2uIZ4lQ@z> On Thu, Apr 18, 2019 at 10:41:47AM +0200, Thomas Gleixner wrote: > +typedef bool (*stack_trace_consume_fn)(void *cookie, unsigned long addr, > + bool reliable); > +void arch_stack_walk(stack_trace_consume_fn consume_entry, void *cookie, > + struct task_struct *task, struct pt_regs *regs); > +int arch_stack_walk_reliable(stack_trace_consume_fn consume_entry, void *cookie, > + struct task_struct *task); This bugs me a little; ideally the _reliable() thing would not exists. Thomas said that the existing __save_stack_trace_reliable() is different enough for the unification to be non-trivial, but maybe Josh can help out?