commit:     03520f0ac680d6af62176beb4a072750c11c0b49
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 17 17:43:49 2021 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Jun 17 17:45:00 2021 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=03520f0a

Revert "PORTAGE_NICENESS: Consider autogroup scheduling"

This reverts commit 055abe523c2c3f6c8f1dccfb53565209222f90c1
due to another regression.

See: https://github.com/gentoo/portage/pull/728
Bug: https://bugs.gentoo.org/777492
Bug: https://bugs.gentoo.org/785484
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 lib/_emerge/actions.py | 48 +++---------------------------------------------
 man/make.conf.5        | 10 +---------
 2 files changed, 4 insertions(+), 54 deletions(-)

diff --git a/lib/_emerge/actions.py b/lib/_emerge/actions.py
index df5c86c6c..1946f49df 100644
--- a/lib/_emerge/actions.py
+++ b/lib/_emerge/actions.py
@@ -14,7 +14,6 @@ import textwrap
 import time
 import warnings
 from itertools import chain
-from pathlib import Path
 
 import portage
 portage.proxy.lazyimport.lazyimport(globals(),
@@ -2635,55 +2634,14 @@ def apply_priorities(settings):
        nice(settings)
 
 def nice(settings):
-       nice_value: str = settings.get("PORTAGE_NICENESS", "").strip()
-       if not nice_value:
-               return
-
        try:
-               current_nice_value = os.nice(int(nice_value))
-               # Calling os.nice() with a value outside of the valid range of
-               # nice values, e.g. 20, caps the process's nice value. This is
-               # because the argument of os.nice() is not an absolute value,
-               # but the increment to the process's current nice
-               # value. Hence users may use PORTAGE_NICENESS=20 without any
-               # issues here. However, below we write nice_value potentially
-               # to /proc/self/autogroup, which will only accept valid nice
-               # values. Therefore we simply set nice_value to what os.nice()
-               # returned (i.e. the process's current nice value).
-               nice_value = str(current_nice_value)
+               os.nice(int(settings.get("PORTAGE_NICENESS", "0")))
        except (OSError, ValueError) as e:
                out = portage.output.EOutput()
-               out.eerror(f"Failed to change nice value to {nice_value}")
+               out.eerror("Failed to change nice value to '%s'" % \
+                       settings.get("PORTAGE_NICENESS", "0"))
                out.eerror("%s\n" % str(e))
 
-       autogroup_file = Path("/proc/self/autogroup")
-       try:
-               f = autogroup_file.open("r+")
-       except EnvironmentError:
-               # Autogroup scheduling is not enabled on this system.
-               return
-
-       with f:
-               line = f.readline()
-               original_autogroup_nice_value = line.split(" ")[2]
-
-               # We need to restore the original nice value of the
-               # autogroup, as otherwise the session, e.g. the
-               # terminal where portage was executed in, would
-               # continue running with that value.
-               portage.atexit_register(
-                       lambda value: autogroup_file.write_text(value),
-                       original_autogroup_nice_value,
-               )
-
-               try:
-                       f.write(nice_value)
-               except EnvironmentError as e:
-                       out = portage.output.EOutput()
-                       out.eerror(f"Failed to change autogroup's nice value to 
{nice_value}")
-                       out.eerror("%s\n" % str(e))
-
-
 def ionice(settings):
 
        ionice_cmd = settings.get("PORTAGE_IONICE_COMMAND")

diff --git a/man/make.conf.5 b/man/make.conf.5
index 18573b5e2..1c72109ad 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -1,4 +1,4 @@
-.TH "MAKE.CONF" "5" "Jun 2021" "Portage VERSION" "Portage"
+.TH "MAKE.CONF" "5" "May 2021" "Portage VERSION" "Portage"
 .SH "NAME"
 make.conf \- custom settings for Portage
 .SH "SYNOPSIS"
@@ -1031,14 +1031,6 @@ The value of this variable will be added to the current 
nice level that
 emerge is running at.  In other words, this will not set the nice level,
 it will increment it.  For more information about nice levels and what
 are acceptable ranges, see \fBnice\fR(1).
-.br
-If set and portage is run under Linux with autogroup scheduling (see
-\fBsched\fR(7)) enabled, then portage will set the nice value of its
-autogroup to PORTAGE_NICENESS. Upon exiting, portage will restore the
-original value. Note that if the function responsible for restoring the
-original value is not run, e.g., because portage's process was killed,
-then the autogroup will stay niced. In such a case, the value can be
-reset via corresponding autogroup pseudo\-file in /proc.
 .TP
 \fBPORTAGE_RO_DISTDIRS\fR = \fI[space delimited list of directories]\fR
 When a given file does not exist in \fBDISTDIR\fR, search for the file

Reply via email to