Documentation: virt: Clean up paravirt_ops doc

Clarify language. Clean up grammar. Hyphenate some words.

Change "low-ops" to "low-level" since "low-ops" isn't defined or even
mentioned anywhere else in the kernel source tree.

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20230610054310.6242-1-rdunlap@infradead.org
This commit is contained in:
Randy Dunlap 2023-06-09 22:43:10 -07:00 committed by Borislav Petkov (AMD)
parent 013fdeb07a
commit 6f7f812f54

View File

@ -5,31 +5,31 @@ Paravirt_ops
============ ============
Linux provides support for different hypervisor virtualization technologies. Linux provides support for different hypervisor virtualization technologies.
Historically different binary kernels would be required in order to support Historically, different binary kernels would be required in order to support
different hypervisors, this restriction was removed with pv_ops. different hypervisors; this restriction was removed with pv_ops.
Linux pv_ops is a virtualization API which enables support for different Linux pv_ops is a virtualization API which enables support for different
hypervisors. It allows each hypervisor to override critical operations and hypervisors. It allows each hypervisor to override critical operations and
allows a single kernel binary to run on all supported execution environments allows a single kernel binary to run on all supported execution environments
including native machine -- without any hypervisors. including native machine -- without any hypervisors.
pv_ops provides a set of function pointers which represent operations pv_ops provides a set of function pointers which represent operations
corresponding to low level critical instructions and high level corresponding to low-level critical instructions and high-level
functionalities in various areas. pv-ops allows for optimizations at run functionalities in various areas. pv_ops allows for optimizations at run
time by enabling binary patching of the low-ops critical operations time by enabling binary patching of the low-level critical operations
at boot time. at boot time.
pv_ops operations are classified into three categories: pv_ops operations are classified into three categories:
- simple indirect call - simple indirect call
These operations correspond to high level functionality where it is These operations correspond to high-level functionality where it is
known that the overhead of indirect call isn't very important. known that the overhead of indirect call isn't very important.
- indirect call which allows optimization with binary patch - indirect call which allows optimization with binary patch
Usually these operations correspond to low level critical instructions. They Usually these operations correspond to low-level critical instructions. They
are called frequently and are performance critical. The overhead is are called frequently and are performance critical. The overhead is
very important. very important.
- a set of macros for hand written assembly code - a set of macros for hand written assembly code
Hand written assembly codes (.S files) also need paravirtualization Hand written assembly codes (.S files) also need paravirtualization
because they include sensitive instructions or some of code paths in because they include sensitive instructions or some code paths in
them are very performance critical. them are very performance critical.