summaryrefslogtreecommitdiff
path: root/drivers/pwm/pwm-stm32-lp.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2021-09-30 14:35:22 +0200
committerBoris Ostrovsky <boris.ostrovsky@oracle.com>2021-11-02 07:45:43 -0500
commitcae739518314fcd75642236f6813537fe9d23546 (patch)
treead4de9d7229bbb49a3410d6337092e267cd07b5f /drivers/pwm/pwm-stm32-lp.c
parentdc4bd2a2ddafeffcdc33bb5c67a058d00885bb99 (diff)
xen/x86: restore (fix) xen_set_pte_init() behavior
Commit f7c90c2aa400 ("x86/xen: don't write ptes directly in 32-bit PV guests") needlessly (and heavily) penalized 64-bit guests here: The majority of the early page table updates is to writable pages (which get converted to r/o only after all the writes are done), in particular those involved in building the direct map (which consists of all 4k mappings in PV). On my test system this accounts for almost 16 million hypercalls when each could simply have been a plain memory write. Switch back to using native_set_pte(), except for updates of early ioremap tables (where a suitable accessor exists to recognize them). With 32-bit PV support gone, this doesn't need to be further conditionalized (albeit backports thereof may need adjustment). To avoid a fair number (almost 256k on my test system) of trap-and- emulate cases appearing as a result, switch the hook in xen_pagetable_init(). Finally commit d6b186c1e2d8 ("x86/xen: avoid m2p lookup when setting early page table entries") inserted a function ahead of xen_set_pte_init(), separating it from its comment (which may have been part of the reason why the performance regression wasn't anticipated / recognized while codeing / reviewing the change mentioned further up). Move the function up and adjust that comment to describe the new behavior. Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Link: https://lore.kernel.org/r/57ce1289-0297-e96e-79e1-cedafb5d9bf6@suse.com Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Diffstat (limited to 'drivers/pwm/pwm-stm32-lp.c')
0 files changed, 0 insertions, 0 deletions