* Re: + mm-zswap-use-workqueue-to-destroy-pool.patch added to -mm tree [not found] <571fff47.caCgiy6gTD/vCFnv%akpm@linux-foundation.org> @ 2016-04-27 5:40 ` Sergey Senozhatsky 2016-04-27 8:15 ` Dan Streetman 0 siblings, 1 reply; 2+ messages in thread From: Sergey Senozhatsky @ 2016-04-27 5:40 UTC (permalink / raw) To: akpm; +Cc: ddstreet, dan.streetman, yuzhao, mm-commits, linux-kernel Hello, On (04/26/16 16:52), akpm@linux-foundation.org wrote: [..] > -static void __zswap_pool_release(struct rcu_head *head) > +static void __zswap_pool_release(struct work_struct *work) > { > - struct zswap_pool *pool = container_of(head, typeof(*pool), rcu_head); > + struct zswap_pool *pool = container_of(work, typeof(*pool), work); > + > + synchronize_rcu(); > > /* nobody should have been able to get a kref... */ > WARN_ON(kref_get_unless_zero(&pool->kref)); > @@ -674,7 +676,9 @@ static void __zswap_pool_empty(struct kr > WARN_ON(pool == zswap_pool_current()); > > list_del_rcu(&pool->list); > - call_rcu(&pool->rcu_head, __zswap_pool_release); > + > + INIT_WORK(&pool->work, __zswap_pool_release); > + schedule_work(&pool->work); > > spin_unlock(&zswap_pools_lock); > } > _ > > Patches currently in -mm which might be from ddstreet@ieee.org are > > mm-zpool-use-workqueue-for-zpool_destroy.patch > mm-zswap-use-workqueue-to-destroy-pool.patch I think only mm-zswap-use-workqueue-to-destroy-pool.patch is needed. -ss ^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: + mm-zswap-use-workqueue-to-destroy-pool.patch added to -mm tree 2016-04-27 5:40 ` + mm-zswap-use-workqueue-to-destroy-pool.patch added to -mm tree Sergey Senozhatsky @ 2016-04-27 8:15 ` Dan Streetman 0 siblings, 0 replies; 2+ messages in thread From: Dan Streetman @ 2016-04-27 8:15 UTC (permalink / raw) To: Sergey Senozhatsky Cc: Andrew Morton, Dan Streetman, Yu Zhao, mm-commits, linux-kernel On Wed, Apr 27, 2016 at 1:40 AM, Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> wrote: > Hello, > > On (04/26/16 16:52), akpm@linux-foundation.org wrote: > [..] >> -static void __zswap_pool_release(struct rcu_head *head) >> +static void __zswap_pool_release(struct work_struct *work) >> { >> - struct zswap_pool *pool = container_of(head, typeof(*pool), rcu_head); >> + struct zswap_pool *pool = container_of(work, typeof(*pool), work); >> + >> + synchronize_rcu(); >> >> /* nobody should have been able to get a kref... */ >> WARN_ON(kref_get_unless_zero(&pool->kref)); >> @@ -674,7 +676,9 @@ static void __zswap_pool_empty(struct kr >> WARN_ON(pool == zswap_pool_current()); >> >> list_del_rcu(&pool->list); >> - call_rcu(&pool->rcu_head, __zswap_pool_release); >> + >> + INIT_WORK(&pool->work, __zswap_pool_release); >> + schedule_work(&pool->work); >> >> spin_unlock(&zswap_pools_lock); >> } >> _ >> >> Patches currently in -mm which might be from ddstreet@ieee.org are >> >> mm-zpool-use-workqueue-for-zpool_destroy.patch >> mm-zswap-use-workqueue-to-destroy-pool.patch > > I think only mm-zswap-use-workqueue-to-destroy-pool.patch is > needed. yep, please drop mm-zpool-use-workqueue-for-zpool_destroy.patch thanks! > > -ss ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-04-27 8:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <571fff47.caCgiy6gTD/vCFnv%akpm@linux-foundation.org>
2016-04-27 5:40 ` + mm-zswap-use-workqueue-to-destroy-pool.patch added to -mm tree Sergey Senozhatsky
2016-04-27 8:15 ` Dan Streetman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox