[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56B1B5E0.5020203@lightnvm.io>
Date: Wed, 3 Feb 2016 09:10:08 +0100
From: Matias Bjørling <mb@...htnvm.io>
To: Javier González <jg@...htnvm.io>
Cc: linux-kernel@...r.kernel.org, linux-block@...r.kernel.org,
Javier González <javier@...xlabs.com>
Subject: Re: [PATCH] lightnvm: invalidate addresses on multipage fail
On 02/01/2016 02:10 PM, Javier González wrote:
> If a page mapping fails when mapping several pages in a single write bio
> request, make sure that already mapped pages are invalidated. Since
> other legit mappings coming from a different bio request might have
> occurred, rolling back the failed bio is a difficult, unnecessary
> overhead; in part because when a mapping fails something bad has
> happened already. Still, invalidating pages in the failed bio will help
> GC.
>
> Signed-off-by: Javier González <javier@...xlabs.com>
> ---
> drivers/lightnvm/rrpc.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/lightnvm/rrpc.c b/drivers/lightnvm/rrpc.c
> index c4d0b04..29befe9 100644
> --- a/drivers/lightnvm/rrpc.c
> +++ b/drivers/lightnvm/rrpc.c
> @@ -730,6 +730,7 @@ static int rrpc_read_ppalist_rq(struct rrpc *rrpc, struct bio *bio,
> } else {
> BUG_ON(is_gc);
> rrpc_unlock_laddr(rrpc, r);
> + rrpc_invalidate_range(rrpc, laddr, i + 1);
> nvm_dev_dma_free(rrpc->dev, rqd->ppa_list,
> rqd->dma_ppa_list);
> return NVM_IO_DONE;
>
I'm not sure I understand this. This is in the read path, why would it
need to invalidate pages if a page is not mapped?
Powered by blists - more mailing lists