[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1462976710.27137.140.camel@hpe.com>
Date: Wed, 11 May 2016 08:25:10 -0600
From: Toshi Kani <toshi.kani@....com>
To: Jan Kara <jack@...e.cz>
Cc: dan.j.williams@...el.com, david@...morbit.com,
viro@...iv.linux.org.uk, axboe@...com, hch@...radead.org,
boaz@...xistor.com, tytso@....edu, adilger.kernel@...ger.ca,
ross.zwisler@...ux.intel.com, micah.parrish@....com,
linux-nvdimm@...ts.01.org, linux-fsdevel@...r.kernel.org,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 6/6] block: Update blkdev_dax_capable() for
consistency
On Wed, 2016-05-11 at 10:05 +0200, Jan Kara wrote:
> On Tue 10-05-16 10:23:57, Toshi Kani wrote:
> >
> > blkdev_dax_capable() is similar to bdev_dax_supported(), but needs
> > to remain as a separate interface for checking dax capability of
> > a raw block device.
> >
> > Rename and relocate blkdev_dax_capable() to keep them maintained
> > consistently, and call bdev_direct_access() for the dax capability
> > check.
> ...
> >
> > +bool bdev_dax_capable(struct block_device *bdev)
> > +{
> > + struct gendisk *disk = bdev->bd_disk;
> > + struct blk_dax_ctl dax = {
> > + .size = PAGE_SIZE,
> > + };
> > +
> > + if (!IS_ENABLED(CONFIG_FS_DAX))
> > + return false;
>
> Frankly, I prefer the #ifdef CONFIG_FS_DAX and just compile the code out
> when DAX is not enabled (like it was with blkdev_dax_capable()). That way
> we don't grow the kernel for people who don't care about DAX.
When CONFIG_FS_DAX is not set, the rest of the code is optimized out. So,
I think the code size is the same.
(gdb) disas bdev_dax_capable
Dump of assembler code for function bdev_dax_capable:
0xffffffff81260d20 <+0>: callq 0xffffffff81813c30 <__fentry__>
0xffffffff81260d25 <+5>: push %rbp
0xffffffff81260d26 <+6>: xor %eax,%eax
0xffffffff81260d28 <+8>: mov %rsp,%rbp
0xffffffff81260d2b <+11>: pop %rbp
0xffffffff81260d2c <+12>: retq
End of assembler dump.
Thanks,
-Toshi
Powered by blists - more mailing lists