|
@@ -263,6 +263,13 @@ void vhost_work_queue(struct vhost_dev *dev, struct vhost_work *work)
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(vhost_work_queue);
|
|
|
|
|
|
+/* A lockless hint for busy polling code to exit the loop */
|
|
|
+bool vhost_has_work(struct vhost_dev *dev)
|
|
|
+{
|
|
|
+ return !list_empty(&dev->work_list);
|
|
|
+}
|
|
|
+EXPORT_SYMBOL_GPL(vhost_has_work);
|
|
|
+
|
|
|
void vhost_poll_queue(struct vhost_poll *poll)
|
|
|
{
|
|
|
vhost_work_queue(poll->dev, &poll->work);
|