lkml.org 
[lkml]   [2014]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v7 22/22] brd: Rename XIP to DAX
    On Sun 23-03-14 15:08:48, Matthew Wilcox wrote:
    > From: Matthew Wilcox <willy@linux.intel.com>
    >
    > Since this is relating to FS_XIP, not KERNEL_XIP, it should be called
    > DAX instead of XIP.
    >
    > Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
    Looks good. You can add:
    Reviewed-by: Jan Kara <jack@suse.cz>

    Honza
    > ---
    > drivers/block/Kconfig | 13 +++++++------
    > drivers/block/brd.c | 14 +++++++-------
    > fs/Kconfig | 4 ++--
    > 3 files changed, 16 insertions(+), 15 deletions(-)
    >
    > diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
    > index 014a1cf..1b8094d 100644
    > --- a/drivers/block/Kconfig
    > +++ b/drivers/block/Kconfig
    > @@ -393,14 +393,15 @@ config BLK_DEV_RAM_SIZE
    > The default value is 4096 kilobytes. Only change this if you know
    > what you are doing.
    >
    > -config BLK_DEV_XIP
    > - bool "Support XIP filesystems on RAM block device"
    > - depends on BLK_DEV_RAM
    > +config BLK_DEV_RAM_DAX
    > + bool "Support Direct Access (DAX) to RAM block devices"
    > + depends on BLK_DEV_RAM && FS_DAX
    > default n
    > help
    > - Support XIP filesystems (such as ext2 with XIP support on) on
    > - top of block ram device. This will slightly enlarge the kernel, and
    > - will prevent RAM block device backing store memory from being
    > + Support filesystems using DAX to access RAM block devices. This
    > + avoids double-buffering data in the page cache before copying it
    > + to the block device. Answering Y will slightly enlarge the kernel,
    > + and will prevent RAM block device backing store memory from being
    > allocated from highmem (only a problem for highmem systems).
    >
    > config CDROM_PKTCDVD
    > diff --git a/drivers/block/brd.c b/drivers/block/brd.c
    > index 00da60d..619e0e0 100644
    > --- a/drivers/block/brd.c
    > +++ b/drivers/block/brd.c
    > @@ -97,13 +97,13 @@ static struct page *brd_insert_page(struct brd_device *brd, sector_t sector)
    > * Must use NOIO because we don't want to recurse back into the
    > * block or filesystem layers from page reclaim.
    > *
    > - * Cannot support XIP and highmem, because our ->direct_access
    > - * routine for XIP must return memory that is always addressable.
    > - * If XIP was reworked to use pfns and kmap throughout, this
    > + * Cannot support DAX and highmem, because our ->direct_access
    > + * routine for DAX must return memory that is always addressable.
    > + * If DAX was reworked to use pfns and kmap throughout, this
    > * restriction might be able to be lifted.
    > */
    > gfp_flags = GFP_NOIO | __GFP_ZERO;
    > -#ifndef CONFIG_BLK_DEV_XIP
    > +#ifndef CONFIG_BLK_DEV_RAM_DAX
    > gfp_flags |= __GFP_HIGHMEM;
    > #endif
    > page = alloc_page(gfp_flags);
    > @@ -360,7 +360,7 @@ out:
    > bio_endio(bio, err);
    > }
    >
    > -#ifdef CONFIG_BLK_DEV_XIP
    > +#ifdef CONFIG_BLK_DEV_RAM_DAX
    > static long brd_direct_access(struct block_device *bdev, sector_t sector,
    > void **kaddr, unsigned long *pfn, long size)
    > {
    > @@ -383,6 +383,8 @@ static long brd_direct_access(struct block_device *bdev, sector_t sector,
    > * file is mapped to the next page of physical RAM */
    > return PAGE_SIZE;
    > }
    > +#else
    > +#define brd_direct_access NULL
    > #endif
    >
    > static int brd_ioctl(struct block_device *bdev, fmode_t mode,
    > @@ -422,9 +424,7 @@ static int brd_ioctl(struct block_device *bdev, fmode_t mode,
    > static const struct block_device_operations brd_fops = {
    > .owner = THIS_MODULE,
    > .ioctl = brd_ioctl,
    > -#ifdef CONFIG_BLK_DEV_XIP
    > .direct_access = brd_direct_access,
    > -#endif
    > };
    >
    > /*
    > diff --git a/fs/Kconfig b/fs/Kconfig
    > index 620ab73..376bd0a 100644
    > --- a/fs/Kconfig
    > +++ b/fs/Kconfig
    > @@ -34,7 +34,7 @@ source "fs/btrfs/Kconfig"
    > source "fs/nilfs2/Kconfig"
    >
    > config FS_DAX
    > - bool "Direct Access support"
    > + bool "Direct Access (DAX) support"
    > depends on MMU
    > help
    > Direct Access (DAX) can be used on memory-backed block devices.
    > @@ -45,7 +45,7 @@ config FS_DAX
    >
    > If you do not have a block device that is capable of using this,
    > or if unsure, say N. Saying Y will increase the size of the kernel
    > - by about 2kB.
    > + by about 5kB.
    >
    > endif # BLOCK
    >
    > --
    > 1.9.0
    >
    > --
    > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
    > the body of a message to majordomo@vger.kernel.org
    > More majordomo info at http://vger.kernel.org/majordomo-info.html
    --
    Jan Kara <jack@suse.cz>
    SUSE Labs, CR


    \
     
     \ /
      Last update: 2014-04-09 12:41    [W:4.160 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site