On Wed, Sep 18, 2019, 8:49 PM Aneesh Kumar K.V <aneesh.kumar(a)linux.ibm.com>
On 9/19/19 4:05 AM, Dan Williams wrote:
> On Tue, Sep 17, 2019 at 8:25 AM Aneesh Kumar K.V
> <aneesh.kumar(a)linux.ibm.com> wrote:
>> We do check for a bad block during namespace init and that use
>> region bad block list. We need to initialize the bad block
>> for volatile regions for this to work. We also observe a lockdep
>> warning as below because the lock is not initialized correctly
>> since we skip bad block init for volatile regions.
>> INFO: trying to register non-static key.
>> the code is fine but needs lockdep annotation.
>> turning off the locking correctness validator.
>> CPU: 2 PID: 1 Comm: swapper/0 Not tainted
>> Call Trace:
>> [c0000000f95cb250] [c00000000147dd84] dump_stack+0xe8/0x164
>> [c0000000f95cb2a0] [c00000000022ccd8] register_lock_class+0x308/0xa60
>> [c0000000f95cb3a0] [c000000000229cc0] __lock_acquire+0x170/0x1ff0
>> [c0000000f95cb4c0] [c00000000022c740] lock_acquire+0x220/0x270
>> [c0000000f95cb580] [c000000000a93230] badblocks_check+0xc0/0x290
>> [c0000000f95cb5f0] [c000000000d97540] nd_pfn_validate+0x5c0/0x7f0
>> [c0000000f95cb6d0] [c000000000d98300] nd_dax_probe+0xd0/0x1f0
>> [c0000000f95cb760] [c000000000d9b66c] nd_pmem_probe+0x10c/0x160
>> [c0000000f95cb790] [c000000000d7f5ec] nvdimm_bus_probe+0x10c/0x240
>> [c0000000f95cb820] [c000000000d0f844] really_probe+0x254/0x4e0
>> [c0000000f95cb8b0] [c000000000d0fdfc] driver_probe_device+0x16c/0x1e0
>> [c0000000f95cb930] [c000000000d10238] device_driver_attach+0x68/0xa0
>> [c0000000f95cb970] [c000000000d1040c] __driver_attach+0x19c/0x1c0
>> [c0000000f95cb9f0] [c000000000d0c4c4] bus_for_each_dev+0x94/0x130
>> [c0000000f95cba50] [c000000000d0f014] driver_attach+0x34/0x50
>> [c0000000f95cba70] [c000000000d0e208] bus_add_driver+0x178/0x2f0
>> [c0000000f95cbb00] [c000000000d117c8] driver_register+0x108/0x170
>> [c0000000f95cbb70] [c000000000d7edb0] __nd_driver_register+0xe0/0x100
>> [c0000000f95cbbd0] [c000000001a6baa4] nd_pmem_driver_init+0x34/0x48
>> [c0000000f95cbbf0] [c0000000000106f4] do_one_initcall+0x1d4/0x4b0
>> [c0000000f95cbcd0] [c0000000019f499c] kernel_init_freeable+0x544/0x65c
>> [c0000000f95cbdb0] [c000000000010d6c] kernel_init+0x2c/0x180
>> [c0000000f95cbe20] [c00000000000b954] ret_from_kernel_thread+0x5c/0x68
>> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar(a)linux.ibm.com>
>> Changes from V1:
>> * update commit subject
> What about the is_nd_pmem() call in nvdimm_clear_badblocks_region()?
Missed that. Yes that also needs an updatet. Will you be able to update
that or you want me to send a V3?
v3 please so it will get superseded in patchwork, and can keep the
correlation between patchwork id and kernel commit.
(sent from my phone, forgive the HTML mail)