Re: [PATCH] nand_base: optimize checking of erased buffers

Pavel Machek
2017-05-17T11:52:14Z

[-- Attachment #1: Type: text/plain, Size: 876 bytes --]

> This is not true for my platform, as the ecc pointer is
> chip->oob_poi + 10
>
> I suppose it's not a problem if the platform can handle
> unaligned loads, otherwise it spells trouble.
>
>
> > + unsigned long d = *((unsigned long *)bitmap);
> > + if (d == ~0UL)
> > + continue;
> > + weight = hweight_long(d);
> > bitflips += BITS_PER_LONG - weight;
> > if (unlikely(bitflips > bitflips_threshold))
> > return -EBADMSG;
> >
>
> The optimization makes sense in itself, but given that it's on an
> error path (?) I'm not sure it will bring any tangible benefits?

Well, if it is critical enough to do magic it does, it is also
important enough not to do expensive bit-counting needlessly...