Re: hipe_mfait_lock
Sverker Eriksson <[email protected]>
| Newsgroups | gmane.comp.lang.erlang.bugs |
|---|---|
| Message-ID | <[email protected]> |
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 > [email protected] > http://erlang.org/mailman/listinfo/erlang-bugs _______________________________________________ erlang-bugs mailing list [email protected] http://erlang.org/mailman/listinfo/erlang-bugs