The thread level parallelism would be a bottleneck when searching for the shared pmd by using hugetlbfs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
In Progress
|
High
|
Gavin Guo | ||
Bionic |
Fix Released
|
High
|
Gavin Guo | ||
Eoan |
Fix Released
|
High
|
Gavin Guo | ||
Focal |
Fix Released
|
High
|
Gavin Guo |
Bug Description
[Impact]
There is performance overhead observed when many threads
are using hugetlbfs in the database environment.
[Fix]
bdfbd98bc018 hugetlbfs: take read_lock on i_mmap for PMD sharing
The patch improves the locking by using the read lock instead of the
write lock. And it allows multiple threads searching the suitable shared
VMA. As there is no modification inside the searching process. The
improvement increases the parallelism and decreases the waiting time of
the other threads.
[Test]
The customer stand-up a database with seed data. Then they have a
loading "driver" which makes a bunch of connections that look like user
workflows from the database perspective. Finally, the measuring response
times improvement can be observed for these "users" as well as various
other metrics at the database level.
[Regression Potential]
The modification is only in replacing the write lock to a read one. And
there is no modification inside the loop. The regression probability is
low.
CVE References
Changed in linux (Ubuntu Bionic): | |
importance: | Medium → High |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Eoan): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Bionic): | |
assignee: | nobody → Gavin Guo (mimi0213kimo) |
Changed in linux (Ubuntu Focal): | |
status: | Triaged → In Progress |
importance: | Medium → High |
Changed in linux (Ubuntu Eoan): | |
importance: | Medium → High |
Changed in linux (Ubuntu): | |
importance: | Medium → High |
Changed in linux (Ubuntu Eoan): | |
assignee: | nobody → Gavin Guo (mimi0213kimo) |
Changed in linux (Ubuntu Focal): | |
assignee: | nobody → Gavin Guo (mimi0213kimo) |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Eoan): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
tags: |
added: verification-done-eoan removed: verification-needed-eoan |
tags: |
added: verification-done-bionic verification-done-focal removed: verification-needed-bionic verification-needed-focal |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1882039
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.