[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 11 Nov 2015 15:11:17 -0700
From: Jens Axboe <axboe@...nel.dk>
To: Matias Bjørling <m@...rling.me>,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: axboe@...com
Subject: Re: [PATCH] null_blk: Register as a LightNVM device
On 11/11/2015 02:27 PM, Jens Axboe wrote:
> On 11/11/2015 03:06 AM, Matias Bjørling wrote:
>> Add support for registering as a LightNVM device. This allows us to
>> evaluate the performance of the LightNVM library.
>>
>> In /drivers/Makefile, LightNVM is moved above block device drivers
>> to make sure that the LightNVM media managers have been initialized
>> before drivers under /drivers/block are initialized.
>
> Generally looks ok. One question:
>
>> +static void *null_lnvm_create_dma_pool(struct request_queue *q, char
>> *name)
>> +{
>> + mempool_t *virtmem_pool;
>> +
>> + ppa_cache = kmem_cache_create(name, PAGE_SIZE, 0, 0, NULL);
>> + if (!ppa_cache) {
>> + pr_err("null_nvm: Unable to create kmem cache\n");
>> + return NULL;
>> + }
>> +
>> + virtmem_pool = mempool_create_slab_pool(64, ppa_cache);
>> + if (!virtmem_pool) {
>> + pr_err("null_nvm: Unable to create virtual memory pool\n");
>> + return NULL;
>> + }
>> +
>> + return virtmem_pool;
>> +}
>
> Why create a slab cache if it's pages? Why not just have the mempool
> alloc/free alloc single pages?
Ala attached. Also fixes a leak of not freeing the ppa_cache slab cache.
Did you try and load/reload the module? I'm thinking it would have crashed.
--
Jens Axboe
View attachment "null-lightnvm" of type "text/plain" (1272 bytes)
Powered by blists - more mailing lists