const struct lib_ring_buffer_config *config = chanb->config;
struct channel *chan = container_of(chanb, struct channel, backend);
void *priv = chanb->priv;
- unsigned int num_subbuf;
size_t subbuf_header_size;
u64 tsc;
int ret;
goto free_commit;
}
- num_subbuf = chan->backend.num_subbuf;
init_waitqueue_head(&buf->read_wait);
raw_spin_lock_init(&buf->raw_tick_nohz_spinlock);
* @chan: channel to destroy
*
* Holds cpu hotplug.
- * Call "destroy" callback, finalize channels, wait for readers to release their
- * reference, then destroy ring buffer data. Note that when readers have
- * completed data consumption of finalized channels, get_subbuf() will return
- * -ENODATA. They should release their handle at that point.
- * Returns the private data pointer.
+ * Call "destroy" callback, finalize channels, and then decrement the
+ * channel reference count. Note that when readers have completed data
+ * consumption of finalized channels, get_subbuf() will return -ENODATA.
+ * They should release their handle at that point. Returns the private
+ * data pointer.
*/
void *channel_destroy(struct channel *chan)
{