lkml.org 
[lkml]   [2021]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.10 081/137] dm writecache: commit just one block, not a full page
    Date
    From: Mikulas Patocka <mpatocka@redhat.com>

    [ Upstream commit 991bd8d7bc78966b4dc427b53a144f276bffcd52 ]

    Some architectures have pages larger than 4k and committing a full
    page causes needless overhead.

    Fix this by writing a single block when committing the superblock.

    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/md/dm-writecache.c | 6 +-----
    1 file changed, 1 insertion(+), 5 deletions(-)

    diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c
    index 64c2980aaa54..894b58bbe56e 100644
    --- a/drivers/md/dm-writecache.c
    +++ b/drivers/md/dm-writecache.c
    @@ -532,11 +532,7 @@ static void ssd_commit_superblock(struct dm_writecache *wc)

    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;
    region.sector += wc->start_sector;

    req.bi_op = REQ_OP_WRITE;
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-07-06 14:11    [W:4.885 / U:1.904 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site