Paul Dufresne
2023-Dec-03 19:04 UTC
[Nouveau] Meaning of the engines in paramaters of nouveau module
In https://nouveau.freedesktop.org/KernelModuleParameters.html, there is: Here is a list of engines: DEVICE DMAOBJ PBSP PCE0 PCE1 PCE2 PCRYPT PDISP PFIFO PGRAPH PMPEG PPM PPPP PVP SW Also, in debug: CLIENT I have tried to find a description of those. https://envytools.readthedocs.io/en/latest/ help a bit, but I don't find a precise correlation. https://nouveau.freedesktop.org/NouveauTerms.html does not seems to have most of these terms. I am particularly curious about PCE[0-3]. But also about CLIENT, that seems different and mysterious. I wonder if it is possible to write: nouveau.debug=info,PDISP=debug to have the info debug level as the default, but for PDISP have the debug level Also, my interest is linked to the state of GPU graph given after a context switch timeout that looks like: [ 1696.780305] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT] [ 1696.780361] nouveau 0000:01:00.0: fifo:000000:00[ gr]: 8006e005: busy 1 faulted 0 chsw 1 save 1 load 1 chid 5*-> chid 6 [ 1696.780422] nouveau 0000:01:00.0: fifo:000000:07[ ce2]: 00050005: busy 0 faulted 0 chsw 0 save 0 load 0 chid 5 -> chid 5 [ 1696.780476] nouveau 0000:01:00.0: fifo:000004:04[ ce0]: 00000000: busy 0 faulted 0 chsw 0 save 0 load 0 chid 0 -> chid 0 [ 1696.780529] nouveau 0000:01:00.0: fifo:000001:01[ mspdec]: 00000000: busy 0 faulted 0 chsw 0 save 0 load 0 chid 0 -> chid 0 [ 1696.780581] nouveau 0000:01:00.0: fifo:000002:02[ msppp]: 00000000: busy 0 faulted 0 chsw 0 save 0 load 0 chid 0 -> chid 0 [ 1696.780633] nouveau 0000:01:00.0: fifo:000003:03[ msvld]: 00000000: busy 0 faulted 0 chsw 0 save 0 load 0 chid 0 -> chid 0 [ 1696.780689] nouveau 0000:01:00.0: fifo:000000:00[ gr]: 8006e005: busy 1 faulted 0 chsw 1 save 1 load 1 chid 5*-> chid 6 [ 1696.780744] nouveau 0000:01:00.0: fifo:000000:00[ gr]: 8006e005: busy 1 faulted 0 chsw 1 save 1 load 1 chid 5*-> chid 6 [ 1696.780795] nouveau 0000:01:00.0: fifo:000000:00[ gr]: triggering mmu fault on 0x00 [ 1696.780835] nouveau 0000:01:00.0: fifo:000000:07[ ce2]: 00050005: busy 0 faulted 0 chsw 0 save 0 load 0 chid 5 -> chid 5 [ 1696.780942] nouveau 0000:01:00.0: fifo:000000:00[ gr]: 00000100: mmu fault triggered [ 1696.780987] nouveau 0000:01:00.0: fifo:000000:00[ gr]: c006e005: busy 1 faulted 1 chsw 1 save 1 load 1 chid 5*-> chid 6 [ 1696.781040] nouveau 0000:01:00.0: fifo:000000:0005:[Renderer[13701]] rc scheduled where I suspect ce2, is linked to PCE2. Is there a documentation that describes those "engines"?
Dave Airlie
2023-Dec-05 03:27 UTC
[Nouveau] Meaning of the engines in paramaters of nouveau module
On Mon, 4 Dec 2023 at 05:04, Paul Dufresne <dufresnep at zoho.com> wrote:> > In https://nouveau.freedesktop.org/KernelModuleParameters.html, there is: > Here is a list of engines: > DEVICE > DMAOBJ > PBSP > PCE0 > PCE1 > PCE2 > PCRYPT > PDISP > PFIFO > PGRAPH > PMPEG > PPM > PPPP > PVP > SW > Also, in debug: > CLIENT > > I have tried to find a description of those. > https://envytools.readthedocs.io/en/latest/ > help a bit, but I don't find a precise correlation. > > https://nouveau.freedesktop.org/NouveauTerms.html > does not seems to have most of these terms. > > I am particularly curious about PCE[0-3]. > But also about CLIENT, that seems different and mysterious. > > I wonder if it is possible to write: > nouveau.debug=info,PDISP=debug > to have the info debug level as the default, but for PDISP have the debug level > > Also, my interest is linked to the state of GPU graph given after a context switch timeout that looks like: > [ 1696.780305] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT] > [ 1696.780361] nouveau 0000:01:00.0: fifo:000000:00[ gr]: 8006e005: busy 1 faulted 0 chsw 1 save 1 load 1 chid 5*-> chid 6 > [ 1696.780422] nouveau 0000:01:00.0: fifo:000000:07[ ce2]: 00050005: busy 0 faulted 0 chsw 0 save 0 load 0 chid 5 -> chid 5 > [ 1696.780476] nouveau 0000:01:00.0: fifo:000004:04[ ce0]: 00000000: busy 0 faulted 0 chsw 0 save 0 load 0 chid 0 -> chid 0 > [ 1696.780529] nouveau 0000:01:00.0: fifo:000001:01[ mspdec]: 00000000: busy 0 faulted 0 chsw 0 save 0 load 0 chid 0 -> chid 0 > [ 1696.780581] nouveau 0000:01:00.0: fifo:000002:02[ msppp]: 00000000: busy 0 faulted 0 chsw 0 save 0 load 0 chid 0 -> chid 0 > [ 1696.780633] nouveau 0000:01:00.0: fifo:000003:03[ msvld]: 00000000: busy 0 faulted 0 chsw 0 save 0 load 0 chid 0 -> chid 0 > [ 1696.780689] nouveau 0000:01:00.0: fifo:000000:00[ gr]: 8006e005: busy 1 faulted 0 chsw 1 save 1 load 1 chid 5*-> chid 6 > [ 1696.780744] nouveau 0000:01:00.0: fifo:000000:00[ gr]: 8006e005: busy 1 faulted 0 chsw 1 save 1 load 1 chid 5*-> chid 6 > [ 1696.780795] nouveau 0000:01:00.0: fifo:000000:00[ gr]: triggering mmu fault on 0x00 > [ 1696.780835] nouveau 0000:01:00.0: fifo:000000:07[ ce2]: 00050005: busy 0 faulted 0 chsw 0 save 0 load 0 chid 5 -> chid 5 > [ 1696.780942] nouveau 0000:01:00.0: fifo:000000:00[ gr]: 00000100: mmu fault triggered > [ 1696.780987] nouveau 0000:01:00.0: fifo:000000:00[ gr]: c006e005: busy 1 faulted 1 chsw 1 save 1 load 1 chid 5*-> chid 6 > [ 1696.781040] nouveau 0000:01:00.0: fifo:000000:0005:[Renderer[13701]] rc scheduled > > where I suspect ce2, is linked to PCE2. > > Is there a documentation that describes those "engines"?CE is copy engine. But this looks like an mmu fault on the GPU side, so some shader is doing something wrong most likely. Dave.
Maybe Matching Threads
- Meaning of the engines in paramaters of nouveau module
- [PATCH 0/5] Improve Robust Channel (RC) recovery for Turing
- [PATCH] fifo/gk104: fix chid bit mask
- [RFC PATCH v2 0/5] More explicit pushbuf error handling
- [RFC PATCH] drm/nouveau: report channel owner in error messages