Tuesday, 2021-11-23

Veera[m]lkcl: add add. adde. instructions work with signed or unsigned values in registers?15:24
lkclVeera[m], i believe everything is unsigned.  or, more to the point, it kinda doesn't matter because it's all the same15:35
lkclat the bit-level, that is15:35
lkclhowever CR0 (when Rc=1) it is "as if" the result is signed.  but, that is dead easy15:36
lkcla 64 bit number is "considered negative if it is considered signed" if the MSB (64th bit) is a 1.15:36
lkcl            if (result & (1<<63)) != 0:15:37
lkcl                le = 115:37
lkclyes, that would be reasonable15:38
lkclbut that does NOT mean that the actual add is either signed or unsigned, because *it doesn't matter*... to the add.15:38
lkclthis is *not* true for mul though.15:39
lkclwhich is why there is a signed multiply.15:39
Veera[m]3.3.8 Other Fixed-Point Instructions: These instructions treat the source operands as signed15:53
Veera[m]integers unless the instruction is explicitly identified as15:53
Veera[m]performing an unsigned operation.15:53
lkclVeera[m], for add/sub it actually doesn't matter, it's a quirk of 2's complement arithmetic20:23
lkclfor mul it definitely matters because -ve times -ve is positive20:24
lkclmeeting in 90 mins?20:27
lkclsadoon_albader[m, cesar programmerjake Veera[m] lxo Veera[m] ^20:28
sadoon_albader[mCount me in20:29
rscDoes somebody here have enough POWER9/10 knowledge to explain the removal of Linux KVM (https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1039) to me?20:29
sadoon_albader[mThey apparently want to disable KVM-PR and keep KVM-HV enabled20:30
sadoon_albader[mKVM-PR is the old method called "problem state" of virtualizing ppc20:31
sadoon_albader[mIt can be slow since it emulates older instructions that no longer exist20:31
rscBut PR vs. HV? What does it mean? And https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1039#note_563320460 reads even more strange. Does it mean IBM doesn't want to virtualize anymore?20:31
sadoon_albader[mKVM-HV is the newer method20:31
sadoon_albader[mIt's a full hypervisor that lets you run any POWER code built for your current processor and a generation earlier20:32
rscAh, so with emulation?20:32
sadoon_albader[mSo POWER9 and POWER8 on a native POWER9 CPU20:32
sadoon_albader[mIt's extremely fast20:32
sadoon_albader[mrsc: HV is no emulation, PR has some emulation20:33
sadoon_albader[mWhich is why some older Linux distros also do not work at all in HV, they need to support POWER9 or POWER8 on a POWER8 machine20:33
sadoon_albader[mIn general HV is the default and the superior option20:33
sadoon_albader[mPR is useful only for things like older systems (osx 10.5, linux circa 2014 and earlier I think?)20:34
rscOkay, but https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1039#note_563320460 reads like KVM at all.20:34
sadoon_albader[mMistype probably20:34
sadoon_albader[mThey explained further below that they keep HV20:34
sadoon_albader[mIf they did disable KVM entirely they'd kill one of the biggest features of POWER20:35
sadoon_albader[m"However, we only want to enable the KVM HV implementation, not the KVM PR implementation."20:36
rscWell, https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/8.5_release_notes/index is also confusing: "Using KVM virtualization on IBM POWER hardware has become deprecated. As a result, KVM on IBM POWER is still supported in RHEL 8, but will become unsupported in a future major release of RHEL."20:37
rscsadoon_albader[m: thank you for the explanation PR <-> HV :)20:39
sadoon_albader[mrsc: That's very strange..20:41
sadoon_albader[mIs the beta out yet?20:42
rscsadoon_albader[m: RHEL 9 Beta, yes.20:42
sadoon_albader[mMaybe I can spin up a vm later and see what all the fuss is about20:44
lkclrsc, sadoon_albader[m, if you can please send a message on there to let them know that we need PR for instruction emulation and development, urgently21:18
lkclif they remove it we cannot develop new Power ISA instructions.21:19
lkclthe emulation of "older" instructions *also allows for the emulation of newer ones*21:19
sadoon_albader[mMy assumption is that they'll disable KVM-PR in the kernel and in qemu21:20
lkcland with IBM failing to throw exceptions properly on illegal instructions, we're absolutely screwed21:20
sadoon_albader[mIt doesn't matter21:21
lkclplease can you send an urgent, urgent message on whatever bugreports and forums requesting that they *do not* do that.21:21
sadoon_albader[mIt's only for RHEL21:21
lkcltoshywoshy, ^21:21
lkclif they remove it from RHEL then the removal will propagate right the way through everything else21:21
programmerjakepeople may want to run RHEL on Libre-SOC hw too21:22
sadoon_albader[mLet's discuss this in the meeting I gusss21:22
sadoon_albader[mI'll read up and let you guys know21:22
sadoon_albader[mExactly what the situation is21:22
lkclon the talos-II workstation:21:24
lkcllsmod | grep kvm21:24
lkclkvm_pr                120733  021:24
lkclkvm                   307222  1 kvm_pr21:24
lkclwe critically rely on KVM_PR to "trap" illegal instructions21:25
lkcland then emulate them in software.21:25
lkclthis is how we plan to be able to write an emulator for SVP6421:26
lkclas well as write an emulator for VSX/SIMD21:26
lkclotherwise we have to f*** around actually implementing POWER9 SIMD in hardware, which is SEVEN HUNDRED effing instructions21:26
lkclpaul mackerras implemented SIMD in microwatt: with a *small subset* of SIMD added, the number of LUT4s for microwatt went up from 20,000 to 50,000.  a massive 2.5x jump in resources21:28
lkcland that's only a partial implementation.21:28
lkclevery month, every week, the IBM libc6 and gcc contributors keep on adding yet more and more POWER9 SIMD instructions as critical hard dependencies21:29
toshywoshysorry, late to the party : PR is paravirtualization & HV is hardware virtualization21:37
* lkcl looking that up21:38
toshywoshythe idea is that with HV, being 'full' virtualization, the need for PR is less, however TCG uses PR in the back-end, so we do not want PR to be dropped21:39
toshywoshyI haven't read that yet, I know that there are rumours about QEMU dropping certain features, however as far as I know it is mostly related to unmaintened and untested features, not being used anymore21:40
* lkcl looking up TCG too :)21:41
lkclTCG: tiny code generator.  nice21:41
lkcltoshywoshy, if you're interested, we've a weekly tuesday meeting (in 20 mins) usual jitsi URL21:43
lkclit tends to be chaotic and rambling with the occasional focussed discussion that even mentions openpower :)21:43
toshywoshyok, I'll be there, let me read up on rsc notes, as I havn't read those release notes yet21:44
lkclwe carried on hugh's virtual coffee, basically :)21:44

Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!