From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [patch V2 16/29] drm: Simplify stacktrace handling Date: Tue, 23 Apr 2019 09:36:25 +0200 Message-ID: <20190423073625.GZ13337@phenom.ffwll.local> References: <20190418084119.056416939@linutronix.de> <20190418084254.549410214@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: <20190418084254.549410214@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 , Josef Bacik , Mike Rapoport , Steven Rostedt , Andy Lutomirski , David Sterba , Dmitry Vyukov List-Id: iommu@lists.linux-foundation.org T24gVGh1LCBBcHIgMTgsIDIwMTkgYXQgMTA6NDE6MzVBTSArMDIwMCwgVGhvbWFzIEdsZWl4bmVy IHdyb3RlOgo+IFJlcGxhY2UgdGhlIGluZGlyZWN0aW9uIHRocm91Z2ggc3RydWN0IHN0YWNrX3Ry YWNlIGJ5IHVzaW5nIHRoZSBzdG9yYWdlCj4gYXJyYXkgYmFzZWQgaW50ZXJmYWNlcy4KPiAKPiBU aGUgb3JpZ2luYWwgY29kZSBpbiBhbGwgcHJpbnRpbmcgZnVuY3Rpb25zIGlzIHJlYWxseSB3cm9u Zy4gSXQgYWxsb2NhdGVzIGEKPiBzdG9yYWdlIGFycmF5IG9uIHN0YWNrIHdoaWNoIGlzIHVudXNl ZCBiZWNhdXNlIGRlcG90X2ZldGNoX3N0YWNrKCkgZG9lcyBub3QKPiBzdG9yZSBhbnl0aGluZyBp biBpdC4gSXQgb3ZlcndyaXRlcyB0aGUgZW50cmllcyBwb2ludGVyIGluIHRoZSBzdGFja190cmFj ZQo+IHN0cnVjdCBzbyBpdCBwb2ludHMgdG8gdGhlIGRlcG90IHN0b3JhZ2UuCgpUaGFua3MgZm9y IGNsZWFuaW5nIHRoaXMgdXAgZm9yIHVzIQoKPiBTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgR2xlaXhu ZXIgPHRnbHhAbGludXRyb25peC5kZT4KPiBDYzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwo+IENjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5j b20+Cj4gQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRl bC5jb20+Cj4gQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBDYzogRGF2aWQg QWlybGllIDxhaXJsaWVkQGxpbnV4LmllPgo+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFA bGludXguaW50ZWwuY29tPgo+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+Cj4g Q2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KCkFja2VkLWJ5OiBEYW5p ZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgoKZm9yIG1lcmdpbmcgdGhyb3VnaCB3 aGF0ZXZlciB0cmVlIGlzIGNvbnZlbmllbnQgZm9yIHlvdSAob3IgdGVsbCBtZSBJCnNob3VsZCBw aWNrIGl0IHVwIGludG8gZHJtLW5leHQgd2hlbiB0aGUgcHJlcCB3b3JrIGxhbmRlZCkuCgpDaGVl cnMsIERhbmllbAoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9tbS5jICAgICAgICAgICAg ICAgIHwgICAyMiArKysrKysrLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfdm1hLmMgICAgICAgICB8ICAgMTEgKysrKy0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIHwgICAyMSArKysrKysrLS0tLS0tLS0tLS0tLS0KPiAg MyBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKPiAKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21tLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X21tLmMKPiBAQCAtMTA2LDIyICsxMDYsMTkgQEAKPiAgc3RhdGljIG5vaW5saW5lIHZvaWQgc2F2 ZV9zdGFjayhzdHJ1Y3QgZHJtX21tX25vZGUgKm5vZGUpCj4gIHsKPiAgCXVuc2lnbmVkIGxvbmcg ZW50cmllc1tTVEFDS0RFUFRIXTsKPiAtCXN0cnVjdCBzdGFja190cmFjZSB0cmFjZSA9IHsKPiAt CQkuZW50cmllcyA9IGVudHJpZXMsCj4gLQkJLm1heF9lbnRyaWVzID0gU1RBQ0tERVBUSCwKPiAt CQkuc2tpcCA9IDEKPiAtCX07Cj4gKwl1bnNpZ25lZCBpbnQgbjsKPiAgCj4gLQlzYXZlX3N0YWNr X3RyYWNlKCZ0cmFjZSk7Cj4gKwluID0gc3RhY2tfdHJhY2Vfc2F2ZShlbnRyaWVzLCBBUlJBWV9T SVpFKGVudHJpZXMpLCAxKTsKPiAgCj4gIAkvKiBNYXkgYmUgY2FsbGVkIHVuZGVyIHNwaW5sb2Nr LCBzbyBhdm9pZCBzbGVlcGluZyAqLwo+IC0Jbm9kZS0+c3RhY2sgPSBkZXBvdF9zYXZlX3N0YWNr KCZ0cmFjZSwgR0ZQX05PV0FJVCk7Cj4gKwlub2RlLT5zdGFjayA9IHN0YWNrX2RlcG90X3NhdmUo ZW50cmllcywgbiwgR0ZQX05PV0FJVCk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIHNob3dfbGVh a3Moc3RydWN0IGRybV9tbSAqbW0pCj4gIHsKPiAgCXN0cnVjdCBkcm1fbW1fbm9kZSAqbm9kZTsK PiAtCXVuc2lnbmVkIGxvbmcgZW50cmllc1tTVEFDS0RFUFRIXTsKPiArCXVuc2lnbmVkIGxvbmcg KmVudHJpZXM7Cj4gKwl1bnNpZ25lZCBpbnQgbnJfZW50cmllczsKPiAgCWNoYXIgKmJ1ZjsKPiAg Cj4gIAlidWYgPSBrbWFsbG9jKEJVRlNaLCBHRlBfS0VSTkVMKTsKPiBAQCAtMTI5LDE5ICsxMjYs MTQgQEAgc3RhdGljIHZvaWQgc2hvd19sZWFrcyhzdHJ1Y3QgZHJtX21tICptbQo+ICAJCXJldHVy bjsKPiAgCj4gIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KG5vZGUsIGRybV9tbV9ub2RlcyhtbSksIG5v ZGVfbGlzdCkgewo+IC0JCXN0cnVjdCBzdGFja190cmFjZSB0cmFjZSA9IHsKPiAtCQkJLmVudHJp ZXMgPSBlbnRyaWVzLAo+IC0JCQkubWF4X2VudHJpZXMgPSBTVEFDS0RFUFRICj4gLQkJfTsKPiAt Cj4gIAkJaWYgKCFub2RlLT5zdGFjaykgewo+ICAJCQlEUk1fRVJST1IoIm5vZGUgWyUwOGxseCAr ICUwOGxseF06IHVua25vd24gb3duZXJcbiIsCj4gIAkJCQkgIG5vZGUtPnN0YXJ0LCBub2RlLT5z aXplKTsKPiAgCQkJY29udGludWU7Cj4gIAkJfQo+ICAKPiAtCQlkZXBvdF9mZXRjaF9zdGFjayhu b2RlLT5zdGFjaywgJnRyYWNlKTsKPiAtCQlzbnByaW50X3N0YWNrX3RyYWNlKGJ1ZiwgQlVGU1os ICZ0cmFjZSwgMCk7Cj4gKwkJbnJfZW50cmllcyA9IHN0YWNrX2RlcG90X2ZldGNoKG5vZGUtPnN0 YWNrLCAmZW50cmllcyk7Cj4gKwkJc3RhY2tfdHJhY2Vfc25wcmludChidWYsIEJVRlNaLCBlbnRy aWVzLCBucl9lbnRyaWVzLCAwKTsKPiAgCQlEUk1fRVJST1IoIm5vZGUgWyUwOGxseCArICUwOGxs eF06IGluc2VydGVkIGF0XG4lcyIsCj4gIAkJCSAgbm9kZS0+c3RhcnQsIG5vZGUtPnNpemUsIGJ1 Zik7Cj4gIAl9Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKPiBAQCAtMzYsMTEgKzM2LDggQEAKPiAg Cj4gIHN0YXRpYyB2b2lkIHZtYV9wcmludF9hbGxvY2F0b3Ioc3RydWN0IGk5MTVfdm1hICp2bWEs IGNvbnN0IGNoYXIgKnJlYXNvbikKPiAgewo+IC0JdW5zaWduZWQgbG9uZyBlbnRyaWVzWzEyXTsK PiAtCXN0cnVjdCBzdGFja190cmFjZSB0cmFjZSA9IHsKPiAtCQkuZW50cmllcyA9IGVudHJpZXMs Cj4gLQkJLm1heF9lbnRyaWVzID0gQVJSQVlfU0laRShlbnRyaWVzKSwKPiAtCX07Cj4gKwl1bnNp Z25lZCBsb25nICplbnRyaWVzOwo+ICsJdW5zaWduZWQgaW50IG5yX2VudHJpZXM7Cj4gIAljaGFy IGJ1Zls1MTJdOwo+ICAKPiAgCWlmICghdm1hLT5ub2RlLnN0YWNrKSB7Cj4gQEAgLTQ5LDggKzQ2 LDggQEAgc3RhdGljIHZvaWQgdm1hX3ByaW50X2FsbG9jYXRvcihzdHJ1Y3QgaQo+ICAJCXJldHVy bjsKPiAgCX0KPiAgCj4gLQlkZXBvdF9mZXRjaF9zdGFjayh2bWEtPm5vZGUuc3RhY2ssICZ0cmFj ZSk7Cj4gLQlzbnByaW50X3N0YWNrX3RyYWNlKGJ1Ziwgc2l6ZW9mKGJ1ZiksICZ0cmFjZSwgMCk7 Cj4gKwlucl9lbnRyaWVzID0gc3RhY2tfZGVwb3RfZmV0Y2godm1hLT5ub2RlLnN0YWNrLCAmZW50 cmllcyk7Cj4gKwlzdGFja190cmFjZV9zbnByaW50KGJ1Ziwgc2l6ZW9mKGJ1ZiksIGVudHJpZXMs IG5yX2VudHJpZXMsIDApOwo+ICAJRFJNX0RFQlVHX0RSSVZFUigidm1hLm5vZGUgWyUwOGxseCAr ICUwOGxseF0gJXM6IGluc2VydGVkIGF0ICVzXG4iLAo+ICAJCQkgdm1hLT5ub2RlLnN0YXJ0LCB2 bWEtPm5vZGUuc2l6ZSwgcmVhc29uLCBidWYpOwo+ICB9Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcnVudGltZV9wbS5jCj4gQEAgLTYwLDI3ICs2MCwyMCBAQAo+ICBzdGF0aWMgbm9pbmxpbmUg ZGVwb3Rfc3RhY2tfaGFuZGxlX3QgX19zYXZlX2RlcG90X3N0YWNrKHZvaWQpCj4gIHsKPiAgCXVu c2lnbmVkIGxvbmcgZW50cmllc1tTVEFDS0RFUFRIXTsKPiAtCXN0cnVjdCBzdGFja190cmFjZSB0 cmFjZSA9IHsKPiAtCQkuZW50cmllcyA9IGVudHJpZXMsCj4gLQkJLm1heF9lbnRyaWVzID0gQVJS QVlfU0laRShlbnRyaWVzKSwKPiAtCQkuc2tpcCA9IDEsCj4gLQl9Owo+ICsJdW5zaWduZWQgaW50 IG47Cj4gIAo+IC0Jc2F2ZV9zdGFja190cmFjZSgmdHJhY2UpOwo+IC0JcmV0dXJuIGRlcG90X3Nh dmVfc3RhY2soJnRyYWNlLCBHRlBfTk9XQUlUIHwgX19HRlBfTk9XQVJOKTsKPiArCW4gPSBzdGFj a190cmFjZV9zYXZlKGVudHJpZXMsIEFSUkFZX1NJWkUoZW50cmllcyksIDEpOwo+ICsJcmV0dXJu IHN0YWNrX2RlcG90X3NhdmUoZW50cmllcywgbiwgR0ZQX05PV0FJVCB8IF9fR0ZQX05PV0FSTik7 Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIF9fcHJpbnRfZGVwb3Rfc3RhY2soZGVwb3Rfc3RhY2tf aGFuZGxlX3Qgc3RhY2ssCj4gIAkJCQljaGFyICpidWYsIGludCBzeiwgaW50IGluZGVudCkKPiAg ewo+IC0JdW5zaWduZWQgbG9uZyBlbnRyaWVzW1NUQUNLREVQVEhdOwo+IC0Jc3RydWN0IHN0YWNr X3RyYWNlIHRyYWNlID0gewo+IC0JCS5lbnRyaWVzID0gZW50cmllcywKPiAtCQkubWF4X2VudHJp ZXMgPSBBUlJBWV9TSVpFKGVudHJpZXMpLAo+IC0JfTsKPiArCXVuc2lnbmVkIGxvbmcgKmVudHJp ZXM7Cj4gKwl1bnNpZ25lZCBpbnQgbnJfZW50cmllczsKPiAgCj4gLQlkZXBvdF9mZXRjaF9zdGFj ayhzdGFjaywgJnRyYWNlKTsKPiAtCXNucHJpbnRfc3RhY2tfdHJhY2UoYnVmLCBzeiwgJnRyYWNl LCBpbmRlbnQpOwo+ICsJbnJfZW50cmllcyA9IHN0YWNrX2RlcG90X2ZldGNoKHN0YWNrLCAmZW50 cmllcyk7Cj4gKwlzdGFja190cmFjZV9zbnByaW50KGJ1Ziwgc3osIGVudHJpZXMsIG5yX2VudHJp ZXMsIGluZGVudCk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGluaXRfaW50ZWxfcnVudGltZV9w bV93YWtlcmVmKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+IAo+IAoKLS0gCkRhbmll bCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9n LmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA== 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=-5.3 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS, USER_AGENT_MUTT 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 EDB53C282E3 for ; Tue, 23 Apr 2019 07:36:33 +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 B190520652 for ; Tue, 23 Apr 2019 07:36:33 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="YVSMCPmN" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B190520652 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch 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 58C25C6A; Tue, 23 Apr 2019 07:36:33 +0000 (UTC) Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id E1A19C37 for ; Tue, 23 Apr 2019 07:36:31 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-ed1-f67.google.com (mail-ed1-f67.google.com [209.85.208.67]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id CCDDFF4 for ; Tue, 23 Apr 2019 07:36:30 +0000 (UTC) Received: by mail-ed1-f67.google.com with SMTP id d55so11712250ede.0 for ; Tue, 23 Apr 2019 00:36:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=sender:date:from:to:cc:subject:message-id:mail-followup-to :references:mime-version:content-disposition:in-reply-to:user-agent; bh=bKYaajiak7Zq/jXYNZsg7tprgawT9ZLW0GYZ4u8T1/U=; b=YVSMCPmNBiDoDNpcTyNizSQpeFtdskx5nzotOQdI+PM4xCSjWZehbeKERXQ66dUsNf TXHm1tfsqbgr0menNDTyY6pXffkwQK1wj5A4gW69fvoOwQQDYM4lc/5v3tUnIgZJ5xdQ qbZCJtt8BK/ZddIoqnV348CMM9PeIofFwaJu4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to:user-agent; bh=bKYaajiak7Zq/jXYNZsg7tprgawT9ZLW0GYZ4u8T1/U=; b=hZl1MKORJ8tZBAg56FBBprZhAJML6X5E8X03dH34fEeGtgnSl5upU7kG5UDFptUhxF m5ODKv28gnpRYWC91molJZUcVGwuVRpqzPlYIZipR2vZHLj2hEzHBAUmQAdMI92ZrVLd 4D8SHZ6Uvx8hS6E8D3R1R4KLtbz4caBMmWOYCKCuG+Xli1LizKzL/92I/4fphBPERZ3a 0hGP+6h0zZLhAIuokk072y39FvxILEpfcbrXpXJW7WIhwP2/rES/sAhr//ekODILWHAv imco3+TkyhP6JnVlG6GG0MObzE46L1dqjJqM5ZPnOrpIa3CCjEVDlVha/ylE9M1wJyzP uBjw== X-Gm-Message-State: APjAAAUGKBZoxaYyd4F70igmw+Ye+HCamHZBnOBVHuv1pq9fiVs3xmoo GSDQTp7Das6ZuGjD1QFqh5il5Q== X-Google-Smtp-Source: APXvYqyfiVOQGBzi0xFFlvW7+u0SliHoY3BhrSH7C0jNdR2HDDmW0RiEkJeC4fVSS0YpOwtF9jGgvA== X-Received: by 2002:a05:6402:6d9:: with SMTP id n25mr15163695edy.288.1556004989447; Tue, 23 Apr 2019 00:36:29 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:569e:0:3106:d637:d723:e855]) by smtp.gmail.com with ESMTPSA id l18sm1712508edc.33.2019.04.23.00.36.27 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 00:36:28 -0700 (PDT) Date: Tue, 23 Apr 2019 09:36:25 +0200 From: Daniel Vetter To: Thomas Gleixner Subject: Re: [patch V2 16/29] drm: Simplify stacktrace handling Message-ID: <20190423073625.GZ13337@phenom.ffwll.local> Mail-Followup-To: Thomas Gleixner , LKML , Josh Poimboeuf , x86@kernel.org, Andy Lutomirski , Steven Rostedt , Alexander Potapenko , intel-gfx@lists.freedesktop.org, Joonas Lahtinen , Maarten Lankhorst , dri-devel@lists.freedesktop.org, David Airlie , Jani Nikula , Rodrigo Vivi , 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 , linux-arch@vger.kernel.org References: <20190418084119.056416939@linutronix.de> <20190418084254.549410214@linutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190418084254.549410214@linutronix.de> X-Operating-System: Linux phenom 4.19.0-1-amd64 User-Agent: Mutt/1.10.1 (2018-07-13) 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 , 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 , Jani Nikula , Josef Bacik , Mike Rapoport , Steven Rostedt , Andy Lutomirski , Rodrigo Vivi , David Sterba , Dmitry Vyukov , Josh Poimboeuf , Chris Mason , LKML , 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: <20190423073625.Org2rRyO_ULEEGqpCZDw9pIq1m0o_zGkrTSN6KrAwMI@z> On Thu, Apr 18, 2019 at 10:41:35AM +0200, Thomas Gleixner wrote: > Replace the indirection through struct stack_trace by using the storage > array based interfaces. > > The original code in all printing functions is really wrong. It allocates a > storage array on stack which is unused because depot_fetch_stack() does not > store anything in it. It overwrites the entries pointer in the stack_trace > struct so it points to the depot storage. Thanks for cleaning this up for us! > Signed-off-by: Thomas Gleixner > Cc: intel-gfx@lists.freedesktop.org > Cc: Joonas Lahtinen > Cc: Maarten Lankhorst > Cc: dri-devel@lists.freedesktop.org > Cc: David Airlie > Cc: Jani Nikula > Cc: Daniel Vetter > Cc: Rodrigo Vivi Acked-by: Daniel Vetter for merging through whatever tree is convenient for you (or tell me I should pick it up into drm-next when the prep work landed). Cheers, Daniel > --- > drivers/gpu/drm/drm_mm.c | 22 +++++++--------------- > drivers/gpu/drm/i915/i915_vma.c | 11 ++++------- > drivers/gpu/drm/i915/intel_runtime_pm.c | 21 +++++++-------------- > 3 files changed, 18 insertions(+), 36 deletions(-) > > --- a/drivers/gpu/drm/drm_mm.c > +++ b/drivers/gpu/drm/drm_mm.c > @@ -106,22 +106,19 @@ > static noinline void save_stack(struct drm_mm_node *node) > { > unsigned long entries[STACKDEPTH]; > - struct stack_trace trace = { > - .entries = entries, > - .max_entries = STACKDEPTH, > - .skip = 1 > - }; > + unsigned int n; > > - save_stack_trace(&trace); > + n = stack_trace_save(entries, ARRAY_SIZE(entries), 1); > > /* May be called under spinlock, so avoid sleeping */ > - node->stack = depot_save_stack(&trace, GFP_NOWAIT); > + node->stack = stack_depot_save(entries, n, GFP_NOWAIT); > } > > static void show_leaks(struct drm_mm *mm) > { > struct drm_mm_node *node; > - unsigned long entries[STACKDEPTH]; > + unsigned long *entries; > + unsigned int nr_entries; > char *buf; > > buf = kmalloc(BUFSZ, GFP_KERNEL); > @@ -129,19 +126,14 @@ static void show_leaks(struct drm_mm *mm > return; > > list_for_each_entry(node, drm_mm_nodes(mm), node_list) { > - struct stack_trace trace = { > - .entries = entries, > - .max_entries = STACKDEPTH > - }; > - > if (!node->stack) { > DRM_ERROR("node [%08llx + %08llx]: unknown owner\n", > node->start, node->size); > continue; > } > > - depot_fetch_stack(node->stack, &trace); > - snprint_stack_trace(buf, BUFSZ, &trace, 0); > + nr_entries = stack_depot_fetch(node->stack, &entries); > + stack_trace_snprint(buf, BUFSZ, entries, nr_entries, 0); > DRM_ERROR("node [%08llx + %08llx]: inserted at\n%s", > node->start, node->size, buf); > } > --- a/drivers/gpu/drm/i915/i915_vma.c > +++ b/drivers/gpu/drm/i915/i915_vma.c > @@ -36,11 +36,8 @@ > > static void vma_print_allocator(struct i915_vma *vma, const char *reason) > { > - unsigned long entries[12]; > - struct stack_trace trace = { > - .entries = entries, > - .max_entries = ARRAY_SIZE(entries), > - }; > + unsigned long *entries; > + unsigned int nr_entries; > char buf[512]; > > if (!vma->node.stack) { > @@ -49,8 +46,8 @@ static void vma_print_allocator(struct i > return; > } > > - depot_fetch_stack(vma->node.stack, &trace); > - snprint_stack_trace(buf, sizeof(buf), &trace, 0); > + nr_entries = stack_depot_fetch(vma->node.stack, &entries); > + stack_trace_snprint(buf, sizeof(buf), entries, nr_entries, 0); > DRM_DEBUG_DRIVER("vma.node [%08llx + %08llx] %s: inserted at %s\n", > vma->node.start, vma->node.size, reason, buf); > } > --- a/drivers/gpu/drm/i915/intel_runtime_pm.c > +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c > @@ -60,27 +60,20 @@ > static noinline depot_stack_handle_t __save_depot_stack(void) > { > unsigned long entries[STACKDEPTH]; > - struct stack_trace trace = { > - .entries = entries, > - .max_entries = ARRAY_SIZE(entries), > - .skip = 1, > - }; > + unsigned int n; > > - save_stack_trace(&trace); > - return depot_save_stack(&trace, GFP_NOWAIT | __GFP_NOWARN); > + n = stack_trace_save(entries, ARRAY_SIZE(entries), 1); > + return stack_depot_save(entries, n, GFP_NOWAIT | __GFP_NOWARN); > } > > static void __print_depot_stack(depot_stack_handle_t stack, > char *buf, int sz, int indent) > { > - unsigned long entries[STACKDEPTH]; > - struct stack_trace trace = { > - .entries = entries, > - .max_entries = ARRAY_SIZE(entries), > - }; > + unsigned long *entries; > + unsigned int nr_entries; > > - depot_fetch_stack(stack, &trace); > - snprint_stack_trace(buf, sz, &trace, indent); > + nr_entries = stack_depot_fetch(stack, &entries); > + stack_trace_snprint(buf, sz, entries, nr_entries, indent); > } > > static void init_intel_runtime_pm_wakeref(struct drm_i915_private *i915) > > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu