[Nouveau] nouveau TRAP_M2MF still there on G98

Māris Nartišs maris.nartiss at gmail.com
Wed Apr 4 12:48:39 UTC 2018


Hi, Adam.
2018-04-03 23:00 GMT+03:00, Adam Borowski <kilobyte at angband.pl>:
> Hi!
> In commit da5e45e619b3f101420c38b3006a9ae4f3ad19b0
>
> yet it is still reproducible for me on 4.16-rc7 and 4.16.0, which already
> have your fix.  I don't know about earlier versions -- my newer card went
> into flames just a few days ago, and I replaced it a brand new 8400GS (G98)
> I happened to have in a dusty closet.  Obviously, I can bisect if that
> would
> be helpful, but the error looks the same thus I'm reporting first.

Unfortunately I will not be able to help you, as patch fixed issue on
my system and thus I have no means to test anything more. My card is
G98M [Quadro NVS 160M]. Besides – I'm a geographer not a programmer
;-)

Still your report makes to question the original commit I was fixing
(mmu: swap out round for ALIGN). Could you test if going back to
rounddown fixes problem on your side?

--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
@@ -1354,7 +1354,7 @@ nvkm_vmm_get_locked(struct nvkm_vmm *vmm, bool
getref, bool mapref, bool sparse,

                tail = this->addr + this->size;
                if (vmm->func->page_block && next && next->page != p)
-                       tail = ALIGN_DOWN(tail, vmm->func->page_block);
+                       tail = rounddown(tail, vmm->func->page_block);

                if (addr <= tail && tail - addr >= size) {
                        rb_erase(&this->tree, &vmm->free);

All best,
Māris.


More information about the Nouveau mailing list