• M
    ptr_ring: resize support · 5d49de53
    Michael S. Tsirkin 提交于
    This adds ring resize support. Seems to be necessary as
    users such as tun allow userspace control over queue size.
    
    If resize is used, this costs us ability to peek at queue without
    consumer lock - should not be a big deal as peek and consumer are
    usually run on the same CPU.
    
    If ring is made bigger, ring contents is preserved.  If ring is made
    smaller, extra pointers are passed to an optional destructor callback.
    
    Cleanup function also gains destructor callback such that
    all pointers in queue can be cleaned up.
    
    This changes some APIs but we don't have any users yet,
    so it won't break bisect.
    Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
    Acked-by: NJesper Dangaard Brouer <brouer@redhat.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    5d49de53
ptr_ring.h 8.7 KB