#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
#include <linux/export.h>
#include <linux/pagemap.h>
#include <linux/mempool.h>
#include <linux/blkdev.h>
#include <linux/backing-dev.h>
#include <linux/highmem.h>
#include <linux/memblock.h>
#include <linux/printk.h>
#include <asm/tlbflush.h>
#include <trace/events/block.h>
static struct bio_set bounce_bio_set, bounce_bio_split;
static mempool_t page_pool, isa_page_pool;
static void init_bounce_bioset(void)
static bool bounce_bs_setup;
ret = bioset_init(&bounce_bio_set, BIO_POOL_SIZE, 0, BIOSET_NEED_BVECS);
if (bioset_integrity_create(&bounce_bio_set, BIO_POOL_SIZE))
ret = bioset_init(&bounce_bio_split, BIO_POOL_SIZE, 0, 0);
#if defined(CONFIG_HIGHMEM)
static __init int init_emergency_pool(void)
#if defined(CONFIG_HIGHMEM) && !defined(CONFIG_MEMORY_HOTPLUG)
if (max_pfn <= max_low_pfn)
ret = mempool_init_page_pool(&page_pool, POOL_SIZE, 0);
pr_info("pool size: %d pages\n", POOL_SIZE);