Skip to content

nouveau: multithreading fixes

Karol Herbst requested to merge karolherbst/mesa:nvc0_threading_upstream into main

Fixes multithreading inside nouveau by moving move stuff into the context. Fencing is probably the biggest change here. Nothing too complicated going on overall.

I'd like to merge it directly after the next release gets branched out. This MR itself is easily backportable so if distributions want to quick multithreading in older releases downstream, they are free to do so with this MR. It should contain everything needed. The only additional patch to backport would be this one: de0a0d2f

Copr for Testing on Fedora 35: https://copr.fedorainfracloud.org/coprs/karolherbst/Nouveau_Testing/

Known issues:

  • State tracking issues in drivers. Especially the text are is causing issues.
  • Get more distributions/users to test those patches
  • On nv50 I hit the issue where some pushbuffer submits are not worked through on the hw. No idea if that's only limited to the fencing part or if that includes the entire pushbuffer. usleep prior kicking does help, so it might be some stupid timing issue.
  • Fix nv50 regressions.
Edited by Karol Herbst

Merge request reports