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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0D93ACE79AA for ; Tue, 19 Sep 2023 18:12:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 92F766B00AD; Tue, 19 Sep 2023 14:12:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8DF266B00AE; Tue, 19 Sep 2023 14:12:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7CDAF6B00AF; Tue, 19 Sep 2023 14:12:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 6E8636B00AD for ; Tue, 19 Sep 2023 14:12:27 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 349621CAA88 for ; Tue, 19 Sep 2023 18:12:27 +0000 (UTC) X-FDA: 81254141934.24.B63BACC Received: from vulcan.natalenko.name (vulcan.natalenko.name [104.207.131.136]) by imf12.hostedemail.com (Postfix) with ESMTP id 3479140023 for ; Tue, 19 Sep 2023 18:12:23 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=natalenko.name header.s=dkim-20170712 header.b=uC12+vlG; dmarc=pass (policy=reject) header.from=natalenko.name; spf=pass (imf12.hostedemail.com: domain of oleksandr@natalenko.name designates 104.207.131.136 as permitted sender) smtp.mailfrom=oleksandr@natalenko.name ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695147144; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ANWqkIzAETSvA4PrqRhZdJgczKD7vgIKzAd9A12E7o0=; b=CLOBUgt/20uXZHdx1DpbtGrQDQYt3se5MRY9fVGAKcgKTWU73HX/QsOjDsKDMtdZDE+ZNV 7kmUnLiKKr5CRFiEpmXRQbQ5M1f33jxNMFF69bALleER9Nq0RtnbWbyCokVdU4WWZI2LQn fHB9uQSztlMuyn+EuETpNArouDSjVkI= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=natalenko.name header.s=dkim-20170712 header.b=uC12+vlG; dmarc=pass (policy=reject) header.from=natalenko.name; spf=pass (imf12.hostedemail.com: domain of oleksandr@natalenko.name designates 104.207.131.136 as permitted sender) smtp.mailfrom=oleksandr@natalenko.name ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695147144; a=rsa-sha256; cv=none; b=OFR6E0ZEHClo4RIGHn/WD3x+6MJpyOJmFTqqCZe+T3jWggMp9cHY0oTYUDzEF5bZd5+rRQ BiReA/8H5jB44KT+ejZfimZqkQOFZSqfVDwNowG9uqoyzrbif92Wk7PdeurwvH9fqP86x+ yPaKQak1m2PVWsqp46RCIMKK9qcJlEs= Received: from spock.localnet (unknown [94.142.239.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by vulcan.natalenko.name (Postfix) with ESMTPSA id E409B15061E4; Tue, 19 Sep 2023 20:12:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=natalenko.name; s=dkim-20170712; t=1695147140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ANWqkIzAETSvA4PrqRhZdJgczKD7vgIKzAd9A12E7o0=; b=uC12+vlG1ciz8xeRHclk7QfuKPk8xHzApn9tbJcybu1lS5SIcZb+MLqn5YtbcFTAxya/Y0 0NWpXlI2NodkrsUa7extOWZI5XREfW47wV01eh9fmqxD6g1nhnmX1tHkInNGHGF2Ua9sAf 97ExXlHL4JT+ozhsiqqTqsA6D6Yi0SU= From: Oleksandr Natalenko To: Matthew Wilcox Cc: linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Daniel Vetter , Andi Shyti , Andrzej Hajda , Matthew Auld , Matt Roper , Aravind Iddamsetty , Fei Yang , Thomas =?ISO-8859-1?Q?Hellstr=F6m?= , Nathan Chancellor , Chris Wilson , Daniele Ceraolo Spurio , Andrew Morton , linux-mm@kvack.org Subject: Re: [REGRESSION] [BISECTED] Panic in gen8_ggtt_insert_entries() with v6.5 Date: Tue, 19 Sep 2023 20:11:47 +0200 Message-ID: <2554845.iZASKD2KPV@natalenko.name> In-Reply-To: References: <4857570.31r3eYUQgx@natalenko.name> <6287208.lOV4Wx5bFT@natalenko.name> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2258031.PYKUYFuaPT"; micalg="pgp-sha256"; protocol="application/pgp-signature" X-Rspam-User: X-Stat-Signature: 1pqno3gfb46xfd3c8gofu58xh5bxrcni X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 3479140023 X-HE-Tag: 1695147143-582383 X-HE-Meta: U2FsdGVkX1/wwk+h2HNWHDWK1pZfO3vJs6xWn2xD7pauULln8tXF22dMWotpt16mKKjmHRykGHpTa63SePH7Fp4y9QBBxrtXPiy/KqpfPEWWPyQSrauPi0lwWjua4rB7YVTXCxZRHHM5mesEPE74eXE3Z6+IbN8LsG7SQYlsGa9dF0VNTpQ0kjfG+YquH71HkVHQ5hLFmVtG+f47moge2387oo8Y7Qj6rcdXOuXF9Wn9q+fMVCovq27VH/5IRfS6xaES+Ddat4LhNHzGBL4sMccZBzng63dM96qEdurdOwqNzihAjIx9clLajlOjUSycViHF9FRpwdDVMvX9iBN9aIwXJy7EtmUnsEF+HdOuif3+VFklubeoc+CS8Lu6oPhfarc4SjrKqDZkL31Sae/Q70brD0rVuF1SSbawpRoBvlZ+pk0/ZrwWVeXLmp5z5nQvwkk8ltHSCGmplQ9nubMENMTZxUWz/mfqJN0kmUNk7WyjByO5aSjCy/wHZjKOp1GDWIexnKDqKiFRXrBXcd2w2/cpGDyAHtri2ZzMCrtj1wVtUQDecQiLAwV1h1jksD8dOcU6k4vNYhzjiAOL5Y32k3oyxpQRBXCQ3JaJmAm/Ge3b/VRzO+1X+GsqQMHW/4bbIKnIQ11h12NL0FdpRHhyyopxzq43hr44G7y/EGwVb5qXhp8zo7y2TBr3rut82pYfTWRU1lK1ejX+vhhz8G+IPDHzPpjhpI3ZAYJyrR/1D/jOxUiNx16osUe4En4Ttalhv0Srzqq4/VAoIu1HDhNOJxhSAB+EIFTrsRaMOqagJJvkZULmmjgj37FWFNcRwEXr9UJYdun0pFrNSbcBp4Ev2JL5plEJIw5uCJaWvPwfrCb1yOcgGDfzVbVqjmCW2Lxx8XjEcFQnqdRnEGvhALv8tdVqEqhbZ9eR/Q7nvbrr+tLuxXREAKsKDS4G667mAtOWI1S9LQfJzjbNY45aRlZ MYLFpdYC EnNGQeiroZBOI+2HmwuS8VbEhl0AEuc3jBa3RFVY0S7gWLpTPWXQhNpqkj1aM0BXDVkoAVurenDCK2a8mFb1HoxvOd474r6DwxAJpDFrExd4gh2L+Hkuzs25LU4QZNtNQaBCZJRtlCQBWb2528NjMa0m8pfuM1Diin2dostCPwV3eo8WNq4/hOnhJTlm6ZVjL6zBtiyvlfbysk/YWqFkfiX/bifS7R2YTZgB2ozuuZZQ5pJdnmLslMKOOWycH6Pk2M51Z6Xrx+/QJlMTwZ71sg+upXtEK0UJTlrIuukMD3ExPPkSGiQV5Ij7RHsObNiYLHU3XBXWYIDMth0IEk2IF+h9oDCpXZY8s0X2KJWNSoms4uVibbieXm+p19EQllcUWkDHctSrzHJpfrRuBWOlvL36k4mZ7b1kNIrBNREBOGiB53HdOLKSjT3BW+RxZKBoDUORtBDWSGew6uCSqSYcONB0Oo4fXSMGpOfa30dLd3bLcWgMz+NUzGQZxjOZZF0Q/YPsPtzitM0IfVh2a9KhnHD4poge1QCaim3q4Km4eQ2eu+DtMRQNwWECxcTdyta6D6nQ02HdyoBfpg9v+ysKmU7HpgBGPg+4hpWAnPFCCNmtVSh478XeFPWO3l9M5ao40G+ojXCe40hbsZQqh6ZsdRwU72g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: --nextPart2258031.PYKUYFuaPT Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8"; protected-headers="v1" From: Oleksandr Natalenko To: Matthew Wilcox Date: Tue, 19 Sep 2023 20:11:47 +0200 Message-ID: <2554845.iZASKD2KPV@natalenko.name> In-Reply-To: MIME-Version: 1.0 Hello. On =C3=BAter=C3=BD 19. z=C3=A1=C5=99=C3=AD 2023 17:43:40 CEST Matthew Wilco= x wrote: > On Tue, Sep 19, 2023 at 10:26:42AM +0200, Oleksandr Natalenko wrote: > > Andrzej asked me to try to revert commits 0b62af28f249, e0b72c14d8dc an= d 1e0877d58b1e, and reverting those fixed the i915 crash for me. The e0b72c= 14d8dc and 1e0877d58b1e commits look like just prerequisites, so I assume 0= b62af28f249 ("i915: convert shmem_sg_free_table() to use a folio_batch") is= the culprit here. > >=20 > > Could you please check this? > >=20 > > Our conversation with Andrzej is available at drm-intel GitLab [1]. > >=20 > > Thanks. > >=20 > > [1] https://gitlab.freedesktop.org/drm/intel/-/issues/9256 >=20 > Wow, that is some great debugging. Thanks for all the time & effort > you and others have invested. Sorry for breaking your system. >=20 > You're almost right about the "prerequisites", but it's in the other > direction; 0b62af28f249 is a prerequisite for the later two cleanups, > so reverting all three is necessary to test 0b62af28f249. >=20 > It seems to me that you've isolated the problem to constructing overly > long sg lists. I didn't realise that was going to be a problem, so > that's my fault. >=20 > Could I ask you to try this patch? I'll follow up with another patch > later because I think I made another assumption that may not be valid. I can confirm this one fixes the issue for me on T460s laptop. Thank you! Should you submit it, please add: =46ixes: 0b62af28f2 ("i915: convert shmem_sg_free_table() to use a folio_ba= tch") Cc: stable@vger.kernel.org # 6.5.x Link: https://gitlab.freedesktop.org/drm/intel/-/issues/9256 Link: https://lore.kernel.org/lkml/6287208.lOV4Wx5bFT@natalenko.name/ Reported-by: Oleksandr Natalenko Tested-by: Oleksandr Natalenko > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c b/drivers/gpu/drm/= i915/gem/i915_gem_shmem.c > index 8f1633c3fb93..73a4a4eb29e0 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c > @@ -100,6 +100,7 @@ int shmem_sg_alloc_table(struct drm_i915_private *i91= 5, struct sg_table *st, > st->nents =3D 0; > for (i =3D 0; i < page_count; i++) { > struct folio *folio; > + unsigned long nr_pages; > const unsigned int shrink[] =3D { > I915_SHRINK_BOUND | I915_SHRINK_UNBOUND, > 0, > @@ -150,6 +151,8 @@ int shmem_sg_alloc_table(struct drm_i915_private *i91= 5, struct sg_table *st, > } > } while (1); > =20 > + nr_pages =3D min_t(unsigned long, > + folio_nr_pages(folio), page_count - i); > if (!i || > sg->length >=3D max_segment || > folio_pfn(folio) !=3D next_pfn) { > @@ -157,13 +160,13 @@ int shmem_sg_alloc_table(struct drm_i915_private *i= 915, struct sg_table *st, > sg =3D sg_next(sg); > =20 > st->nents++; > - sg_set_folio(sg, folio, folio_size(folio), 0); > + sg_set_folio(sg, folio, nr_pages * PAGE_SIZE, 0); > } else { > /* XXX: could overflow? */ > - sg->length +=3D folio_size(folio); > + sg->length +=3D nr_pages * PAGE_SIZE; > } > - next_pfn =3D folio_pfn(folio) + folio_nr_pages(folio); > - i +=3D folio_nr_pages(folio) - 1; > + next_pfn =3D folio_pfn(folio) + nr_pages; > + i +=3D nr_pages - 1; > =20 > /* Check that the i965g/gm workaround works. */ > GEM_BUG_ON(gfp & __GFP_DMA32 && next_pfn >=3D 0x00100000UL); =2D-=20 Oleksandr Natalenko (post-factum) --nextPart2258031.PYKUYFuaPT Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZUOOw5ESFLHZZtOKil/iNcg8M0sFAmUJ5GMACgkQil/iNcg8 M0ttQg/+KmoVERiaxpyxpfy0WkGob59zl5yPYXkdu8yziS+9IpKShcZITNzicm/S icxeaKjgAKvdEksTLEOHYwFCu3D9Fsdkjq0y/fwJPI95nXx5Rc7Fqe9AylXDlweZ CLX/dxs3tyyKAco+qd6LUVsrUY1WnBV0HhnUQgi+UCURrsOTq9v9BJVV7mtkVL8t ILhxPuXR/JN40BlElEtPtbjAhfNcywz/SkImsRK8vMVa14jTbtPlTvR6Y3nZhWV4 DPFLzBPGDe6VeM4sRAHGDXeSq3ShrkdnRsVUeRrl+fCGEXL8Ntd5n2Quw1Bbu5YU ZwQxkGPt2nDZYXMA9YpT8Xs2ezZfAysbSeNPwdvE2wUO12UJsiZh/nxkTDMVY7cn WnsoF5JgSiloR4eBEPF2OpHmL1Lx6wMjL1Y0FvNfX/POUw9wIdlIfObXjaneNZ1D 8UlKb+s2KTCZGso65TNEwUi8kha2l4uVu/KqYvo1NMIjB/e6P3l0FxPokxRcIs6+ nvC0hGWcPaAWru8xx7bTSCfavNlXGinidLCEKR55Umq8DurVm6dXkFtCMtYrkDUB S/xKO5hvYkRZT24kKdFhTUoKVqpatOjJe0B79wKOBHoKThXCYYUSHIDoVhHcqQ/r q/g1/BjxCYj4Fpnhw+QfRNmm427bBL8Gn1ciL4ie8Ezfs69lSoM= =4cF8 -----END PGP SIGNATURE----- --nextPart2258031.PYKUYFuaPT--