Messages in this thread | | | Date | Tue, 24 Jan 2017 08:08:18 -0800 | From | Stephen Hemminger <> | Subject | Re: [PATCH] Drivers: hv: vmbus: finally fix hv_need_to_signal_on_read() |
| |
On Tue, 24 Jan 2017 06:54:46 +0000 Dexuan Cui <decui@microsoft.com> wrote:
> +static inline void > +init_cached_read_index(struct vmbus_channel *channel) > +{ > + struct hv_ring_buffer_info *rbi = &channel->inbound; > + > + rbi->cached_read_index = rbi->ring_buffer->read_index; > +}
Looks good thanks. This should go in right away. Which versions are impacted? Should it also go to stable?
In a future patch, the API function names for interacting with the ring buffer should be changed to all have common prefix (hv_) and maybe do a little rethinking about what needs to be in ring buffer and what could be local variables.
For example, the cached_read_index is only useful over the span of the loop reading from the ring buffer. For me, it would be cleaner with a ring_buffer iterator object which could abstract the API better.
struct vmbus_ringbuffer_iter iter;
vmbus_begin_read(&iter, channel); while ((desc = vmbus_next_read(&iter), channel) { ... } vmbus_end_read(&iter, channel);
| |