TC008 Interrupt Affinity Fix 11/44711/1
authorJing Zhang <jing.c.zhang@nokia.com>
Tue, 10 Oct 2017 18:20:33 +0000 (14:20 -0400)
committerJing Zhang <jing.c.zhang@nokia.com>
Tue, 10 Oct 2017 18:20:33 +0000 (14:20 -0400)
The smp_affinity takes hex mask, currently it is given hex number.

Change-Id: Id738bfe10551dad1f5df48910a230b12f50d1b3d
JIRA: YARDSTICK-818
Signed-off-by: Jing Zhang <jing.c.zhang@nokia.com>
yardstick/benchmark/scenarios/networking/pktgen.py

index a9e7aa6..b79b915 100644 (file)
@@ -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: