[dm-devel] [PATCH] dm-writecache: commit just one block, not a full page

Heinz Mauelshagen heinzm at redhat.com
Mon Jun 7 18:57:23 UTC 2021


On Sun, Jun 6, 2021 at 10:14 PM Mikulas Patocka <mpatocka at redhat.com> wrote:

> When comitting superblock, we need to write just one block, we don't need
> to write full page. Some architectures have pages larger than 4k and
> committing full page is needless overhead.
>
> Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
>
> Index: linux-2.6/drivers/md/dm-writecache.c
> ===================================================================
> --- linux-2.6.orig/drivers/md/dm-writecache.c
> +++ linux-2.6/drivers/md/dm-writecache.c
> @@ -532,11 +532,7 @@ static void ssd_commit_superblock(struct
>
>         region.bdev = wc->ssd_dev->bdev;
>         region.sector = 0;
> -       region.count = PAGE_SIZE >> SECTOR_SHIFT;
> -
> -       if (unlikely(region.sector + region.count > wc->metadata_sectors))
> -               region.count = wc->metadata_sectors - region.sector;
> -
> +       region.count = wc->block_size >> SECTOR_SHIFT;
>

You can use to_sector() here.


>         region.sector += wc->start_sector;
>
>         req.bi_op = REQ_OP_WRITE;
>
> --
> dm-devel mailing list
> dm-devel at redhat.com
> https://listman.redhat.com/mailman/listinfo/dm-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20210607/3834f323/attachment.htm>


More information about the dm-devel mailing list