[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <192a9dac-921f-e222-3a7d-32d43679cd12@de.ibm.com>
Date: Tue, 24 Jul 2018 10:53:39 +0200
From: Christian Borntraeger <borntraeger@...ibm.com>
To: Huaisheng Ye <yehs2007@...o.com>, linux-nvdimm@...ts.01.org,
dan.j.williams@...el.com
Cc: ross.zwisler@...ux.intel.com, willy@...radead.org,
vishal.l.verma@...el.com, dave.jiang@...el.com,
schwidefsky@...ibm.com, heiko.carstens@...ibm.com,
viro@...iv.linux.org.uk, martin.petersen@...cle.com,
axboe@...nel.dk, gregkh@...uxfoundation.org,
bart.vanassche@....com, jack@...e.cz, linux-kernel@...r.kernel.org,
linux-s390@...r.kernel.org, linux-fsdevel@...r.kernel.org,
chengnt@...ovo.com, Huaisheng Ye <yehs1@...ovo.com>
Subject: Re: [PATCH 3/5] s390, dcssblk: Allow a NULL-kaddr to
->direct_access()
On 07/24/2018 10:45 AM, Huaisheng Ye wrote:
> From: Huaisheng Ye <yehs1@...ovo.com>
>
> dcssblk_direct_access() needs to check the validity of second rank
> pointer kaddr for NULL assignment. If kaddr equals to NULL, it
> doesn't need to calculate the value.
>
> Signed-off-by: Huaisheng Ye <yehs1@...ovo.com>
> ---
> drivers/s390/block/dcssblk.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/s390/block/dcssblk.c b/drivers/s390/block/dcssblk.c
> index 0a312e4..9c13dc5 100644
> --- a/drivers/s390/block/dcssblk.c
> +++ b/drivers/s390/block/dcssblk.c
> @@ -915,7 +915,8 @@ static DEVICE_ATTR(save, S_IWUSR | S_IRUSR, dcssblk_save_show,
> unsigned long dev_sz;
>
> dev_sz = dev_info->end - dev_info->start + 1;
> - *kaddr = (void *) dev_info->start + offset;
> + if (kaddr)
> + *kaddr = (void *) dev_info->start + offset;
So you are trading of a load + add (dev_info->start should be cache hot) against a
compare+branch . Not sure that this is always a win.
> *pfn = __pfn_to_pfn_t(PFN_DOWN(dev_info->start + offset),
> PFN_DEV|PFN_SPECIAL);
>
>
Powered by blists - more mailing lists