Re: [PATH 6.1.y 0/5] Backport "sched cpuset: Bring back cpuset_mutex"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 2023-08-31 14:31, Luiz Capitulino wrote:


On 2023-08-31 14:22, Greg KH wrote:




On Thu, Aug 31, 2023 at 06:13:01PM +0000, Luiz Capitulino wrote:
Hi,

When using KVM on systems that require iTLB multihit mitigation enabled[1],
we're observing very high latency (70ms+) in KVM_CREATE_VM ioctl() in 6.1
kernel in comparison to older stable kernels such as 5.10. This is true even
when using favordynmods mount option.

We debugged this down to the cpuset controller trying to acquire cpuset_rwsem
in cpuset_can_attach(). This happens because KVM creates a worker thread which
calls cgroup_attach_task_all() during KVM_CREATE_VM. I don't know if
favordynmods is supposed to cover this case or not, but removing cpuset_rwsem
certainly solves the issue.

For the backport I tried to pick as many dependent commits as required to avoid
conflicts. I would highly appreciate review from cgroup people.

Tests performed:
  * Measured latency in KVM_CREATE_VM ioctl(), it goes down to less than 1ms
  * Ran the cgroup kselftest tests, got same results with or without this series
     * However, some tests such as test_memcontrol and test_kmem are failing
       in 6.1. This probably needs to be looked at
     * To make test_cpuset_prs.sh work, I had to increase the timeout on line
       592 to 1 second. With this change, the test runs and passes
  * I run our downstream test suite against our downstream 6.1 kernel with this
    series applied, it passed

  [1] For the case where the CPU is not vulnerable to iTLB multihit we can
      simply disable the iTLB multihit mitigation in KVM which avoids this
      whole situation. Disabling the mitigation is possible since upstream
      commit 0b210faf337 which I plan to backport soon

Please try 6.1.50, I think you will find that this issue is resolved
there, right?

It should, since the most important is dropping cpuset_rwsem from
cpuset. I'll double check to be sure.

Quick test passed. We'll be doing more testing in the next days and I'll
report if there are any issues.

- Luiz


Thank you very much for the quick reply. I queued this series before my
vacation and didn't check back before sending it today.

- Luiz


if not, please rebase your series on top of that, as obviously, it does
not still apply anymore.

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux