From mboxrd@z Thu Jan 1 00:00:00 1970 From: Josh Poimboeuf Subject: Re: [patch V2 28/29] stacktrace: Provide common infrastructure Date: Fri, 19 Apr 2019 10:50:44 -0500 Message-ID: <20190419155044.2uch7eaj4vzg47w6@treble> References: <20190418084119.056416939@linutronix.de> <20190418084255.652003111@linutronix.de> <20190418145201.mjzyqbmkjcghqzex@treble> <20190419070211.GL4038@hirez.programming.kicks-ass.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190419070211.GL4038@hirez.programming.kicks-ass.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Peter Zijlstra 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 , David Sterba , Thomas Gleixner List-Id: linux-arch.vger.kernel.org T24gRnJpLCBBcHIgMTksIDIwMTkgYXQgMDk6MDI6MTFBTSArMDIwMCwgUGV0ZXIgWmlqbHN0cmEg d3JvdGU6Cj4gT24gVGh1LCBBcHIgMTgsIDIwMTkgYXQgMDU6NDI6NTVQTSArMDIwMCwgVGhvbWFz IEdsZWl4bmVyIHdyb3RlOgo+ID4gT24gVGh1LCAxOCBBcHIgMjAxOSwgSm9zaCBQb2ltYm9ldWYg d3JvdGU6Cj4gCj4gPiA+IEFub3RoZXIgaWRlYSBJIGhhZCAoYnV0IG5ldmVyIGdvdCBhIGNoYW5j ZSB0byB3b3JrIG9uKSB3YXMgdG8gZXh0ZW5kIHRoZQo+ID4gPiB4ODYgdW53aW5kIGludGVyZmFj ZSB0byBhbGwgYXJjaGVzLiAgU28gaW5zdGVhZCBvZiB0aGUgY2FsbGJhY2tzLCBlYWNoCj4gPiA+ IGFyY2ggd291bGQgaW1wbGVtZW50IHNvbWV0aGluZyBsaWtlIHRoaXMgQVBJOgo+IAo+ID4gSSBz dXJlbHkgdGhvdWdodCBhYm91dCB0aGF0LCBidXQgYWZ0ZXIgc3RhcmluZyBhdCBhbGwgaW5jYXJu YXRpb25zIG9mCj4gPiBhcmNoLyovc3RhY2t0cmFjZS5jIEkganVzdCBnYXZlIHVwLgo+ID4gCj4g PiBBc2lkZSBvZiB0aGF0IHF1aXRlIHNvbWUgYXJjaHMgYWxyZWFkeSBoYXZlIGNhbGxiYWNrIGJh c2VkIHVud2luZGVycwo+ID4gYmVjYXVzZSB0aGV5IHVzZSB0aGVtIGZvciBtb3JlIHRoYW4gc3Rh Y2t0cmFjaW5nIGFuZCBqdXN0IGhhdmUgYSBzaW5nbGUKPiA+IGltcGxlbWVudGF0aW9uIG9mIHRo YXQgbG9vcC4KPiA+IAo+ID4gSSdtIGZpbmUgZWl0aGVyIHdheS4gV2UgY2FuIHN0YXJ0IHdpdGgg eDg2IGFuZCB0aGVuIGxldCBhcmNocyBjb252ZXJ0IG92ZXIKPiA+IHRoZWlyIHN0dWZmLCBidXQg SSB3b3VsZG4ndCBob2xkIG15IGJyZWF0aCB0aGF0IHRoaXMgd2lsbCBiZSBjb21wbGV0ZWQgaW4K PiA+IHRoZSBmb3JzZWVhYmxlIGZ1dHVyZS4KPiAKPiBJIHN1Z2dlc3RlZCB0aGUgc2FtZSB0byBU aG9tYXMgZWFybHkgb24sIGFuZCBJIGV2ZW4gc3BlbmQgdGhlIHRpbWUgdG8KPiBjb252ZXJ0IHNv bWUgJHJhbmRvbSBhcmNoIHRvIHRoZSBpdGVyYXRvciBpbnRlcmZhY2UsIGFuZCB3aGlsZSBpdCBp cwo+IGluZGVlZCBlbnRpcmVseSBmZWFzaWJsZSwgaXQgaXMgX2Zhcl8gbW9yZSB3b3JrLgo+IAo+ IFRoZSBjYWxsYmFjayB0aGluZyBPVE9IIGlzIGZsZXhpYmxlIGVub3VnaCB0byBkbyB3aGF0IHdl IHdhbnQgdG8gZG8gbm93LAo+IGFuZCBhbGxvd3MgY29udmVydGluZyBtb3N0IGFyY2hzIHRvIGl0 IHdpdGhvdXQgdG9vIG11Y2ggcGFpbiAoYXMgVGhvbWFzCj4gc2FpZCwgbWFueSBhcmNocyBhcmUg YWxyZWFkeSBpbiB0aGlzIGZvcm0gYW5kIG9ubHkgbmVlZCBtaW5vciBBUEkKPiBhZGp1c3RtZW50 cyksIHdoaWNoIGdldHMgdXMgaW4gYSBmYXIgYmV0dGVyIHBsYWNlIHRoYW4gd2UgYXJlIG5vdy4K PiAKPiBBbmQgd2UgY2FuIGFsd2F5cyBnbyB0byBpdGVyYXRvcnMgbGF0ZXIgb24uIEJ1dCBJIHRo aW5rIGdldHRpbmcgdGhlCj4gZ2VuZXJpYyB1bndpbmRlciBpbXByb3ZlZCBhY3Jvc3MgYWxsIGFy Y2hzIGlzIGEgcmVhbGx5IGltcG9ydGFudCBmaXJzdAo+IHN0ZXAgaGVyZS4KCkZhaXIgZW5vdWdo LgoKLS0gCkpvc2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:41136 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726525AbfDSSTr (ORCPT ); Fri, 19 Apr 2019 14:19:47 -0400 Date: Fri, 19 Apr 2019 10:50:44 -0500 From: Josh Poimboeuf Subject: Re: [patch V2 28/29] stacktrace: Provide common infrastructure Message-ID: <20190419155044.2uch7eaj4vzg47w6@treble> References: <20190418084119.056416939@linutronix.de> <20190418084255.652003111@linutronix.de> <20190418145201.mjzyqbmkjcghqzex@treble> <20190419070211.GL4038@hirez.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20190419070211.GL4038@hirez.programming.kicks-ass.net> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Peter Zijlstra Cc: Thomas Gleixner , LKML , 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: <20190419155044.PcMTkR9n-C3Vpqx6DLmd5djl34bmg1ZUakTjSVHL-qI@z> On Fri, Apr 19, 2019 at 09:02:11AM +0200, Peter Zijlstra wrote: > On Thu, Apr 18, 2019 at 05:42:55PM +0200, Thomas Gleixner wrote: > > On Thu, 18 Apr 2019, Josh Poimboeuf wrote: > > > > Another idea I had (but never got a chance to work on) was to extend the > > > x86 unwind interface to all arches. So instead of the callbacks, each > > > arch would implement something like this API: > > > I surely thought about that, but after staring at all incarnations of > > arch/*/stacktrace.c I just gave up. > > > > Aside of that quite some archs already have callback based unwinders > > because they use them for more than stacktracing and just have a single > > implementation of that loop. > > > > I'm fine either way. We can start with x86 and then let archs convert over > > their stuff, but I wouldn't hold my breath that this will be completed in > > the forseeable future. > > I suggested the same to Thomas early on, and I even spend the time to > convert some $random arch to the iterator interface, and while it is > indeed entirely feasible, it is _far_ more work. > > The callback thing OTOH is flexible enough to do what we want to do now, > and allows converting most archs to it without too much pain (as Thomas > said, many archs are already in this form and only need minor API > adjustments), which gets us in a far better place than we are now. > > And we can always go to iterators later on. But I think getting the > generic unwinder improved across all archs is a really important first > step here. Fair enough. -- Josh