1. 31 Oct, 2022 3 commits
  2. 29 Oct, 2022 1 commit
  3. 27 Oct, 2022 22 commits
  4. 26 Oct, 2022 4 commits
  5. 24 Oct, 2022 8 commits
  6. 21 Oct, 2022 1 commit
  7. 20 Oct, 2022 1 commit
    • Tvrtko Ursulin's avatar
      drm/i915/selftests: Stop using kthread_stop() · 6407cf53
      Tvrtko Ursulin authored
      Since a7c01fa9 ("signal: break out of wait loops on kthread_stop()")
      kthread_stop() started asserting a pending signal which wreaks havoc with
      a few of our selftests. Mainly because they are not fully expecting to
      handle signals, but also cutting the intended test runtimes short due
      signal_pending() now returning true (via __igt_timeout), which therefore
      breaks both the patterns of:
      
        kthread_run()
        ..sleep for igt_timeout_ms to allow test to exercise stuff..
        kthread_stop()
      
      And check for errors recorded in the thread.
      
      And also:
      
          Main thread  |   Test thread
        ---------------+------------------------------
        kthread_run()  |
        kthread_stop() |  do stuff until __igt_timeout
      		 |  -- exits early due signal --
      
      Where this kthread_stop() was assume would have a "join" semantics, which
      it would have had if not the new signal assertion issue.
      
      To recap, threads are now likely to catch a previously impossible
      ERESTARTSYS or EINTR, marking the test as failed, or have a pointlessly
      short run time.
      
      To work around this start using kthread_work(er) API which provides
      an explicit way of waiting for threads to exit. And for cases where
      parent controls the test duration we add explicit signaling which threads
      will now use instead of relying on kthread_should_stop().
      Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20221020130841.3845791-1-tvrtko.ursulin@linux.intel.com
      6407cf53