Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 161266 Details for
Bug 206773
setting ionice (ioniceness) of portage in the make.conf
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
add a PORTAGE_IONICE_COMMAND variable
ionice.patch (text/plain), 3.22 KB, created by
Zac Medico
on 2008-07-24 14:46:33 UTC
(
hide
)
Description:
add a PORTAGE_IONICE_COMMAND variable
Filename:
MIME Type:
Creator:
Zac Medico
Created:
2008-07-24 14:46:33 UTC
Size:
3.22 KB
patch
obsolete
>Index: pym/portage/__init__.py >=================================================================== >--- pym/portage/__init__.py (revision 11181) >+++ pym/portage/__init__.py (revision 11182) >@@ -996,7 +996,8 @@ > "PORTAGE_ELOG_MAILURI", "PORTAGE_ELOG_SYSTEM", > "PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS", "PORTAGE_FETCH_RESUME_MIN_SIZE", > "PORTAGE_GPG_DIR", >- "PORTAGE_GPG_KEY", "PORTAGE_PACKAGE_EMPTY_ABORT", >+ "PORTAGE_GPG_KEY", "PORTAGE_IONICE_COMMAND", >+ "PORTAGE_PACKAGE_EMPTY_ABORT", > "PORTAGE_RO_DISTDIRS", > "PORTAGE_RSYNC_EXTRA_OPTS", "PORTAGE_RSYNC_OPTS", > "PORTAGE_RSYNC_RETRIES", "PORTAGE_USE", "PORT_LOGDIR", >Index: pym/_emerge/__init__.py >=================================================================== >--- pym/_emerge/__init__.py (revision 11181) >+++ pym/_emerge/__init__.py (revision 11182) >@@ -12846,6 +12846,29 @@ > settings["NOCOLOR"] = "true" > settings.backup_changes("NOCOLOR") > >+def ionice(settings): >+ >+ ionice_cmd = settings.get("PORTAGE_IONICE_COMMAND") >+ if ionice_cmd: >+ ionice_cmd = shlex.split(ionice_cmd) >+ if not ionice_cmd: >+ return >+ >+ from portage.util import varexpand >+ variables = {"PID" : str(os.getpid())} >+ cmd = [varexpand(x, mydict=variables) for x in ionice_cmd] >+ >+ try: >+ rval = portage.process.spawn(cmd, env=os.environ) >+ except portage.exception.CommandNotFound: >+ # The OS kernel probably doesn't support ionice, >+ # so return silently. >+ return >+ >+ if rval != os.EX_OK: >+ out = portage.output.EOutput() >+ out.eerror("PORTAGE_IONICE_COMMAND returned %d" % (rval,)) >+ > def emerge_main(): > global portage # NFC why this is necessary now - genone > portage._disable_legacy_globals() >@@ -12867,6 +12890,8 @@ > settings, trees, mtimedb = load_emerge_config() > portdb = trees[settings["ROOT"]]["porttree"].dbapi > >+ ionice(settings) >+ > try: > os.nice(int(settings.get("PORTAGE_NICENESS", "0"))) > except (OSError, ValueError), e: >Index: cnf/make.globals >=================================================================== >--- cnf/make.globals (revision 11181) >+++ cnf/make.globals (revision 11182) >@@ -62,6 +62,9 @@ > # Minimum size of existing file for RESUMECOMMAND to be called. > PORTAGE_FETCH_RESUME_MIN_SIZE="350K" > >+# Command called to adjust the io priority of portage and it's subprocesses. >+PORTAGE_IONICE_COMMAND="ionice -c 2 -n 7 -p \${PID}" >+ > # Number of times 'emerge --sync' will run before giving up. > PORTAGE_RSYNC_RETRIES="3" > >Index: man/make.conf.5 >=================================================================== >--- man/make.conf.5 (revision 11181) >+++ man/make.conf.5 (revision 11182) >@@ -459,6 +459,14 @@ > variable should contain an integer number of bytes and may have a suffix such > as K, M, or G. > .TP >+\fBPORTAGE_IONICE_COMMAND\fR = \fI[ionice command string]\fR >+This variable should contain a command for portage to call in order >+to adjust the io priority of portage and it's subprocesses. The command >+string should contain a \\${PID} place-holder that will be substituted >+with an integer pid. For more information about ionice, see \fBionice\fR(1). >+.br >+Defaults to "ionice -c 2 -n 7 -p \\${PID}". >+.TP > \fBPORTAGE_NICENESS\fR = \fI[number]\fR > 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,
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 206773
:
151724
| 161266