From: Gleb Natapov <gleb@redhat.com>
To: Kashyap Chamarthy <kashyap.cv@gmail.com>
Cc: "kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: [nvmx testing, linux on linux] Disabling EPT in L1 renders L2 stuck on boot
Date: Fri, 4 Oct 2013 16:05:50 +0300 [thread overview]
Message-ID: <20131004130550.GA12257@redhat.com> (raw)
In-Reply-To: <CAOaxAcatqVOKCJ06=ckkKBAkk_Vjsxqe1TaVgUXB8MsXHhLZyA@mail.gmail.com>
On Fri, Oct 04, 2013 at 06:03:33PM +0530, Kashyap Chamarthy wrote:
> On Fri, Oct 4, 2013 at 3:09 PM, Gleb Natapov <gleb@redhat.com> wrote:
> > On Fri, Oct 04, 2013 at 03:03:17PM +0530, Kashyap Chamarthy wrote:
> >> Discussed with Gleb on IRC: I'll have to try with kvm.git
>
> I just compiled kernel from kvm.git queue on both L0 and L1.
>
> For completeness' sake, this how I did:
>
> $ git describe
> for-linus-12017-g8a3c1a33
> $ git log | head -1
> commit 8a3c1a33476f6bfebd07954e2277dbc88003bd37
>
> $ git branch -d test_ept1 origin/queue
> $ make -j6 && make bzImage && make modules
> $ sudo make modules_install && make install
>
> (Rebooted both L0 and L1 into the new kernel)
>
> > and a simple
> >> qemu-kvm command line.
> >>
> > And try to disable shadow vmcs on the host just to rule it out.
>
> $ cat /sys/module/kvm_intel/parameters/enable_shadow_vmcs
> N
>
> The above didn't have any effect.
>
> No, booting L2 is still stuck.
>
> Not sure what's broken (if at all) here. Gleb, you mentioned you were
> able to test the MMU combination 'shadow on EPT' just fine with an F19
> liveCD without libvirt in-place. If you have still have that test
> environment, can you please post your qemu-kvm command line?
>
Something as basic as "qemu -m 2G -cdrom /path/to/image -cpu host
> Thanks.
>
> >
> >> Thanks, Gleb.
> >>
> >> On Fri, Oct 4, 2013 at 2:01 PM, Kashyap Chamarthy <kashyap.cv@gmail.com> wrote:
> >> > I have EPT enabled on L0, disabled on L1, and when attempted to boot
> >> > an L2 guest, it results in cursor just blinking on the serial console.
> >> > (All of them are Fedora 19 minimal guests.)
> >> >
> >> > To be clear, by "disable" I mean, the below KVM parameter is N
> >> >
> >> > $ cat /sys/module/kvm_intel/parameters/ept
> >> > N
> >> >
> >> > I don't see any boot messages on serial console either. Running
> >> >
> >> > $ virsh start nguest-01 --console
> >> >
> >> > results in cursor just waiting there and hung.
> >> >
> >> > I thought I'll see what's going on in L2 logs by mounting the disk
> >> > image read-only via guestfish
> >> >
> >> > $ guestfish --ro -d nguest-01 -i
> >> >
> >> > This is hung too.
> >> >
> >> > NOTE: If I enable EPT in L1, I'm able to boot L2 guests just fine and
> >> > can see all the boot messages.
> >> >
> >> > Any hints on what might be going on here?
> >> >
> >> > Details about test environment below.
> >> >
> >> > Setup info:
> >> > ----------------
> >> >
> >> > L0 (Intel Haswell):
> >> > - 4 pCPU 16G pMEM.
> >> >
> >> > - Version (same for both L0 and L1):
> >> > $ uname -r; rpm -q qemu-kvm libvirt-daemon-kvm libguestfs
> >> > 3.12.0-0.rc3.git1.2.fc21.x86_64
> >> > qemu-kvm-1.4.2-7.fc19.x86_64
> >> > libvirt-daemon-kvm-1.0.5.5-1.fc19.x86_64
> >> > libguestfs-1.22.5-1.fc19.x86_64
> >> >
> >> > KVM Parameters in L0:
> >> >
> >> > $ cat /sys/module/kvm_intel/parameters/nested
> >> > Y
> >> > $ cat /sys/module/kvm_intel/parameters/enable_shadow_vmcs
> >> > Y
> >> > $ cat /sys/module/kvm_intel/parameters/ept
> >> > Y
> >> >
> >> >
> >> > KVM Parameters in L1 (Note - EPT is disabled below):
> >> >
> >> > $ cat /sys/module/kvm_intel/parameters/nested
> >> > Y
> >> > $ cat /sys/module/kvm_intel/parameters/enable_shadow_vmcs
> >> > N
> >> > $ cat /sys/module/kvm_intel/parameters/ept
> >> > N
> >> >
> >> >
> >> > L1 qemu-kvm command line:
> >> > ----------------------------------------
> >> >
> >> > $ ps -ef | grep qemu
> >> > qemu 4329 1 30 03:35 ? 00:13:47
> >> > /usr/bin/qemu-system-x86_64 -machine accel=kvm -name regular-guest -S
> >> > -machine pc-i440fx-1.4,accel=kvm,usb=off -cpu host -m 10240 -smp
> >> > 4,sockets=4,cores=1,threads=1 -uuid
> >> > 4ed9ac0b-7f72-dfcf-68b3-e6fe2ac588b2 -nographic -no-user-config
> >> > -nodefaults -chardev
> >> > socket,id=charmonitor,path=/var/lib/libvirt/qemu/regular-guest.monitor,server,nowait
> >> > -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc
> >> > -no-shutdown -boot c -usb -drive
> >> > file=/home/test/vmimages/regular-guest.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none
> >> > -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0
> >> > -netdev tap,fd=23,id=hostnet0,vhost=on,vhostfd=24 -device
> >> > virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:80:c1:34,bus=pci.0,addr=0x3
> >> > -chardev pty,id=charserial0 -device
> >> > isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0
> >> > -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
> >> >
> >> >
> >> > L2 qemu-kvm command line:
> >> > ----------------------------------------
> >> > $ ps -ef | grep qemu
> >> > qemu 1174 1 99 04:13 ? 00:06:12
> >> > /usr/bin/qemu-system-x86_64 -machine accel=kvm -name nguest-01 -S
> >> > -machine pc-i440fx-1.4,accel=kvm,usb=off -m 2048 -smp
> >> > 2,sockets=2,cores=1,threads=1 -uuid
> >> > b47c5cbb-b320-ce9d-c595-4e083b0e465d -nographic -no-user-config
> >> > -nodefaults -chardev
> >> > socket,id=charmonitor,path=/var/lib/libvirt/qemu/nguest-01.monitor,server,nowait
> >> > -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc
> >> > -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2
> >> > -drive file=/home/test/vmimages/nguest-01.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none
> >> > -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
> >> > -netdev tap,fd=23,id=hostnet0,vhost=on,vhostfd=24 -device
> >> > virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:be:d5:8e,bus=pci.0,addr=0x3
> >> > -chardev pty,id=charserial0 -device
> >> > isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0
> >> > -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
> >> >
> >> >
> >> > /kashyap
> >
> > --
> > Gleb.
--
Gleb.
next prev parent reply other threads:[~2013-10-04 13:05 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-04 8:31 [nvmx testing, linux on linux] Disabling EPT in L1 renders L2 stuck on boot Kashyap Chamarthy
2013-10-04 9:33 ` Kashyap Chamarthy
2013-10-04 9:39 ` Gleb Natapov
2013-10-04 12:33 ` Kashyap Chamarthy
2013-10-04 13:05 ` Gleb Natapov [this message]
2013-10-04 13:08 ` Gleb Natapov
2013-10-04 15:28 ` Kashyap Chamarthy
2013-10-07 12:59 ` Kashyap Chamarthy
2013-10-07 15:18 ` Gleb Natapov
2013-10-08 5:38 ` Kashyap Chamarthy
2013-10-08 13:03 ` Paolo Bonzini
2013-10-08 14:48 ` Paolo Bonzini
2013-10-09 6:22 ` Kashyap Chamarthy
2013-10-09 8:16 ` Gleb Natapov
2013-10-09 17:46 ` Kashyap Chamarthy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131004130550.GA12257@redhat.com \
--to=gleb@redhat.com \
--cc=kashyap.cv@gmail.com \
--cc=kvm@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).