Skip to content

Commit

Permalink
block: Reorder struct bio_set
Browse files Browse the repository at this point in the history
This is prep work for the next patch, which embeds a struct bio_list in
struct bio_set.

Signed-off-by: Kent Overstreet <koverstreet@google.com>
CC: Jens Axboe <axboe@kernel.dk>
  • Loading branch information
Kent Overstreet committed Mar 23, 2013
1 parent a937536 commit 57fb233
Showing 1 changed file with 33 additions and 33 deletions.
66 changes: 33 additions & 33 deletions include/linux/bio.h
Original file line number Diff line number Diff line change
Expand Up @@ -298,39 +298,6 @@ static inline int bio_associate_current(struct bio *bio) { return -ENOENT; }
static inline void bio_disassociate_task(struct bio *bio) { }
#endif /* CONFIG_BLK_CGROUP */

/*
* bio_set is used to allow other portions of the IO system to
* allocate their own private memory pools for bio and iovec structures.
* These memory pools in turn all allocate from the bio_slab
* and the bvec_slabs[].
*/
#define BIO_POOL_SIZE 2
#define BIOVEC_NR_POOLS 6
#define BIOVEC_MAX_IDX (BIOVEC_NR_POOLS - 1)

struct bio_set {
struct kmem_cache *bio_slab;
unsigned int front_pad;

mempool_t *bio_pool;
#if defined(CONFIG_BLK_DEV_INTEGRITY)
mempool_t *bio_integrity_pool;
#endif
mempool_t *bvec_pool;
};

struct biovec_slab {
int nr_vecs;
char *name;
struct kmem_cache *slab;
};

/*
* a small number of entries is fine, not going to be performance critical.
* basically we just need to survive
*/
#define BIO_SPLIT_ENTRIES 2

#ifdef CONFIG_HIGHMEM
/*
* remember never ever reenable interrupts between a bvec_kmap_irq and
Expand Down Expand Up @@ -527,6 +494,39 @@ static inline struct bio *bio_list_get(struct bio_list *bl)
return bio;
}

/*
* bio_set is used to allow other portions of the IO system to
* allocate their own private memory pools for bio and iovec structures.
* These memory pools in turn all allocate from the bio_slab
* and the bvec_slabs[].
*/
#define BIO_POOL_SIZE 2
#define BIOVEC_NR_POOLS 6
#define BIOVEC_MAX_IDX (BIOVEC_NR_POOLS - 1)

struct bio_set {
struct kmem_cache *bio_slab;
unsigned int front_pad;

mempool_t *bio_pool;
#if defined(CONFIG_BLK_DEV_INTEGRITY)
mempool_t *bio_integrity_pool;
#endif
mempool_t *bvec_pool;
};

struct biovec_slab {
int nr_vecs;
char *name;
struct kmem_cache *slab;
};

/*
* a small number of entries is fine, not going to be performance critical.
* basically we just need to survive
*/
#define BIO_SPLIT_ENTRIES 2

#if defined(CONFIG_BLK_DEV_INTEGRITY)

#define bip_vec_idx(bip, idx) (&(bip->bip_vec[(idx)]))
Expand Down

0 comments on commit 57fb233

Please sign in to comment.