Просмотр исходного кода

skb_array: add wrappers for resizing

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jason Wang 9 лет назад
Родитель
Сommit
bf900b3dbe
1 измененных файлов с 9 добавлено и 0 удалено
  1. 9 0
      include/linux/skb_array.h

+ 9 - 0
include/linux/skb_array.h

@@ -161,6 +161,15 @@ static inline int skb_array_resize(struct skb_array *a, int size, gfp_t gfp)
 	return ptr_ring_resize(&a->ring, size, gfp, __skb_array_destroy_skb);
 	return ptr_ring_resize(&a->ring, size, gfp, __skb_array_destroy_skb);
 }
 }
 
 
+static inline int skb_array_resize_multiple(struct skb_array **rings,
+					    int nrings, int size, gfp_t gfp)
+{
+	BUILD_BUG_ON(offsetof(struct skb_array, ring));
+	return ptr_ring_resize_multiple((struct ptr_ring **)rings,
+					nrings, size, gfp,
+					__skb_array_destroy_skb);
+}
+
 static inline void skb_array_cleanup(struct skb_array *a)
 static inline void skb_array_cleanup(struct skb_array *a)
 {
 {
 	ptr_ring_cleanup(&a->ring, __skb_array_destroy_skb);
 	ptr_ring_cleanup(&a->ring, __skb_array_destroy_skb);