函数源码 |
Source File:fs\aio.c |
Create Date:2022-07-29 10:53:20 |
首页 | Copyright©Brick |
576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 | /* * free_ioctx() should be RCU delayed to synchronize against the RCU * protected lookup_ioctx() and also needs process context to call * aio_free_ring(). Use rcu_work. */ static void free_ioctx( struct work_struct *work) { struct kioctx *ctx = container_of(to_rcu_work(work), struct kioctx, free_rwork); pr_debug( "freeing %p\n" , ctx); aio_free_ring(ctx); free_percpu(ctx->cpu); percpu_ref_exit(&ctx->reqs); percpu_ref_exit(&ctx->users); kmem_cache_free(kioctx_cachep, ctx); } |