On 07/24/2018 10:45 AM, Huaisheng Ye wrote: > From: Huaisheng Ye <yehs1@xxxxxxxxxx> > > 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@xxxxxxxxxx> > --- > 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); > > -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html