[erlang-bugs] hipe_mfait_lock

Sverker Eriksson sverker.eriksson@REDACTED
Wed Jan 14 17:27:22 CET 2015


One quite simple improvement is to change the hipe_mfait_lock to be a 
read-write mutex (erts_smp_rwmtx_t).
And then do read-lock at lookup and exclusive write-lock only when 
inserting a new entry in the table.

I don't think that requires much knowledge about the VM to pull off ;-) .

/Sverker, Erlang/OTP



On 01/14/2015 12:34 AM, Louis-Philippe Gauthier wrote:
> Hi erlang-bugs,
> I couple of months ago I tried running our full application using HiPE. I
> ran into several issues, some manageable, some not... The most problematic
> issue was due to locking, specifically, the hipe_mfait_lock (you can see
> the lock counter output in the gist bellow).
>
> https://gist.github.com/lpgauth/2b3220f4bceeed6f62d0
>
> Looking at the code it's obvious that this is a known problem... the
> following comment was added when the lock was added in 2010.
>
> "XXX: Redesign apply et al to avoid those updates."
> https://github.com/erlang/otp/blob/maint/erts/emulator/hipe/hipe_bif0.c#L1218
>
> Unfortunately, I'm don't know the runtime enough to start patching it... so
> instead I'm reporting it.
>
> Thanks,
> LP
>
>
>
> _______________________________________________
> erlang-bugs mailing list
> erlang-bugs@REDACTED
> http://erlang.org/mailman/listinfo/erlang-bugs

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20150114/3b1b979c/attachment.htm>


More information about the erlang-bugs mailing list