Searched refs:prison (Results 1 - 7 of 7) sorted by relevance

/linux-master/drivers/md/
H A Ddm-bio-prison-v2.c9 #include "dm-bio-prison-v2.h"
39 struct dm_bio_prison_v2 *prison = kzalloc(sizeof(*prison), GFP_KERNEL); local
42 if (!prison)
45 prison->wq = wq;
46 spin_lock_init(&prison->lock);
48 ret = mempool_init_slab_pool(&prison->cell_pool, MIN_CELLS, _cell_cache);
50 kfree(prison);
54 prison->cells = RB_ROOT;
56 return prison;
60 dm_bio_prison_destroy_v2(struct dm_bio_prison_v2 *prison) argument
67 dm_bio_prison_alloc_cell_v2(struct dm_bio_prison_v2 *prison, gfp_t gfp) argument
73 dm_bio_prison_free_cell_v2(struct dm_bio_prison_v2 *prison, struct dm_bio_prison_cell_v2 *cell) argument
115 __find_or_insert(struct dm_bio_prison_v2 *prison, struct dm_cell_key_v2 *key, struct dm_bio_prison_cell_v2 *cell_prealloc, struct dm_bio_prison_cell_v2 **result) argument
150 __get(struct dm_bio_prison_v2 *prison, struct dm_cell_key_v2 *key, unsigned int lock_level, struct bio *inmate, struct dm_bio_prison_cell_v2 *cell_prealloc, struct dm_bio_prison_cell_v2 **cell) argument
173 dm_cell_get_v2(struct dm_bio_prison_v2 *prison, struct dm_cell_key_v2 *key, unsigned int lock_level, struct bio *inmate, struct dm_bio_prison_cell_v2 *cell_prealloc, struct dm_bio_prison_cell_v2 **cell_result) argument
190 __put(struct dm_bio_prison_v2 *prison, struct dm_bio_prison_cell_v2 *cell) argument
212 dm_cell_put_v2(struct dm_bio_prison_v2 *prison, struct dm_bio_prison_cell_v2 *cell) argument
226 __lock(struct dm_bio_prison_v2 *prison, struct dm_cell_key_v2 *key, unsigned int lock_level, struct dm_bio_prison_cell_v2 *cell_prealloc, struct dm_bio_prison_cell_v2 **cell_result) argument
257 dm_cell_lock_v2(struct dm_bio_prison_v2 *prison, struct dm_cell_key_v2 *key, unsigned int lock_level, struct dm_bio_prison_cell_v2 *cell_prealloc, struct dm_bio_prison_cell_v2 **cell_result) argument
273 __quiesce(struct dm_bio_prison_v2 *prison, struct dm_bio_prison_cell_v2 *cell, struct work_struct *continuation) argument
283 dm_cell_quiesce_v2(struct dm_bio_prison_v2 *prison, struct dm_bio_prison_cell_v2 *cell, struct work_struct *continuation) argument
293 __promote(struct dm_bio_prison_v2 *prison, struct dm_bio_prison_cell_v2 *cell, unsigned int new_lock_level) argument
304 dm_cell_lock_promote_v2(struct dm_bio_prison_v2 *prison, struct dm_bio_prison_cell_v2 *cell, unsigned int new_lock_level) argument
318 __unlock(struct dm_bio_prison_v2 *prison, struct dm_bio_prison_cell_v2 *cell, struct bio_list *bios) argument
336 dm_cell_unlock_v2(struct dm_bio_prison_v2 *prison, struct dm_bio_prison_cell_v2 *cell, struct bio_list *bios) argument
[all...]
H A Ddm-bio-prison-v1.h20 * Sometimes we can't deal with a bio straight away. We put them in prison
61 void dm_bio_prison_destroy(struct dm_bio_prison *prison);
65 * Eventually all bio prison clients should manage their own cell memory.
70 struct dm_bio_prison_cell *dm_bio_prison_alloc_cell(struct dm_bio_prison *prison,
72 void dm_bio_prison_free_cell(struct dm_bio_prison *prison,
81 int dm_get_cell(struct dm_bio_prison *prison,
97 int dm_bio_detain(struct dm_bio_prison *prison,
103 void dm_cell_release(struct dm_bio_prison *prison,
106 void dm_cell_release_no_holder(struct dm_bio_prison *prison,
109 void dm_cell_error(struct dm_bio_prison *prison,
[all...]
H A Ddm-bio-prison-v2.h24 * Sometimes we can't deal with a bio straight away. We put them in prison
58 void dm_bio_prison_destroy_v2(struct dm_bio_prison_v2 *prison);
62 * Eventually all bio prison clients should manage their own cell memory.
67 struct dm_bio_prison_cell_v2 *dm_bio_prison_alloc_cell_v2(struct dm_bio_prison_v2 *prison,
69 void dm_bio_prison_free_cell_v2(struct dm_bio_prison_v2 *prison,
88 bool dm_cell_get_v2(struct dm_bio_prison_v2 *prison,
99 bool dm_cell_put_v2(struct dm_bio_prison_v2 *prison,
116 int dm_cell_lock_v2(struct dm_bio_prison_v2 *prison,
122 void dm_cell_quiesce_v2(struct dm_bio_prison_v2 *prison,
134 int dm_cell_lock_promote_v2(struct dm_bio_prison_v2 *prison,
[all...]
H A Ddm-bio-prison-v1.c9 #include "dm-bio-prison-v1.h"
10 #include "dm-bio-prison-v2.h"
44 struct dm_bio_prison *prison; local
47 prison = kzalloc(struct_size(prison, regions, num_locks), GFP_KERNEL);
48 if (!prison)
50 prison->num_locks = num_locks;
52 for (i = 0; i < prison->num_locks; i++) {
53 spin_lock_init(&prison->regions[i].lock);
54 prison
67 dm_bio_prison_destroy(struct dm_bio_prison *prison) argument
74 dm_bio_prison_alloc_cell(struct dm_bio_prison *prison, gfp_t gfp) argument
80 dm_bio_prison_free_cell(struct dm_bio_prison *prison, struct dm_bio_prison_cell *cell) argument
175 bio_detain(struct dm_bio_prison *prison, struct dm_cell_key *key, struct bio *inmate, struct dm_bio_prison_cell *cell_prealloc, struct dm_bio_prison_cell **cell_result) argument
191 dm_bio_detain(struct dm_bio_prison *prison, struct dm_cell_key *key, struct bio *inmate, struct dm_bio_prison_cell *cell_prealloc, struct dm_bio_prison_cell **cell_result) argument
201 dm_get_cell(struct dm_bio_prison *prison, struct dm_cell_key *key, struct dm_bio_prison_cell *cell_prealloc, struct dm_bio_prison_cell **cell_result) argument
226 dm_cell_release(struct dm_bio_prison *prison, struct dm_bio_prison_cell *cell, struct bio_list *bios) argument
249 dm_cell_release_no_holder(struct dm_bio_prison *prison, struct dm_bio_prison_cell *cell, struct bio_list *inmates) argument
262 dm_cell_error(struct dm_bio_prison *prison, struct dm_bio_prison_cell *cell, blk_status_t error) argument
278 dm_cell_visit_release(struct dm_bio_prison *prison, void (*visit_fn)(void *, struct dm_bio_prison_cell *), void *context, struct dm_bio_prison_cell *cell) argument
303 dm_cell_promote_or_release(struct dm_bio_prison *prison, struct dm_bio_prison_cell *cell) argument
[all...]
H A DMakefile19 dm-bio-prison-y += dm-bio-prison-v1.o dm-bio-prison-v2.o
52 obj-$(CONFIG_DM_BIO_PRISON) += dm-bio-prison.o
H A Ddm-cache-target.c9 #include "dm-bio-prison-v2.h"
374 struct dm_bio_prison_v2 *prison; member in struct:cache
467 return dm_bio_prison_alloc_cell_v2(cache->prison, GFP_NOIO);
472 dm_bio_prison_free_cell_v2(cache->prison, cell);
588 r = dm_cell_get_v2(cache->prison, &key, lock_level(bio), bio, cell_prealloc, &cell);
1075 dm_cell_quiesce_v2(mg->cache->prison, mg->cell, &mg->k.ws);
1118 if (pb->cell && dm_cell_put_v2(cache->prison, pb->cell))
1219 if (dm_cell_unlock_v2(cache->prison, mg->cell, &bios))
1327 r = dm_cell_lock_promote_v2(mg->cache->prison, mg->cell,
1408 r = dm_cell_lock_v2(cache->prison,
[all...]
H A Ddm-thin.c9 #include "dm-bio-prison-v1.h"
250 struct dm_bio_prison *prison; member in struct:pool
450 * Allocate a cell from the prison's mempool.
453 cell_prealloc = dm_bio_prison_alloc_cell(pool->prison, GFP_NOIO);
455 r = dm_bio_detain(pool->prison, key, bio, cell_prealloc, cell_result);
461 dm_bio_prison_free_cell(pool->prison, cell_prealloc);
471 dm_cell_release(pool->prison, cell, bios);
472 dm_bio_prison_free_cell(pool->prison, cell);
480 dm_cell_visit_release(pool->prison, fn, context, cell);
481 dm_bio_prison_free_cell(pool->prison, cel
[all...]

Completed in 152 milliseconds