D7757: Use real-time scheduling policy for kwin_wayland

Martin Flöser noreply at phabricator.kde.org
Sun Sep 10 10:12:02 UTC 2017


graesslin created this revision.
Restricted Application added a project: KWin.
Restricted Application added subscribers: kwin, plasma-devel.

REVISION SUMMARY
  The base idea behind this change is to keep the system responsive no
  matter what other processes do. All input and rendering needs to go
  through the windowing system, so keeping it responsive is important.
  
  Currently KWin competes with all other processes for resources and this
  can render the system unusable. Consider some processes running amok. In
  this case the user might not be able to easily close the applications as
  KWin does not get the cpu time to perform the input tasks requested by
  the user.
  
  Or in the case of playing a demanding game it is important that KWin
  gets scheduled to forward the pointer input events. The user doesn't
  want that the game (or another process) wins against the windowing
  sytem.
  
  The disadvantage is that KWin always wins against other processes with
  real time scheduling. This could result in KWin running amok stalling
  the system. On the other hand this is no change to the current situation
  as if KWin runs amok the sytem is unusable.
  
  The change uses libcap to set CAP_SYS_NICE on kwin_wayland executable.
  KWin_wayland on start sets the scheduling policy to SCHED_RR with the
  lowest possible priority. Thus any other SCHED_RR process will win
  against KWin. So real time processes are not affected by this change!
  
  After adjusting the scheduling (which requires CAP_SYS_NICE) KWin drops
  this capability again.

TEST PLAN
  Verified that KWin adjusts the scheduler, that it is not passed
  to child processes, that the capability gets dropped and not passed to
  child processes.

REPOSITORY
  R108 KWin

BRANCH
  wayland-realtime

REVISION DETAIL
  https://phabricator.kde.org/D7757

AFFECTED FILES
  CMakeLists.txt
  cmake/modules/FindLibcap.cmake
  config-kwin.h.cmake
  main_wayland.cpp

To: graesslin, #kwin, #plasma
Cc: plasma-devel, kwin, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170910/8844ea82/attachment.html>


More information about the Plasma-devel mailing list