bug-hurd
[Top][All Lists]
Advanced

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

Re: [ PATCH ] Replace glibc spin-locks with gsync-based locks


From: Agustina Arzille
Subject: Re: [ PATCH ] Replace glibc spin-locks with gsync-based locks
Date: Mon, 09 May 2016 22:45:17 -0300


On 05/08/2016 07:42 PM, Samuel Thibault wrote:
512M is not so much, perhaps use more as Richard suggested.

I did try that, and got farther than before (Thanks, Richard!). On the other
hand, glibc's testsuite failed during math/tgmath2, after a crash. The output
was:

(17916) crashed, signal: {no: 10, code: 0, error: 10},
  exception: {1, code: 10, subcode: 274847344},
  PCs: {0x144a5a1, 0x13c94fc}, killing task.

Which seems to be a math error. If someone has any more info, I'd appreciate
it :)

Well, in mach/gnumach.h, there's only the prototypes.
I mean perhaps installing gsync.h into mach/gsync.h, like other such
headers.


Oh, right. Well, we would need to change something in gnumach for that, right?
For the moment, I enclosed the definition of those constants inside an #ifdef,
so we don't get any warnings or error regarding macro redefinitions.

Anyway, here's an updated patch. The low-level lock was extended so that it
works with timeouts and 64-bit values. There's also support for robust locks
so that inter-process synchronization is safe. Using gsync, I also removed
all but one instance of busy waiting that used '__swtch_pri'. The one that
remains needs a little bit of support from pthreads.

Speaking of which, I intend to use this API to rewrite pthread objects, so
any input regarding design, efficiency or the like is welcomed :)

Attachment: glibc.diff
Description: Text Data


reply via email to

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