]> git.baikalelectronics.ru Git - kernel.git/commit
sched/wait: Introduce wakeup boomark in wake_up_page_bit
authorTim Chen <tim.c.chen@linux.intel.com>
Fri, 25 Aug 2017 16:13:55 +0000 (09:13 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 14 Sep 2017 16:56:18 +0000 (09:56 -0700)
commitc6c100051af3c185f076ce059bea6126fd93f6c0
treef1b357ea18df807c38355591ff929aaf4bb3e3f0
parent7ff2654a872fad35240533ce4488fef59804d1da
sched/wait: Introduce wakeup boomark in wake_up_page_bit

Now that we have added breaks in the wait queue scan and allow bookmark
on scan position, we put this logic in the wake_up_page_bit function.

We can have very long page wait list in large system where multiple
pages share the same wait list. We break the wake up walk here to allow
other cpus a chance to access the list, and not to disable the interrupts
when traversing the list for too long.  This reduces the interrupt and
rescheduling latency, and excessive page wait queue lock hold time.

[ v2: Remove bookmark_wake_function ]

Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/wait.h
kernel/sched/wait.c
mm/filemap.c