[Feature] Break up long walk of wait queue during wake up

Bug #1730840 reported by Alice Liu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
intel
Fix Released
Undecided
Unassigned
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Unassigned

Bug Description

Description

In Fujitsu's acceptance test of 8 socket SKX systems, they found that NMI watchdog timer got triggered in wake_up_page_bit function. The cause is the long hold time of the wait queue lock to do the wake ups and traversal of the wait queue. (see LCK-4265)

We created a patch series to break up the long traversal of the wait queue in wake_up_page_bit. We bookmark the position in the wait queue after reaching a threshold of wake ups, and release the wait queue lock to allow other tasks blocked a chance to run (e.g. async wake up to remove itself from wake queue in finish_wait). Then we resume from the bookmarked location. This fixes the long spin lock hold time which triggered the watchdog timer.

Target Kernel: 4.14
Target Release: 18.04

Tags: kernel
Revision history for this message
Alice Liu (dxliu) wrote :

Merged in kernel v4.14-rc1.
These are commit ids:
11a19c7b099f96d00a8dec52bfbb8475e89b6745
2554db916586b228ce93e6f74a12fd7fe430a004

information type: Proprietary → Private
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

4.15 is now available in Bionic. Marking this Fix Released.

information type: Private → Public
tags: added: kernel
Changed in linux (Ubuntu Bionic):
status: New → Fix Released
Changed in intel:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.