Bug 1967603 - Enable interrupt based asynchronous page fault mechanism by default
Summary: Enable interrupt based asynchronous page fault mechanism by default
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux Advanced Virtualization
Classification: Red Hat
Component: qemu-kvm
Version: 8.5
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: 8.5
Assignee: Vitaly Kuznetsov
QA Contact: liunana
URL:
Whiteboard:
Depends On: 1967605
Blocks: 1957194
TreeView+ depends on / blocked
 
Reported: 2021-06-03 13:06 UTC by Vitaly Kuznetsov
Modified: 2023-02-07 16:30 UTC (History)
5 users (show)

Fixed In Version: qemu-kvm-6.0.0-20.module+el8.5.0+11499+199527ef
Doc Type: Enhancement
Doc Text:
Clone Of:
: 1967605 (view as bug list)
Environment:
Last Closed: 2021-11-16 07:53:43 UTC
Type: Feature Request
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2021:4684 0 None None None 2021-11-16 07:54:43 UTC

Description Vitaly Kuznetsov 2021-06-03 13:06:10 UTC
RHEL-8.4 disabled traditional asynchronous page fault mechanism and added a new one (interrupt based asynchronous page fault) which can be enabled with 'kvm-asyncpf-int' CPU option. The new mechanism is, however, not enabled by default as upstream QEMU supports kernels which don't have it. Downstream, we should be good as RHEL kernels starting with 8.4 have the required bits.

Comment 8 Yanan Fu 2021-06-22 12:06:03 UTC
QE bot(pre verify): Set 'Verified:Tested,SanityOnly' as gating/tier1 test pass.

Comment 18 errata-xmlrpc 2021-11-16 07:53:43 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (virt:av bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:4684

Comment 19 liunana 2023-02-07 03:50:20 UTC
(In reply to Vitaly Kuznetsov from comment #0)
> RHEL-8.4 disabled traditional asynchronous page fault mechanism and added a
> new one (interrupt based asynchronous page fault) which can be enabled with
> 'kvm-asyncpf-int' CPU option. The new mechanism is, however, not enabled by
> default as upstream QEMU supports kernels which don't have it. Downstream,
> we should be good as RHEL kernels starting with 8.4 have the required bits.

Hi Vitaly,


From this description, do you mean that this feature needs guest having RHEL8.4 kernel or newer, right?
I didn't get the expected results while testing RHEL7.9 guest on RHEL9.2.


Test Env:
Guest: 3.10.0-1160.el7.x86_64
Host
   5.14.0-252.el9.x86_64
   qemu-kvm-7.2.0-6.el9.x86_64
   
Command Line:
-machine pc-q35-rhel9.2.0,memory-backend=mem-machine_mem \
-smp 6,maxcpus=6,cores=3,threads=1,dies=1,sockets=2  \


Test results:
Inside guest: 
# dmesg | grep async
[    0.000000] KVM setup async PF for cpu 0
[    0.991006] KVM setup async PF for cpu 1
[    1.002968] KVM setup async PF for cpu 2
[    1.024623] KVM setup async PF for cpu 3
[    1.035768] KVM setup async PF for cpu 4
[    1.048057] KVM setup async PF for cpu 5

# grep Hyp /proc/interrupts   ------> Nothing output


Please help to check this, thanks.

BR,
Nana

Comment 20 Vitaly Kuznetsov 2023-02-07 16:30:58 UTC
(In reply to liunana from comment #19)
> (In reply to Vitaly Kuznetsov from comment #0)
> > RHEL-8.4 disabled traditional asynchronous page fault mechanism and added a
> > new one (interrupt based asynchronous page fault) which can be enabled with
> > 'kvm-asyncpf-int' CPU option. The new mechanism is, however, not enabled by
> > default as upstream QEMU supports kernels which don't have it. Downstream,
> > we should be good as RHEL kernels starting with 8.4 have the required bits.
> 
> Hi Vitaly,
> 
> 
> From this description, do you mean that this feature needs guest having
> RHEL8.4 kernel or newer, right?
> I didn't get the expected results while testing RHEL7.9 guest on RHEL9.2.
> 
> 

Yea, RHEL7 doesn't support this new mechanism, we backported it to RHEL8.4
so only kernels >= kernel-4.18.0-252.el8 use it. There's no harm done if the
guest doesn't support the feature, it just won't get enabled.


Note You need to log in before you can comment on or make changes to this bug.