group.of.nepali.translators team mailing list archive
-
group.of.nepali.translators team
-
Mailing list archive
-
Message #19451
[Bug 1729412] Re: TLB updates from 4.14 for linux-azure
** Also affects: linux-azure (Ubuntu Xenial)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1729412
Title:
TLB updates from 4.14 for linux-azure
Status in linux-azure package in Ubuntu:
In Progress
Status in linux-azure source package in Xenial:
New
Bug description:
This request is based on a patch series from linux-next:
commit ab7ff471aa5db670197070760f022622793da7e5
Author: Marcelo Henrique Cerri <marcelo.cerri@xxxxxxxxxxxxx>
Date: Thu Oct 5 10:34:29 2017 -0300
x86/hyperv: Fix hypercalls with extended CPU ranges for TLB
flushing
Do not consider the fixed size of hv_vp_set when passing the variable
header size to hv_do_rep_hypercall().
The Hyper-V hypervisor specification states that for a hypercall with a
variable header only the size of the variable portion should be supplied
via the input control.
For HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE_EX/LIST_EX calls that means the
fixed portion of hv_vp_set should not be considered.
That fixes random failures of some applications that are unexpectedly
killed with SIGBUS or SIGSEGV.
commit 60d73a7c96601434dfdb56d5b9167ff3b850d8d7
Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Date: Thu Oct 5 13:39:24 2017 +0200
x86/hyperv: Don't use percpu areas for pcpu_flush/pcpu_flush_ex
structures
hv_do_hypercall() does virt_to_phys() translation and with some configs
(CONFIG_SLAB) this doesn't work for percpu areas, we pass wrong memory to
hypervisor and get #GP. We could use working slow_virt_to_phys() instead
but doing so kills the performance.
Move pcpu_flush/pcpu_flush_ex structures out of percpu areas and
allocate memory on first call. The additional level of indirection gives
us a small performance penalty, in future we may consider introducing
hypercall functions which avoid virt_to_phys() conversion and cache
physical addresses of pcpu_flush/pcpu_flush_ex structures somewhere.
commit a3b7424392924e778b608e30ee321f7b10cc94b8
Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Date: Fri Oct 6 17:48:54 2017 +0200
x86/hyperv: Clear vCPU banks between calls to avoid flushing
unneeded vCPUs
hv_flush_pcpu_ex structures are not cleared between calls for performance
reasons (they're variable size up to PAGE_SIZE each) but we must clear
hv_vp_set.bank_contents part of it to avoid flushing unneeded vCPUs. The
rest of the structure is formed correctly.
To do the clearing in an efficient way stash the maximum possible vCPU
number (this may differ from Linux CPU id).
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-azure/+bug/1729412/+subscriptions