Re: [PATCH] low-latency zap_page_range

Pete Zaitcev
2002-07-21T02:44:32Z

> The lock hold time in zap_page_range is horrid. This patch breaks the
> work up into chunks and relinquishes the lock after each iteration.
> This drastically lowers latency by creating a preemption point, as well
> as lowering lock contention.

> void zap_page_range(struct vm_area_struct *vma, unsigned long address, unsigned long size)

Arjan sent me something similar, done by AKPM, only he did this a
little differently. He added an argument to zap_page_range
which allowed to work it in the old way, if set. Then, he set it so
all places would use low latency EXCEPT a reading from /dev/zero.
I assume it was some locking somewhere in devices/char/mem.c,
though I was unable to figure which in particular.

Andrew, care to unconfuse me?

-- Pete