Recently lockless_dereference() was added which can be used in place of hard-coding smp_read_barrier_depends(). The following PATCH makes the change. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> --- include/linux/hyperv.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h index 08cfaff..06418b1 100644 --- a/include/linux/hyperv.h +++ b/include/linux/hyperv.h @@ -127,13 +127,12 @@ hv_get_ringbuffer_availbytes(struct hv_ring_buffer_info *rbi, u32 *read, u32 *write) { u32 read_loc, write_loc, dsize; - - smp_read_barrier_depends(); + struct hv_ring_buffer_info *rbi_p = lockless_dereference(rbi); /* Capture the read/write indices before they changed */ - read_loc = rbi->ring_buffer->read_index; - write_loc = rbi->ring_buffer->write_index; - dsize = rbi->ring_datasize; + read_loc = rbi_p->ring_buffer->read_index; + write_loc = rbi_p->ring_buffer->write_index; + dsize = rbi_p->ring_datasize; *write = write_loc >= read_loc ? dsize - (write_loc - read_loc) : read_loc - write_loc; -- 1.9.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel