search for: worker_srcu

Displaying 2 results from an estimated 2 matches for "worker_srcu".

2010 Jul 29
1
[PATCH] vhost: locking/rcu cleanup
...q <= 0; - spin_unlock_irq(&poll->dev->work_lock); - left; - })); - spin_lock_irq(&poll->dev->work_lock); - flushing = --work->flushing; - spin_unlock_irq(&poll->dev->work_lock); - BUG_ON(flushing < 0); + synchronize_srcu_expedited(&poll->dev->worker_srcu); } void vhost_poll_queue(struct vhost_poll *poll) { struct vhost_dev *dev = poll->dev; - struct vhost_work *work = &poll->work; - unsigned long flags; - - spin_lock_irqsave(&dev->work_lock, flags); - if (list_empty(&work->node)) { - list_add_tail(&work->node,...
2010 Jul 29
1
[PATCH] vhost: locking/rcu cleanup
...q <= 0; - spin_unlock_irq(&poll->dev->work_lock); - left; - })); - spin_lock_irq(&poll->dev->work_lock); - flushing = --work->flushing; - spin_unlock_irq(&poll->dev->work_lock); - BUG_ON(flushing < 0); + synchronize_srcu_expedited(&poll->dev->worker_srcu); } void vhost_poll_queue(struct vhost_poll *poll) { struct vhost_dev *dev = poll->dev; - struct vhost_work *work = &poll->work; - unsigned long flags; - - spin_lock_irqsave(&dev->work_lock, flags); - if (list_empty(&work->node)) { - list_add_tail(&work->node,...