<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:trebuchet ms,sans-serif;font-size:small"><br></div></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 1, 2020 at 2:54 AM Sukadev Bhattiprolu <<a href="mailto:sukadev@linux.ibm.com">sukadev@linux.ibm.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Christophe Leroy [<a href="mailto:christophe.leroy@csgroup.eu" target="_blank">christophe.leroy@csgroup.eu</a>] wrote:<br>
> Hi,<br>
> <br>
> Le 19/11/2020 à 11:58, Will Springer a écrit :<br>
> > I learned about the POWER9 gzip accelerator a few months ago when the<br>
> > support hit upstream Linux 5.8. However, for some reason the Kconfig<br>
> > dictates that VAS depends on a 64k page size, which is problematic as I<br>
> > run Void Linux, which uses a 4k-page kernel.<br>
> > <br>
> > Some early poking by others indicated there wasn't an obvious page size<br>
> > dependency in the code, and suggested I try modifying the config to switch<br>
> > it on. I did so, but was stopped by a minor complaint of an "unexpected DT<br>
> > configuration" by the VAS code. I wasn't equipped to figure out exactly what<br>
> > this meant, even after finding the offending condition, so after writing a<br>
> > very drawn-out forum post asking for help, I dropped the subject.<br>
> > <br>
> > Fast forward to today, when I was reminded of the whole thing again, and<br>
> > decided to debug a bit further. Apparently the VAS platform device<br>
> > (derived from the DT node) has 5 resources on my 4k kernel, instead of 4<br>
> > (which evidently works for others who have had success on 64k kernels). I<br>
> > have no idea what this means in practice (I don't know how to introspect<br>
> > it), but after making a tiny patch[1], everything came up smoothly and I<br>
> > was doing blazing-fast gzip (de)compression in no time.<br>
> > <br>
> > Everything seems to work fine on 4k pages. So, what's up? Are there<br>
> > pitfalls lurking around that I've yet to stumble over? More reasonably,<br>
> > I'm curious as to why the feature supposedly depends on 64k pages, or if<br>
> > there's anything else I should be concerned about.<br>
<br>
Will,<br>
<br>
The reason I put in that config check is because we were only able to<br>
test 64K pages at that point.<br>
<br>
It is interesting that it is working for you. Following code in skiboot<br>
<a href="https://github.com/open-power/skiboot/blob/master/hw/vas.c" rel="noreferrer" target="_blank">https://github.com/open-power/skiboot/blob/master/hw/vas.c</a> should restrict<br>
it to 64K pages. IIRC there is also a corresponding change in some NX <br>
registers that should also be configured to allow 4K pages.<br>
<br>
<br>
        static int init_north_ctl(struct proc_chip *chip)<br>
        {<br>
                uint64_t val = 0ULL;<br>
<br>
                val = SETFIELD(VAS_64K_MODE_MASK, val, true);<br>
                val = SETFIELD(VAS_ACCEPT_PASTE_MASK, val, true);<br>
                val = SETFIELD(VAS_ENABLE_WC_MMIO_BAR, val, true);<br>
                val = SETFIELD(VAS_ENABLE_UWC_MMIO_BAR, val, true);<br>
                val = SETFIELD(VAS_ENABLE_RMA_MMIO_BAR, val, true);<br>
<br>
                return vas_scom_write(chip, VAS_MISC_N_CTL, val);<br>
        }<br>
<br>
I am copying Bulent Albali and Haren Myneni who have been working with<br>
VAS/NX for their thoughts/experience.<br>
<br>
> > <br>
> <br>
> Maybe ask Sukadev who did the implementation and is maintaining it ?<br>
> <br>
> > I do have to say I'm quite satisfied with the results of the NX<br>
> > accelerator, though. Being able to shuffle data to a RaptorCS box over gigE<br>
> > and get compressed data back faster than most software gzip could ever<br>
> > hope to achieve is no small feat, let alone the instantaneous results locally.<br>
> > :)<br>
> > <br>
> > Cheers,<br>
> > Will Springer [she/her]<br>
> > <br>
> > [1]: <a href="https://github.com/Skirmisher/void-packages/blob/vas-4k-pages/srcpkgs/linux5.9/patches/ppc-vas-on-4k.patch" rel="noreferrer" target="_blank">https://github.com/Skirmisher/void-packages/blob/vas-4k-pages/srcpkgs/linux5.9/patches/ppc-vas-on-4k.patch</a><br>
> > <br>
> <br>
> <br>
> Christophe<br>
</blockquote></div><div><br></div><div><div style="font-family:trebuchet ms,sans-serif;font-size:small" class="gmail_default">Hi all, I'd like to report that with Will's patch, I'm using NX-Gzip perfectly on Linux 5.9.10 built with 4K pages and no changes on firmware in a Raptor Computing Blackbird workstation.</div><div style="font-family:trebuchet ms,sans-serif;font-size:small" class="gmail_default"><br></div><div style="font-family:trebuchet ms,sans-serif;font-size:small" class="gmail_default">I'm using Debian 10 distro.</div><div style="font-family:trebuchet ms,sans-serif;font-size:small" class="gmail_default"><br></div><div style="font-family:trebuchet ms,sans-serif;font-size:small" class="gmail_default">Ref. <a href="https://twitter.com/carlosedp/status/1328424799216021511">https://twitter.com/carlosedp/status/1328424799216021511</a><br></div><div style="font-family:trebuchet ms,sans-serif;font-size:small" class="gmail_default"><br></div><div style="font-family:trebuchet ms,sans-serif;font-size:small" class="gmail_default">Carlos<br></div><br></div><br>-- <br><div dir="ltr" class="gmail_signature">________________________________________<br>Carlos Eduardo de Paula<br><a href="mailto:me@carlosedp.com" target="_blank">me@carlosedp.com</a><br><a href="http://carlosedp.com" target="_blank">http://carlosedp.com</a><br><a href="https://twitter.com/carlosedp" target="_blank">https://twitter.com/carlosedp</a><br><a href="https://www.linkedin.com/in/carlosedp/" target="_blank">https://www.linkedin.com/in/carlosedp/</a><br>________________________________________</div></div>