Hardy CPU physical hot plugging is broken
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Fedora) |
Fix Released
|
Medium
|
|||
linux (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Hardy |
Fix Released
|
Undecided
|
Unassigned | ||
Intrepid |
Invalid
|
Undecided
|
Unassigned |
Bug Description
In the mainline kernel there are some deadlock issues when hot removing a
processor. This issues were discussed in detail at:
https:/
These 7 commits fix CPU hotplug:
ba62b077871a525
63d38198a0f57dc
2f67a0695dc3892
087803d18fb8259
3d5ed99657e93cd
89d675d0f987534
ad7f0d9feee6980
Changed in linux: | |
status: | Unknown → Confirmed |
Changed in linux: | |
status: | New → Invalid |
Changed in linux: | |
status: | Confirmed → In Progress |
Changed in linux: | |
status: | In Progress → Unknown |
Changed in linux: | |
status: | Unknown → Fix Committed |
Changed in linux (Fedora): | |
status: | Fix Committed → Fix Released |
Changed in linux (Fedora): | |
importance: | Unknown → Medium |
Description of problem:
There have been a series of patches committed to the mainline kernel
recently that address a performance issue for gettimeofday when running
on hypervisors that enable hardware assisted virtualization. The
non-ideal performance occurs because a CPUID instruction is used to
serialize the pipeline before RDTSC, and when using hardware
virtualization, CPUID always exits to the hypervisor.
The code in question also exists in the RHEL 5.2 64-bit kernel (see asm-x86_ 64/timex. h).
get_cycles_sync in include/
The fix is to use MFENCE/LFENCE instead of CPUID. Here are links to
relevant patches by Andi Kleen which are now in git:
http:// git.kernel. org/?p= linux/kernel/ git/torvalds/ linux-2. 6.git;a= commit; h=de4218634e3df 6d73a3e6cdfdf3a 17fa3bc7e013 git.kernel. org/?p= linux/kernel/ git/torvalds/ linux-2. 6.git;a= commit; h=707fa8ed923b1 b6a3d7af0d386b0 b3abad28ed19 git.kernel. org/?p= linux/kernel/ git/torvalds/ linux-2. 6.git;a= commit; h=fde1b3fa947c2 512e3715962ebb1 d3a6a9b9bb7d git.kernel. org/?p= linux/kernel/ git/torvalds/ linux-2. 6.git;a= commit; h=6d63de8dbcda9 8511206897562ec fcdacf18f523 git.kernel. org/?p= linux/kernel/ git/torvalds/ linux-2. 6.git;a= commit; h=f06e4ec1c1569 1b0cfd2397ae322 14fa36c90d71
http://
http://
http://
http://
Would you be able to make a similar change to the RHEL 5.2 kernel, to
address this issue ?
Thanks,
Alok