On 7/20/07, rae l <crquan@xxxxxxxxx> wrote:Yes, I have same suspicion with original code.
On 7/20/07, Dave Young <hidave.darkstar@xxxxxxxxx> wrote:
> > - if (page && zeroing && count < PAGE_SIZE) {
> > - void *mapaddr = kmap_atomic(page, KM_USER1);
> > - memset(mapaddr, 0, PAGE_SIZE);
> > - kunmap_atomic(mapaddr, KM_USER1);
> > - }
> > + if (page && zeroing && count < PAGE_SIZE)
> > + zero_user_page(page, 0, PAGE_SIZE, KM_USER1);
> Why clear all page? IMHO,only count bytes need to be cleared.
The original one is memset(mapaddr, 0, PAGE_SIZE), namely clear the whole page.
-
--
Denis Cheng
Linux Application Developer
"One of my most productive days was throwing away 1000 lines of code."
- Ken Thompson.