diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2015-11-29 06:34:44 -0500 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2015-12-07 10:28:10 -0500 |
commit | 5fba13b5cf5856e725de35665c37b647323d3b9a (patch) | |
tree | ddbe8a6688700a93fd7a53d7b16444a40e82729d | |
parent | 55564a02b2ad4dab0c29fd9391d5118592c7fdc8 (diff) |
vhost: replace % with & on data path
We know vring num is a power of 2, so use &
to mask the high bits.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-rw-r--r-- | drivers/vhost/vhost.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 080422f5464f..ad2146a9ab2d 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c | |||
@@ -1369,7 +1369,7 @@ int vhost_get_vq_desc(struct vhost_virtqueue *vq, | |||
1369 | /* Grab the next descriptor number they're advertising, and increment | 1369 | /* Grab the next descriptor number they're advertising, and increment |
1370 | * the index we've seen. */ | 1370 | * the index we've seen. */ |
1371 | if (unlikely(__get_user(ring_head, | 1371 | if (unlikely(__get_user(ring_head, |
1372 | &vq->avail->ring[last_avail_idx % vq->num]))) { | 1372 | &vq->avail->ring[last_avail_idx & (vq->num - 1)]))) { |
1373 | vq_err(vq, "Failed to read head: idx %d address %p\n", | 1373 | vq_err(vq, "Failed to read head: idx %d address %p\n", |
1374 | last_avail_idx, | 1374 | last_avail_idx, |
1375 | &vq->avail->ring[last_avail_idx % vq->num]); | 1375 | &vq->avail->ring[last_avail_idx % vq->num]); |
@@ -1489,7 +1489,7 @@ static int __vhost_add_used_n(struct vhost_virtqueue *vq, | |||
1489 | u16 old, new; | 1489 | u16 old, new; |
1490 | int start; | 1490 | int start; |
1491 | 1491 | ||
1492 | start = vq->last_used_idx % vq->num; | 1492 | start = vq->last_used_idx & (vq->num - 1); |
1493 | used = vq->used->ring + start; | 1493 | used = vq->used->ring + start; |
1494 | if (count == 1) { | 1494 | if (count == 1) { |
1495 | if (__put_user(heads[0].id, &used->id)) { | 1495 | if (__put_user(heads[0].id, &used->id)) { |
@@ -1531,7 +1531,7 @@ int vhost_add_used_n(struct vhost_virtqueue *vq, struct vring_used_elem *heads, | |||
1531 | { | 1531 | { |
1532 | int start, n, r; | 1532 | int start, n, r; |
1533 | 1533 | ||
1534 | start = vq->last_used_idx % vq->num; | 1534 | start = vq->last_used_idx & (vq->num - 1); |
1535 | n = vq->num - start; | 1535 | n = vq->num - start; |
1536 | if (n < count) { | 1536 | if (n < count) { |
1537 | r = __vhost_add_used_n(vq, heads, n); | 1537 | r = __vhost_add_used_n(vq, heads, n); |