> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> On Behalf Of Marc Zyngier
> Sent: Monday, April 20, 2020 10:03 PM
> To: Zengtao (B)
> Cc: George Cherian; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; Anil Kumar Reddy H; Ganapatrao Kulkarni
> Subject: Re: [PATCH v2 00/94] KVM: arm64: ARMv8.3/8.4 Nested
> Virtualization support
>
> On 2020-04-18 03:49, Zengtao (B) wrote:
> > -----Original Message-----
> >> From: Marc Zyngier [mailto:[email protected]]
> >> Sent: Friday, April 17, 2020 11:06 PM
> >> To: Zengtao (B)
> >> Cc: George Cherian; [email protected];
> [email protected];
> >> [email protected]; [email protected];
> >> [email protected]; [email protected];
> >> [email protected]; [email protected];
> >> [email protected]; [email protected];
> >> [email protected]; Anil Kumar Reddy H; Ganapatrao Kulkarni
> >> Subject: Re: [PATCH v2 00/94] KVM: arm64: ARMv8.3/8.4 Nested
> >> Virtualization support
> >>
> >> On Thu, 16 Apr 2020 19:22:21 +0100
> >> Marc Zyngier <[email protected]> wrote:
> >>
> >> > Hi Zengtao,
> >> >
> >> > On 2020-04-16 02:38, Zengtao (B) wrote:
> >> > > Hi Marc:
> >> > >
> >> > > Got it.
> >> > > Really a bit patch set :)
> >> >
> >> > Well, yeah... ;-)
> >> >
> >> > >
> >> > > BTW, I have done a basic kvm unit test
> >> > > git://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git
> >> > > And I find that after apply the patch KVM: arm64: VNCR-ize
> ELR_EL1,
> >> > > The psci test failed for some reason, I can't understand why, this
> >> > > is only the test result.(find the patch by git bisect + kvm test)
> >> >
> >> > That it is that mechanical, we should be able to quickly nail that
> one.
> >> >
> >> > > My platform: Hisilicon D06 board.
> >> > > Linux kernel: Linux 5.6-rc6 + nv patches(some rebases)
> >> > > Could you help to take a look?
> >> >
> >> > I'll have a look tomorrow. I'm in the middle of refactoring the series
> >> > for 5.7, and things have changed quite a bit. Hopefully this isn't a
> VHE
> >> > vs non-VHE issue.
> >>
> >> So I've repeatedly tried with the current state of the NV patches[1],
> >> on both an ARMv8.0 system (Seattle) and an ARMv8.2 pile of putrid
> junk
> >> (vim3l). PSCI is pretty happy, although I can only test with at most 8
> >> vcpus (GICv2 gets in the way).
> >>
> >> Can you please:
> >>
> >> - post the detailed error by running the PSCI unit test on its own
> > I tried to trace the error, and I found in kernel function
> > kvm_mpidr_to_vcpu,
> > casually, mpidr returns zero and we can't get the expected vcpu, and
> > psci
> > test failed due to this.
>
> Can you post the exact error message from the unit test?
>
Some debug code added as follow(virt/kvm/arm/arm.c):
unsigned long saved_mpidr[256];
static void dump_saved_mpidr(struct kvm *kvm, unsigned long mpidr)
{
struct kvm_vcpu *vcpu;
int i;
printk("target mpidr:%lx\n", mpidr);
kvm_for_each_vcpu(i, vcpu, kvm) {
printk("saved_mpidr:%lx latest mpidr:%lx\n", saved_mpidr[i],
kvm_vcpu_get_mpidr_aff(vcpu));
}
}
struct kvm_vcpu *kvm_mpidr_to_vcpu(struct kvm *kvm, unsigned long mpidr)
{
struct kvm_vcpu *vcpu;
int i;
mpidr &= MPIDR_HWID_BITMASK;
kvm_for_each_vcpu(i, vcpu, kvm) {
saved_mpidr[i] = kvm_vcpu_get_mpidr_aff(vcpu);
if (mpidr == saved_mpidr[i])
return vcpu;
}
dump_saved_mpidr(kvm, mpidr);
return NULL;
}
error log:
[root@localhost test]# ./psci
BUILD_HEAD=b16df9ee
timeout -k 1s --foreground 90s /sbin/qemu-system-aarch64 -nodefaults
-machine virt,gic-version=host,accel=kvm -cpu host -device virtio-serial-device
-device virtconsole,chardev=ctd -chardev testdev,id=ctd -device pci-testdev
-display none -serial stdio -kernel /tmp/tmp.QDQH5cBotg -smp 128
# -initrd /tmp/tmp.uW5pheTN1jINFO: psci: PSCI version 1.0
PASS: psci: invalid-function
PASS: psci: affinity-info-on
PASS: psci: affinity-info-off
[ 218.891944] target mpidr:1
[ 218.894645] saved_mpidr:0 latest mpidr:0
[ 218.898569] saved_mpidr:0 latest mpidr:1
[ 218.902481] saved_mpidr:2 latest mpidr:2
[ 218.906393] saved_mpidr:3 latest mpidr:3
[ 218.910308] saved_mpidr:4 latest mpidr:4
[ 218.914223] saved_mpidr:5 latest mpidr:5
[ 218.918138] saved_mpidr:6 latest mpidr:6
[ 218.922051] saved_mpidr:7 latest mpidr:7
[ 218.925965] saved_mpidr:8 latest mpidr:8
[ 218.929878] saved_mpidr:9 latest mpidr:9
[ 218.933788] saved_mpidr:a latest mpidr:a
[ 218.937703] saved_mpidr:b latest mpidr:b
[ 218.941618] saved_mpidr:c latest mpidr:c
[ 218.945533] saved_mpidr:d latest mpidr:d
[ 218.949445] saved_mpidr:e latest mpidr:e
[ 218.953359] saved_mpidr:f latest mpidr:f
[ 218.957274] saved_mpidr:100 latest mpidr:100
[ 218.961536] saved_mpidr:101 latest mpidr:101
[ 218.965798] saved_mpidr:102 latest mpidr:102
[ 218.970059] saved_mpidr:103 latest mpidr:103
[ 218.974319] saved_mpidr:104 latest mpidr:104
[ 218.978584] saved_mpidr:105 latest mpidr:105
[ 218.982842] saved_mpidr:106 latest mpidr:106
[ 218.987105] saved_mpidr:107 latest mpidr:107
[ 218.991362] saved_mpidr:108 latest mpidr:108
[ 218.995624] saved_mpidr:109 latest mpidr:109
[ 218.999881] saved_mpidr:10a latest mpidr:10a
[ 219.004133] saved_mpidr:10b latest mpidr:10b
[ 219.008389] saved_mpidr:10c latest mpidr:10c
[ 219.012643] saved_mpidr:10d latest mpidr:10d
[ 219.016898] saved_mpidr:10e latest mpidr:10e
[ 219.021152] saved_mpidr:10f latest mpidr:10f
[ 219.025408] saved_mpidr:200 latest mpidr:200
[ 219.029664] saved_mpidr:201 latest mpidr:201
[ 219.033919] saved_mpidr:202 latest mpidr:202
[ 219.038171] saved_mpidr:203 latest mpidr:203
[ 219.042426] saved_mpidr:204 latest mpidr:204
[ 219.046681] saved_mpidr:205 latest mpidr:205
[ 219.050934] saved_mpidr:206 latest mpidr:206
[ 219.055188] saved_mpidr:207 latest mpidr:207
[ 219.059442] saved_mpidr:208 latest mpidr:208
[ 219.063698] saved_mpidr:209 latest mpidr:209
[ 219.067952] saved_mpidr:20a latest mpidr:20a
[ 219.072206] saved_mpidr:20b latest mpidr:20b
[ 219.076463] saved_mpidr:20c latest mpidr:20c
[ 219.080722] saved_mpidr:20d latest mpidr:20d
[ 219.084976] saved_mpidr:20e latest mpidr:20e
[ 219.089229] saved_mpidr:20f latest mpidr:20f
[ 219.093483] saved_mpidr:300 latest mpidr:300
[ 219.097738] saved_mpidr:301 latest mpidr:301
[ 219.101994] saved_mpidr:302 latest mpidr:302
[ 219.106250] saved_mpidr:303 latest mpidr:303
[ 219.110504] saved_mpidr:304 latest mpidr:304
[ 219.114756] saved_mpidr:305 latest mpidr:305
[ 219.119010] saved_mpidr:306 latest mpidr:306
[ 219.123267] saved_mpidr:307 latest mpidr:307
[ 219.127521] saved_mpidr:308 latest mpidr:308
[ 219.131779] saved_mpidr:309 latest mpidr:309
[ 219.136034] saved_mpidr:30a latest mpidr:30a
[ 219.140289] saved_mpidr:30b latest mpidr:30b
[ 219.144544] saved_mpidr:30c latest mpidr:30c
[ 219.148798] saved_mpidr:30d latest mpidr:30d
[ 219.153054] saved_mpidr:30e latest mpidr:30e
[ 219.157308] saved_mpidr:30f latest mpidr:30f
[ 219.161562] saved_mpidr:400 latest mpidr:400
[ 219.165817] saved_mpidr:401 latest mpidr:401
[ 219.170071] saved_mpidr:402 latest mpidr:402
[ 219.174324] saved_mpidr:403 latest mpidr:403
[ 219.178578] saved_mpidr:404 latest mpidr:404
[ 219.182834] saved_mpidr:405 latest mpidr:405
[ 219.187093] saved_mpidr:406 latest mpidr:406
[ 219.191350] saved_mpidr:407 latest mpidr:407
[ 219.195609] saved_mpidr:408 latest mpidr:408
[ 219.199861] saved_mpidr:409 latest mpidr:409
[ 219.204117] saved_mpidr:40a latest mpidr:40a
[ 219.208371] saved_mpidr:40b latest mpidr:40b
[ 219.212625] saved_mpidr:40c latest mpidr:40c
[ 219.216881] saved_mpidr:40d latest mpidr:40d
[ 219.221133] saved_mpidr:40e latest mpidr:40e
[ 219.225388] saved_mpidr:40f latest mpidr:40f
[ 219.229642] saved_mpidr:500 latest mpidr:500
[ 219.233898] saved_mpidr:501 latest mpidr:501
[ 219.238155] saved_mpidr:502 latest mpidr:502
[ 219.242411] saved_mpidr:503 latest mpidr:503
[ 219.246665] saved_mpidr:504 latest mpidr:504
[ 219.250920] saved_mpidr:505 latest mpidr:505
[ 219.255175] saved_mpidr:506 latest mpidr:506
[ 219.259428] saved_mpidr:507 latest mpidr:507
[ 219.263680] saved_mpidr:508 latest mpidr:508
[ 219.267935] saved_mpidr:509 latest mpidr:509
[ 219.272189] saved_mpidr:50a latest mpidr:50a
[ 219.276444] saved_mpidr:50b latest mpidr:50b
[ 219.280699] saved_mpidr:50c latest mpidr:50c
[ 219.284957] saved_mpidr:50d latest mpidr:50d
[ 219.289212] saved_mpidr:50e latest mpidr:50e
[ 219.293470] saved_mpidr:50f latest mpidr:50f
[ 219.297725] saved_mpidr:600 latest mpidr:600
[ 219.301982] saved_mpidr:601 latest mpidr:601
[ 219.306237] saved_mpidr:602 latest mpidr:602
[ 219.310493] saved_mpidr:603 latest mpidr:603
[ 219.314749] saved_mpidr:604 latest mpidr:604
[ 219.319003] saved_mpidr:605 latest mpidr:605
[ 219.323258] saved_mpidr:606 latest mpidr:606
[ 219.327511] saved_mpidr:607 latest mpidr:607
[ 219.331766] saved_mpidr:608 latest mpidr:608
[ 219.336020] saved_mpidr:609 latest mpidr:609
[ 219.340276] saved_mpidr:60a latest mpidr:60a
[ 219.344532] saved_mpidr:60b latest mpidr:60b
[ 219.348783] saved_mpidr:60c latest mpidr:60c
[ 219.353036] saved_mpidr:60d latest mpidr:60d
[ 219.357290] saved_mpidr:60e latest mpidr:60e
[ 219.361545] saved_mpidr:60f latest mpidr:60f
[ 219.365799] saved_mpidr:700 latest mpidr:700
[ 219.370054] saved_mpidr:701 latest mpidr:701
[ 219.374308] saved_mpidr:702 latest mpidr:702
[ 219.378560] saved_mpidr:703 latest mpidr:703
[ 219.382815] saved_mpidr:704 latest mpidr:704
[ 219.387072] saved_mpidr:705 latest mpidr:705
[ 219.391326] saved_mpidr:706 latest mpidr:706
[ 219.395582] saved_mpidr:707 latest mpidr:707
[ 219.399840] saved_mpidr:708 latest mpidr:708
[ 219.404098] saved_mpidr:709 latest mpidr:709
[ 219.408351] saved_mpidr:70a latest mpidr:70a
[ 219.412605] saved_mpidr:70b latest mpidr:70b
[ 219.416860] saved_mpidr:70c latest mpidr:70c
[ 219.421114] saved_mpidr:70d latest mpidr:70d
[ 219.425370] saved_mpidr:70e latest mpidr:70e
[ 219.429622] saved_mpidr:70f latest mpidr:70f
INFO: psci: unexpected cpu_on return value: caller=CPU117, ret=-2
FAIL: psci: cpu-on
SUMMARY: 4 tests, 1 unexpected failures
FAIL psci (4 tests, 1 unexpected failures)
> > And as I mentioned in my last before, the psci error is introduced by
> > the
> > patch KVM: arm64: VNCR-ize ELR_EL1.(Only test result)
> > Maybe you have to try tens of times to reproduce. :)
> > Deep into the patch itself, I don't find any connection between the
> > patch
> > and the issue.
>
> Me neither, and I haven't managed to reproduce your issue.
>
> >> - test with the current state of the patches
> > I test with your nv-5.7-rc1-WIP branch and latest kvm_unit_test, the
> > error still exist.
>
> How many vcpus do you create with this PSCI test?
>
128.
> Thanks,
>
> M.
> --
> Jazz is not dead. It just smells funny...
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm