Re: [PATCH] drm/ttm: Temporarily disable the huge_fault() callback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 08.04.20 um 14:01 schrieb Thomas Hellström (VMware):
Hi, Christian,

On 4/8/20 1:53 PM, Thomas Hellström (VMware) wrote:
From: "Thomas Hellstrom (VMware)" <thomas_os@xxxxxxxxxxxx>

With amdgpu and CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y, there are
errors like:
BUG: non-zero pgtables_bytes on freeing mm
and:
BUG: Bad rss-counter state
with TTM transparent huge-pages.
Until we've figured out what other TTM drivers do differently compared to
vmwgfx, disable the huge_fault() callback, eliminating transhuge
page-table entries.

Cc: Christian König <christian.koenig@xxxxxxx>
Signed-off-by: Thomas Hellstrom (VMware) <thomas_os@xxxxxxxxxxxx>
Reported-by: Alex Xu (Hello71) <alex_y_xu@xxxxxxxx>
Tested-by: Alex Xu (Hello71) <alex_y_xu@xxxxxxxx>

Acked-by: Christian König <christian.koenig@xxxxxxx>

---

Without being able to test and track this down on amdgpu there's little more than this I can do at the moment. Hopefully I'll be able to test on nouveau/ttm after getting back from vacation to see if I can reproduce.

It looks like some part of the kernel mistakes a huge page-table entry for a page directory, and that would be a path that is not hit with vmwgfx.

Well that looks like an ugly one and I don't know enough about the page table handling to hunt this down either.

BTW: Have you seen the coverity warning about  "WARN_ON_ONCE(ret = VM_FAULT_FALLBACK);"?

Regards,
Christian.


/Thomas



_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux