Message ID | 194fed48-eaf3-065f-9571-7813ad35b098@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] libnvdimm, badrange: replace div_u64_rem with DIV_ROUND_UP | expand |
A gentle ping on 2021/6/26 11:53, Kemeng Shi wrote: > __add_badblock_range use div_u64_rem to round up end_sector and it > will introduces unnecessary rem define and costly '%' operation. > So clean it with DIV_ROUND_UP. > > Signed-off-by: Kemeng Shi <shikemeng@huawei.com> > --- > V1->V2: > -- fix that end_sector is assigned twice, sorry for that. > > drivers/nvdimm/badrange.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/nvdimm/badrange.c b/drivers/nvdimm/badrange.c > index aaf6e215a8c6..af622ae511aa 100644 > --- a/drivers/nvdimm/badrange.c > +++ b/drivers/nvdimm/badrange.c > @@ -187,12 +187,9 @@ static void __add_badblock_range(struct badblocks *bb, u64 ns_offset, u64 len) > const unsigned int sector_size = 512; > sector_t start_sector, end_sector; > u64 num_sectors; > - u32 rem; > > start_sector = div_u64(ns_offset, sector_size); > - end_sector = div_u64_rem(ns_offset + len, sector_size, &rem); > - if (rem) > - end_sector++; > + end_sector = DIV_ROUND_UP(ns_offset + len, sector_size); > num_sectors = end_sector - start_sector; > > if (unlikely(num_sectors > (u64)INT_MAX)) { >
diff --git a/drivers/nvdimm/badrange.c b/drivers/nvdimm/badrange.c index aaf6e215a8c6..af622ae511aa 100644 --- a/drivers/nvdimm/badrange.c +++ b/drivers/nvdimm/badrange.c @@ -187,12 +187,9 @@ static void __add_badblock_range(struct badblocks *bb, u64 ns_offset, u64 len) const unsigned int sector_size = 512; sector_t start_sector, end_sector; u64 num_sectors; - u32 rem; start_sector = div_u64(ns_offset, sector_size); - end_sector = div_u64_rem(ns_offset + len, sector_size, &rem); - if (rem) - end_sector++; + end_sector = DIV_ROUND_UP(ns_offset + len, sector_size); num_sectors = end_sector - start_sector; if (unlikely(num_sectors > (u64)INT_MAX)) {
__add_badblock_range use div_u64_rem to round up end_sector and it will introduces unnecessary rem define and costly '%' operation. So clean it with DIV_ROUND_UP. Signed-off-by: Kemeng Shi <shikemeng@huawei.com> --- V1->V2: -- fix that end_sector is assigned twice, sorry for that. drivers/nvdimm/badrange.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)