[konsole] [Bug 439805] Move individual tabbed/windowed processes into their own systemd scope

Kurt Hindenburg bugzilla_noreply at kde.org
Tue Aug 29 00:59:28 BST 2023


https://bugs.kde.org/show_bug.cgi?id=439805

--- Comment #7 from Kurt Hindenburg <khindenburg at kde.org> ---
Git commit 1525ee3b5ea58b09d551f41b0bd6f0f91589e070 by Kurt Hindenburg, on
behalf of Theodore Wang.
Committed on 29/08/2023 at 01:59.
Pushed by hindenburg into branch 'master'.

Create separate cgroups for processes of each tab

Currently, all the processes created by the application are housed
within the application's cgroup without any futher categorisation.
This causes the entire application to be killed if a process in the
aforementioned cgroup triggers an OOM event.

To prevent the entire application from being killed, a new child cgroup
is created for each new tab. Child cgroups for individual tabs are
named according to this template "tab([session pid for the tab]).scope".
"Background" processes (e.g. such as the main process for running
konsole) are stored in the child cgroup "main.scope".
This restricts the OOM event to only killing the tab which contains
the offending process.


To prevent the entire application from being killed, a new child cgroup is
created for each new tab.
Child cgroups for individual tabs are named according to this template
"tab([session pid for the tab]).scope".
"Background" processes (e.g. such as the main process for running konsole) are
stored in the child cgroup "main.scope".
This restricts the OOM event to only killing the tab which contains the
offending process.

M  +2    -0    src/CMakeLists.txt
M  +7    -0    src/MainWindow.cpp
M  +226  -3    src/ProcessInfo.cpp
M  +3    -1    src/ProcessInfo.h
M  +1    -1    src/session/Session.cpp
A  +18   -0    src/settings/MemorySettings.cpp  *
A  +18   -0    src/settings/MemorySettings.h  *
A  +62   -0    src/settings/MemorySettings.ui
M  +10   -0    src/settings/konsole.kcfg

The files marked with a * at the end have a non valid license. Please read:
https://community.kde.org/Policies/Licensing_Policy and use the headers which
are listed at that page.


https://invent.kde.org/utilities/konsole/-/commit/1525ee3b5ea58b09d551f41b0bd6f0f91589e070

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the konsole-devel mailing list