Bug 1485399 - Backport selective allocation of PGSTE to avoid global vm.allocate_pgste
Summary: Backport selective allocation of PGSTE to avoid global vm.allocate_pgste
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-ma
Version: 7.5-Alt
Hardware: s390x
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Cornelia Huck
QA Contact: Virtualization Bugs
Depends On: 1485395 1485398
TreeView+ depends on / blocked
Reported: 2017-08-25 14:58 UTC by David Hildenbrand
Modified: 2018-04-10 14:50 UTC (History)
8 users (show)

Fixed In Version: qemu-kvm-ma-2.10.0-3.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2018-04-10 14:50:48 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0831 0 normal SHIPPED_LIVE new packages: qemu-kvm-ma 2018-04-10 13:00:18 UTC

Description David Hildenbrand 2017-08-25 14:58:08 UTC
Description of problem:
For now we have to enable allocation of PGSTE globally, using sysctl vm.allocate_pgste=1 (see bz 1454281) in order to be able to run qemu-kvm guests.

This results in the double size of lowest level page tables of all processes. Latest upstream contribution allow to allocate PGSTE selectively, per process. This requires kernel, QEMU and binutil changes.

Additional info:
The QEMU patch is still being discussed upstream, but should soon be included.


Comment 2 David Hildenbrand 2017-09-04 15:50:23 UTC
Patch is now upstream:

commit e9a3591fa09f273592451f8b9f83692bcbedb60c
Author: Christian Borntraeger <borntraeger@de.ibm.com>
Date:   Wed Aug 23 12:16:23 2017 +0200

    configure: enable --s390-pgste linker option

Comment 3 Cornelia Huck 2017-10-11 12:50:46 UTC
I believe we should remove the vm.allocate_pgste enablement in the same go, as we'll have kernel 4.14 with needed support anyway.

Comment 6 Miroslav Rezanina 2017-10-20 09:32:59 UTC
Fix included in qemu-kvm-ma-2.10.0-3.el7

Comment 8 Qunfang Zhang 2017-11-27 06:45:03 UTC
Reproduced with qemu-kvm-ma-2.10.0-2.el7.s390x:

[root@kerneldev7 qemu-2]# sysctl vm.allocate_pgste=0
vm.allocate_pgste = 0

[root@kerneldev7 qemu-2]# /usr/libexec/qemu-kvm -vnc :0 -monitor stdio -no-shutdown
ioctl(KVM_CREATE_VM) failed: 22 Invalid argument
Host kernel setup problem detected. Please verify:
- for kernels supporting the switch_amode or user_mode parameters, whether
  user space is running in primary address space
- for kernels supporting the vm.allocate_pgste sysctl, whether it is enabled
qemu-kvm: failed to initialize KVM: Invalid argument
qemu-kvm: Back to tcg accelerator

Verified with qemu-kvm-ma-2.10.0-7.el7.s390x:

# sysctl vm.allocate_pgste=0
vm.allocate_pgste = 0
[root@kerneldev7 qzhang]# /usr/libexec/qemu-kvm -vnc :0 -monitor stdio -no-shutdown
QEMU 2.10.0 monitor - type 'help' for more information

Boot a guest and it starts successfully:

 (1/1) smp_2.2048m.repeat1.run_test.Host_RHEL.RHEL_ALT.m7.u5.s390-virtio.qcow2.virtio_scsi.up.virtio_net.RHEL.ALT.7.4.s390x.io-github-autotest-qemu.boot: PASS (32.61 s)

So, setting to VERIFIED.

Comment 12 errata-xmlrpc 2018-04-10 14:50:48 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, and where to find the updated
files, follow the link below.

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


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