On 07/24/2018 10:45 AM, Huaisheng Ye wrote:
> From: Huaisheng Ye <ye...@lenovo.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 <ye...@lenovo.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);
>  
> 

_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to