The arm64 fork-then-swap-out-then-swap-in failures: a program source for exploring them
Mark Millard
markmi at dsl-only.net
Thu Apr 20 07:13:06 UTC 2017
On 2017-Apr-19, at 10:28 AM, Mark Millard <markmi at dsl-only.net> wrote:
> On 2017-Apr-18, at 11:16 AM, Jia-Shiun Li <jiashiun at gmail.com> wrote:
>
>> just noticed that rpi3 wiki page still has outdated issue info regarding
>> this (the jemalloc error). Anyone to help update it?
>>
>> https://wiki.freebsd.org/arm64/rpi3
>
> stable/11 is still in process for the fork handling fixes.
>
> One of the 2 fixes to fork behavior has just been MFC'd:
> -r313772 from head is now -r317147 in stable/11 . So
> interrupts will no longer trash the sp_el0 register.
>
> There is still -r316679 from head to go so that
> Copy-On-Write would work for fork. (The defect
> may be more general than just being for fork.)
>
>> -Jia-Shiun
>>
>> On Mon, Apr 10, 2017 at 5:51 PM, Mark Millard <markmi at dsl-only.net> wrote:
>>
>>> buildworld buildkernel completed non-stop for the first time
>>> on a BPI-M3 board.
>>>
>>> Looks good for a check-in to svn to me (head and stable/11).
>>>
>>> This combined with 2017-Feb-15's -r313772's fix to the fork
>>> trampline code's updating of sp_el0 makes arm64 far more stable
>>> for my purposes.
>>>
>>> -r313772 was never MFC'd to stable/11. In my view it should be.
Another head-vintage-specific rpi3 note on:
https://wiki.freebsd.org/arm64/rpi3
is where it says:
If you want to build your own ports or packages, you'll need to install the aarch64-binutils package and link /usr/bin/ld to /usr/local/bin/aarch64-freebsd-ld:
# pkg install aarch64-binutils
# ln /usr/local/bin/aarch64-freebsd-ld /usr/bin/ld
But using WITH_LLD_IS_LD= for an aarch64 buildworld
now provides an aarch64 system ld that works for
many things. This is now the default for aarch64.
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-hackers
mailing list