lkml.org 
[lkml]   [2018]   [Jul]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 3/5] s390, dcssblk: Allow a NULL-kaddr to ->direct_access()
    From
    Date


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

    \
     
     \ /
      Last update: 2018-07-24 10:54    [W:3.282 / U:0.836 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site