search for: list_move_tail

Displaying 20 results from an estimated 55 matches for "list_move_tail".

2020 Mar 18
4
[PATCH 1/9] drm/vblank: Add vblank works
...mp; !kthread_should_stop() && > + list_empty(&vblank->vblank_work.irq_list) && > + list_empty(&vblank->vblank_work.work_list)); > + > + list_for_each_entry_safe(work, next, > + &vblank->vblank_work.work_list, > + list) { > + list_move_tail(&work->list, &list); > + work->state = DRM_VBL_WORK_RUNNING; > + } > + > + spin_unlock_irq(&vblank->dev->event_lock); > + > + if (list_empty(&list)) > + continue; > + > + count = atomic64_read(&vblank->count); > + list_for_ea...
2020 Mar 18
0
[PATCH 1/9] drm/vblank: Add vblank works
...ent_lock); + + WARN_ON(ret && !kthread_should_stop() && + list_empty(&vblank->vblank_work.irq_list) && + list_empty(&vblank->vblank_work.work_list)); + + list_for_each_entry_safe(work, next, + &vblank->vblank_work.work_list, + list) { + list_move_tail(&work->list, &list); + work->state = DRM_VBL_WORK_RUNNING; + } + + spin_unlock_irq(&vblank->dev->event_lock); + + if (list_empty(&list)) + continue; + + count = atomic64_read(&vblank->count); + list_for_each_entry(work, &list, list) + work->func(...
2020 Mar 27
2
[PATCH 1/9] drm/vblank: Add vblank works
...mp;vblank->vblank_work.irq_list) && > > > + list_empty(&vblank->vblank_work.work_list)); > > > + > > > + list_for_each_entry_safe(work, next, > > > + &vblank->vblank_work.work_list, > > > + list) { > > > + list_move_tail(&work->list, &list); > > > + work->state = DRM_VBL_WORK_RUNNING; > > > + } > > > + > > > + spin_unlock_irq(&vblank->dev->event_lock); > > > + > > > + if (list_empty(&list)) > > > + continue; > >...
2020 Mar 27
0
[PATCH 1/9] drm/vblank: Add vblank works
...p; > > + list_empty(&vblank->vblank_work.irq_list) && > > + list_empty(&vblank->vblank_work.work_list)); > > + > > + list_for_each_entry_safe(work, next, > > + &vblank->vblank_work.work_list, > > + list) { > > + list_move_tail(&work->list, &list); > > + work->state = DRM_VBL_WORK_RUNNING; > > + } > > + > > + spin_unlock_irq(&vblank->dev->event_lock); > > + > > + if (list_empty(&list)) > > + continue; > > + > > + count = atomic64_rea...
2020 Apr 13
0
[PATCH 1/9] drm/vblank: Add vblank works
...> > > + list_empty(&vblank->vblank_work.work_list)); > > > > + > > > > + list_for_each_entry_safe(work, next, > > > > + &vblank- > > > > >vblank_work.work_list, > > > > + list) { > > > > + list_move_tail(&work->list, &list); > > > > + work->state = DRM_VBL_WORK_RUNNING; > > > > + } > > > > + > > > > + spin_unlock_irq(&vblank->dev->event_lock); > > > > + > > > > + if (list_empty(&list)) > >...
2010 Jun 19
3
[PATCH 1/1] ocfs2 fix o2dlm dlm run purgelist
...tus of the lockres *might* change so double + * check. If the lockres is unused, holding the dlm + * spinlock will prevent people from getting and more + * refs on it -- there's no need to keep the lockres + * spinlock. */ + unused = __dlm_lockres_unused(lockres); + if (!unused) { + list_move_tail(&dlm->purge_list, &lockres->purge); + spin_unlock(&lockres->spinlock); + continue; + } + dlm_lockres_get(lockres); /* This may drop and reacquire the dlm spinlock if it * has to do migration. */ - if (dlm_purge_lockres(dlm, lockres)) - BUG(); + dlm_purge_lo...
2018 Jun 05
0
[PATCH] Changing comment for the list_empty() routine which returns boolean
...redhat.com> diff --git a/drivers/gpu/drm/nouveau/include/nvif/list.h b/drivers/gpu/drm/nouveau/include/nvif/list.h index 8af5d144ecb0..12bf7e3333e4 100644 --- a/drivers/gpu/drm/nouveau/include/nvif/list.h +++ b/drivers/gpu/drm/nouveau/include/nvif/list.h @@ -226,10 +226,7 @@ static inline void list_move_tail(struct list_head *list, /** * Check if the list is empty. * - * Example: - * list_empty(&bar->list_of_foos); - * - * @return True if the list contains one or more elements or False otherwise. + * @return True if the list is empty (head->next == head) or False otherwise. */ static...
2009 Jul 18
0
[PATCH 5/6] fs/btrfs: convert nested spin_lock_irqsave to spin_lock
...btrfs/async-thread.c +++ b/fs/btrfs/async-thread.c @@ -424,11 +424,11 @@ int btrfs_requeue_work(struct btrfs_work *work) * list */ if (worker->idle) { - spin_lock_irqsave(&worker->workers->lock, flags); + spin_lock(&worker->workers->lock); worker->idle = 0; list_move_tail(&worker->worker_list, &worker->workers->worker_list); - spin_unlock_irqrestore(&worker->workers->lock, flags); + spin_unlock(&worker->workers->lock); } if (!worker->working) { wake = 1; -- To unsubscribe from this list: send the line &quot...
2009 Feb 05
0
[PATCH] netback: add ethtool stat to track copied skbs
...oc if (time_after(inuse->alloc_time + HZ / 2, jiffies)) break; - switch (copy_pending_req(inuse - pending_inuse)) { + pending_idx = inuse - pending_inuse; + + pending_tx_info[pending_idx].netif->nr_copied_skbs++; + + switch (copy_pending_req(pending_idx)) { case 0: list_move_tail(&inuse->list, &list); continue; _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
2023 Aug 22
0
[PATCH v4 43/48] drm/ttm: introduce pool_shrink_rwsem
...flags, > @@ -317,6 +318,7 @@ static unsigned int ttm_pool_shrink(void) > unsigned int num_pages; > struct page *p; > > + down_read(&pool_shrink_rwsem); > spin_lock(&shrinker_lock); > pt = list_first_entry(&shrinker_list, typeof(*pt), shrinker_list); > list_move_tail(&pt->shrinker_list, &shrinker_list); > @@ -329,6 +331,7 @@ static unsigned int ttm_pool_shrink(void) > } else { > num_pages = 0; > } > + up_read(&pool_shrink_rwsem); > > return num_pages; > } > @@ -572,6 +575,18 @@ void ttm_pool_init(struct ttm_...
2020 Jan 24
1
[PATCH 1/2] drm/nouveau: move io_reserve_lru handling into the driver v2
...GE_SIZE, DMA_FROM_DEVICE); > } > > +void nouveau_bo_add_io_reserve_lru(struct ttm_buffer_object *bo) > +{ > + struct nouveau_drm *drm = nouveau_bdev(bo->bdev); > + struct nouveau_bo *nvbo = nouveau_bo(bo); > + > + mutex_lock(&drm->ttm.io_reserve_mutex); > + list_move_tail(&nvbo->io_reserve_lru, &drm->ttm.io_reserve_lru); > + mutex_unlock(&drm->ttm.io_reserve_mutex); > +} > + > +void nouveau_bo_del_io_reserve_lru(struct ttm_buffer_object *bo) > +{ > + struct nouveau_drm *drm = nouveau_bdev(bo->bdev); > + struct nouveau_bo...
2019 Sep 11
0
[vhost:linux-next 14/17] include/linux/mmzone.h:815:3: error: implicit declaration of function 'move_page_to_reported_list'; did you mean 'move_to_free_list'?
...818 * To prevent unreported pages from being mixed with the reported 819 * ones we add pages to the tail of the list. By doing this the function 820 * above can either label them as included in the reported list or not 821 * and the result will be consistent. 822 */ 823 list_move_tail(&page->lru, tail); 824 } 825 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation -------------- next part -------------- A non-text attachment was scrubbed... Name: .config.gz...
2014 Aug 10
0
[PATCH] vhost: Add polling mode
...virtqueue *roundrobin_poll(struct list_head *list) > +{ > + struct vhost_virtqueue *vq; > + u16 avail_idx; > + > + if (list_empty(list)) > + return NULL; > + > + vq = list_first_entry(list, struct vhost_virtqueue, vqpoll.link); > + WARN_ON(!vq->vqpoll.enabled); > + list_move_tail(&vq->vqpoll.link, list); > + > + /* See if there is any new work available from the guest. */ > + /* TODO: can check the optional idx feature, and if we haven't > + * reached that idx yet, don't kick... */ > + avail_idx = vq->vqpoll.avail_mapped->idx; > + if (...
2020 Jan 28
1
[PATCH 1/2] drm/nouveau: move io_reserve_lru handling into the driver v2
...VICE); > } > > +void nouveau_bo_add_io_reserve_lru(struct ttm_buffer_object *bo) > +{ > + struct nouveau_drm *drm = nouveau_bdev(bo->bdev); > + struct nouveau_bo *nvbo = nouveau_bo(bo); > + > + mutex_lock(&drm->ttm.io_reserve_mutex); > + list_move_tail(&nvbo->io_reserve_lru, &drm->ttm.io_reserve_lru); > + mutex_unlock(&drm->ttm.io_reserve_mutex); > +} > + > +void nouveau_bo_del_io_reserve_lru(struct ttm_buffer_object *bo) > +{ > + struct nouveau_drm *drm = nouveau_bdev(bo->bdev); > +...
2014 Aug 20
0
[PATCH] vhost: Add polling mode
...virtqueue *roundrobin_poll(struct list_head *list) > +{ > + struct vhost_virtqueue *vq; > + u16 avail_idx; > + > + if (list_empty(list)) > + return NULL; > + > + vq = list_first_entry(list, struct vhost_virtqueue, vqpoll.link); > + WARN_ON(!vq->vqpoll.enabled); > + list_move_tail(&vq->vqpoll.link, list); > + > + /* See if there is any new work available from the guest. */ > + /* TODO: can check the optional idx feature, and if we haven't > + * reached that idx yet, don't kick... */ > + avail_idx = vq->vqpoll.avail_mapped->idx; > + if (...
2014 Aug 10
7
[PATCH] vhost: Add polling mode
...rent one is + * polled. + */ +static struct vhost_virtqueue *roundrobin_poll(struct list_head *list) +{ + struct vhost_virtqueue *vq; + u16 avail_idx; + + if (list_empty(list)) + return NULL; + + vq = list_first_entry(list, struct vhost_virtqueue, vqpoll.link); + WARN_ON(!vq->vqpoll.enabled); + list_move_tail(&vq->vqpoll.link, list); + + /* See if there is any new work available from the guest. */ + /* TODO: can check the optional idx feature, and if we haven't + * reached that idx yet, don't kick... */ + avail_idx = vq->vqpoll.avail_mapped->idx; + if (avail_idx != vq->last_avail...
2014 Aug 10
7
[PATCH] vhost: Add polling mode
...rent one is + * polled. + */ +static struct vhost_virtqueue *roundrobin_poll(struct list_head *list) +{ + struct vhost_virtqueue *vq; + u16 avail_idx; + + if (list_empty(list)) + return NULL; + + vq = list_first_entry(list, struct vhost_virtqueue, vqpoll.link); + WARN_ON(!vq->vqpoll.enabled); + list_move_tail(&vq->vqpoll.link, list); + + /* See if there is any new work available from the guest. */ + /* TODO: can check the optional idx feature, and if we haven't + * reached that idx yet, don't kick... */ + avail_idx = vq->vqpoll.avail_mapped->idx; + if (avail_idx != vq->last_avail...
2020 Jan 24
4
TTM/Nouveau cleanups
Hi guys, I've already send this out in September last year, but only got a response from Daniel. Could you guys please test this and tell me what you think about it? Basically I'm trying to remove all driver specific features from TTM which don't need to be inside the framework. Thanks, Christian.
2020 Jan 24
0
[PATCH 1/2] drm/nouveau: move io_reserve_lru handling into the driver v2
..._sync_for_cpu(struct nouveau_bo *nvbo) PAGE_SIZE, DMA_FROM_DEVICE); } +void nouveau_bo_add_io_reserve_lru(struct ttm_buffer_object *bo) +{ + struct nouveau_drm *drm = nouveau_bdev(bo->bdev); + struct nouveau_bo *nvbo = nouveau_bo(bo); + + mutex_lock(&drm->ttm.io_reserve_mutex); + list_move_tail(&nvbo->io_reserve_lru, &drm->ttm.io_reserve_lru); + mutex_unlock(&drm->ttm.io_reserve_mutex); +} + +void nouveau_bo_del_io_reserve_lru(struct ttm_buffer_object *bo) +{ + struct nouveau_drm *drm = nouveau_bdev(bo->bdev); + struct nouveau_bo *nvbo = nouveau_bo(bo); + + mutex_l...
2020 Aug 21
0
[PATCH 2/3] drm/nouveau: move io_reserve_lru handling into the driver v4
..._sync_for_cpu(struct nouveau_bo *nvbo) PAGE_SIZE, DMA_FROM_DEVICE); } +void nouveau_bo_add_io_reserve_lru(struct ttm_buffer_object *bo) +{ + struct nouveau_drm *drm = nouveau_bdev(bo->bdev); + struct nouveau_bo *nvbo = nouveau_bo(bo); + + mutex_lock(&drm->ttm.io_reserve_mutex); + list_move_tail(&nvbo->io_reserve_lru, &drm->ttm.io_reserve_lru); + mutex_unlock(&drm->ttm.io_reserve_mutex); +} + +void nouveau_bo_del_io_reserve_lru(struct ttm_buffer_object *bo) +{ + struct nouveau_drm *drm = nouveau_bdev(bo->bdev); + struct nouveau_bo *nvbo = nouveau_bo(bo); + + mutex_l...