Skip to content

Commit 15407e0

Browse files
committed
Improve process spawn speed.
Problem: # FIXME: popen is slow Solution: use subprocess.run
1 parent 477822a commit 15407e0

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

cpuset/commands/proc.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from __future__ import unicode_literals
55
from builtins import str
66
from future.utils import lrange
7+
import subprocess
78
__copyright__ = """
89
Copyright (C) 2007-2010 Novell Inc.
910
Copyright (C) 2013-2018 SUSE
@@ -577,11 +578,11 @@ def run(tset, args, usr_par=None, grp_par=None):
577578
os.execvp(args[0], args)
578579

579580
def is_unbound(proc):
580-
# FIXME: popen is slow...
581581
# --> use /proc/<pid>/status -> Cpus_allowed
582582
# int(line.replace(',',''), 16)
583583
# note: delete leading zeros to compare to allcpumask
584-
line = os.popen('/usr/bin/taskset -p ' + str(proc) +' 2>/dev/null', 'r').readline()
584+
taskset_res = subprocess.run(['/usr/bin/taskset -p', str(proc)], capture_output=True)
585+
line = taskset_res.stdout.readline()
585586
aff = line.split()[-1]
586587
log.debug('is_unbound, proc=%s aff=%s allcpumask=%s',
587588
proc, aff, cset.allcpumask)

0 commit comments

Comments
 (0)