From: Jing Zhang Date: Tue, 10 Oct 2017 18:20:33 +0000 (-0400) Subject: TC008 Interrupt Affinity Fix X-Git-Tag: opnfv-6.0.0~362 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=07644db4910643d6f6705c6a12c5ec612a99a33a;p=yardstick.git TC008 Interrupt Affinity Fix The smp_affinity takes hex mask, currently it is given hex number. Change-Id: Id738bfe10551dad1f5df48910a230b12f50d1b3d JIRA: YARDSTICK-818 Signed-off-by: Jing Zhang --- diff --git a/yardstick/benchmark/scenarios/networking/pktgen.py b/yardstick/benchmark/scenarios/networking/pktgen.py index a9e7aa6a3..b79b91539 100644 --- a/yardstick/benchmark/scenarios/networking/pktgen.py +++ b/yardstick/benchmark/scenarios/networking/pktgen.py @@ -180,6 +180,9 @@ class Pktgen(base.Scenario): return for i in range(1, queue_number): + + smp_affinity_mask = format(1 << i, 'x') + cmd = "grep 'virtio0-input.%s' /proc/interrupts |" \ "awk '{match($0,/ +[0-9]+/)} " \ "{print substr($1,RSTART,RLENGTH-1)}'" % (i) @@ -188,7 +191,7 @@ class Pktgen(base.Scenario): raise RuntimeError(stderr) cmd = "echo %s | sudo tee /proc/irq/%s/smp_affinity" \ - % (1 << i, int(stdout)) + % (smp_affinity_mask, int(stdout)) status, stdout, stderr = self.server.execute(cmd) status, stdout, stderr = self.client.execute(cmd) if status: @@ -202,7 +205,7 @@ class Pktgen(base.Scenario): raise RuntimeError(stderr) cmd = "echo %s | sudo tee /proc/irq/%s/smp_affinity" \ - % (1 << i, int(stdout)) + % (smp_affinity_mask, int(stdout)) status, stdout, stderr = self.server.execute(cmd) status, stdout, stderr = self.client.execute(cmd) if status: @@ -226,6 +229,8 @@ class Pktgen(base.Scenario): return for i in range(1, queue_number): + smp_affinity_mask = format(1 << i, 'x') + cmd = "grep '%s-TxRx-%s' /proc/interrupts |" \ "awk '{match($0,/ +[0-9]+/)} " \ "{print substr($1,RSTART,RLENGTH-1)}'" % (self.vnic_name, i) @@ -234,7 +239,7 @@ class Pktgen(base.Scenario): raise RuntimeError(stderr) cmd = "echo %s | sudo tee /proc/irq/%s/smp_affinity" \ - % (1 << i, int(stdout)) + % (smp_affinity_mask, int(stdout)) status, stdout, stderr = self.server.execute(cmd) status, stdout, stderr = self.client.execute(cmd) if status: