lkml.org 
[lkml]   [2012]   [Aug]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v7 8/9] block: Reorder struct bio_set
    Date
    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>
    ---
    include/linux/bio.h | 66 ++++++++++++++++++++++++++---------------------------
    1 file changed, 33 insertions(+), 33 deletions(-)

    diff --git a/include/linux/bio.h b/include/linux/bio.h
    index f9b61b4..3a8345e 100644
    --- a/include/linux/bio.h
    +++ b/include/linux/bio.h
    @@ -299,39 +299,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
    @@ -506,6 +473,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)]))
    --
    1.7.12


    \
     
     \ /
      Last update: 2012-08-28 20:21    [W:4.160 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site