lightning
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Suggestions before a new lightning-2.1.4 release?


From: Paulo César Pereira de Andrade
Subject: Re: Suggestions before a new lightning-2.1.4 release?
Date: Mon, 31 Oct 2022 14:43:24 -0300

Em sáb., 29 de out. de 2022 às 17:17, Marc Nieper-Wißkirchen
<marc.nieper+gnu@gmail.com> escreveu:
>
> Hi Paulo,


  Hi Marc,

>
> first of all, thank you very much for your recent hard work on GNU
> lighting. Unfortunately, I have been busy with other projects.  So
> when I returned to GNU lightning to fix jit_align, I noticed that you
> have already corrected jit_align ([1])!  What I haven't checked yet:
> Is something like jit_align(1000) covered by the maximum instruction
> sizes?


   Actually this needs patching. It will only notice it did write past the end
of the buffer after returning from the nop call.
  As is now, it just adds an heuristic to the special
--enable-devel-get-jit-size
configure option, that runs make check and verifies how much memory
is used for every instruction.
  For this, should use a special test in jit_size, like the one added for
risc-v constant recently:
https://git.savannah.gnu.org/cgit/lightning.git/tree/lib/jit_size.c#n111

>
> I am looking forward to seeing a new release!  Note that with Gnulib
> now included, you can use many of its modules ([2]) to simplify the
> release process.


  I have a saved cheat sheet on the release process :), but it should be
outdated :) I will take a look in what is new.

> Has clearing the instruction cache ([3]) been addressed?


   Also not addressed. It should be easy to write inline assembly:

"""
 00004058 <__clear_cache>:
    4058:       b480            push    {r7}
    405a:       f240 0702       movw    r7, #2
    405e:       f2c0 070f       movt    r7, #15
    4062:       f04f 0200       mov.w   r2, #0
    4066:       df00            svc     0
    4068:       bc80            pop     {r7}
    406a:       4770            bx      lr
"""

but could require different ways to add inline assembly. Also, it
is not guaranteed, for example, for hppa, when I had access for
an actual hppa-system, I noticed the libgcc version did not work,
and did adapt libffcall code:

https://git.savannah.gnu.org/cgit/lightning.git/tree/lib/jit_hppa.c#n1496

> I should return to my jit_embed proposal/implementation, which is still 
> pending.
>
> Thanks,
>
> Marc
>
> --
>
> [1] 
> https://git.savannah.gnu.org/cgit/lightning.git/commit/?id=0c6e569e4096dc459a35e2a06c02b0f002d13f79
> [2] https://www.gnu.org/software/gnulib/MODULES.html#maintain
> [3] https://lists.gnu.org/archive/html/lightning/2022-08/msg00001.html
>
> Am Fr., 28. Okt. 2022 um 20:56 Uhr schrieb Paulo César Pereira de
> Andrade <paulo.cesar.pereira.de.andrade@gmail.com>:
> >
> >   Hi,
> >
> >   After significant time since the last release, I am considering a
> > new release soon.
> >
> >   Among new features:
> >
> > o Faster jit generation.
> > o New loongarch port.
> > o New bswapr_us, bswapr_ui, bswapr_ul byte swap instructions.
> > o New movzr and movnr conditional move instructions.
> > o New casr and casi atomic compare and swap instructions.
> >
> > and several bug fixes and optimizations.
> >
> >   Any suggestions for changes before a new release?
> >
> > Thanks!
> > Paulo


  Before a release I will add a generic (in jit_size.c) check for jit_align
checking the jit_align argument.

Thanks!
Paulo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]