|
@@ -188,6 +188,11 @@ struct __name##_back_ring { \
|
|
|
#define RING_REQUEST_CONS_OVERFLOW(_r, _cons) \
|
|
|
(((_cons) - (_r)->rsp_prod_pvt) >= RING_SIZE(_r))
|
|
|
|
|
|
+/* Ill-behaved frontend determination: Can there be this many requests? */
|
|
|
+#define RING_REQUEST_PROD_OVERFLOW(_r, _prod) \
|
|
|
+ (((_prod) - (_r)->rsp_prod_pvt) > RING_SIZE(_r))
|
|
|
+
|
|
|
+
|
|
|
#define RING_PUSH_REQUESTS(_r) do { \
|
|
|
wmb(); /* back sees requests /before/ updated producer index */ \
|
|
|
(_r)->sring->req_prod = (_r)->req_prod_pvt; \
|