Skip to content

Commit f02f2a1

Browse files
committed
virtio_net: simplify virtnet_set_affinity()
The inner loop may be replaced with the dedicated for_each_online_cpu_wrap. Use it as it improves readability and simplifies maintenance. Signed-off-by: Yury Norov <[email protected]> Reviewed-by: Nick Child <[email protected]> Acked-by: Michael S. Tsirkin <[email protected]>
1 parent d81603b commit f02f2a1

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

drivers/net/virtio_net.c

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3826,7 +3826,7 @@ static void virtnet_set_affinity(struct virtnet_info *vi)
38263826
cpumask_var_t mask;
38273827
int stragglers;
38283828
int group_size;
3829-
int i, j, cpu;
3829+
int i, start = 0, cpu;
38303830
int num_cpu;
38313831
int stride;
38323832

@@ -3840,16 +3840,18 @@ static void virtnet_set_affinity(struct virtnet_info *vi)
38403840
stragglers = num_cpu >= vi->curr_queue_pairs ?
38413841
num_cpu % vi->curr_queue_pairs :
38423842
0;
3843-
cpu = cpumask_first(cpu_online_mask);
38443843

38453844
for (i = 0; i < vi->curr_queue_pairs; i++) {
38463845
group_size = stride + (i < stragglers ? 1 : 0);
38473846

3848-
for (j = 0; j < group_size; j++) {
3847+
for_each_online_cpu_wrap(cpu, start) {
3848+
if (!group_size--) {
3849+
start = cpu;
3850+
break;
3851+
}
38493852
cpumask_set_cpu(cpu, mask);
3850-
cpu = cpumask_next_wrap(cpu, cpu_online_mask,
3851-
nr_cpu_ids, false);
38523853
}
3854+
38533855
virtqueue_set_affinity(vi->rq[i].vq, mask);
38543856
virtqueue_set_affinity(vi->sq[i].vq, mask);
38553857
__netif_set_xps_queue(vi->dev, cpumask_bits(mask), i, XPS_CPUS);

0 commit comments

Comments
 (0)