mailing list of musl libc
 help / color / mirror / code / Atom feed
* What's left for 1.1.11 release?
@ 2015-07-28  3:40 Rich Felker
  2015-07-28 14:09 ` Jens Gustedt
  0 siblings, 1 reply; 11+ messages in thread
From: Rich Felker @ 2015-07-28  3:40 UTC (permalink / raw)
  To: musl

This release cycle has gotten way behind-schedule and I'd like to wrap
it up in the next few days. The CFI generation patch is the last
actual feature/roadmap item I want to get committed still, but I
believe there may be some important bugs to try to fix first. In
particular:

- Deadlocks in malloc due to a_store lacking acquire barrier on x86.
- Unbounded VSZ growth under free contention.

In principle the a_store issue affects all libc-internal __lock/LOCK
uses, and stdio locks too, but it's only been observed in malloc.
Since there don't seem to be any performance-relevant uses of a_store
that don't actually need the proper barrier, I think we have to just
put an explicit barrier (lock orl $0,(%esp) or mfence) after the store
and live with the loss of performance. Our x86 a_barrier is also
"wrong" for the same reasons as a_store, but I don't think any of its
callers actually want the full strength of a barrier, just some (much
weaker) ordering guarantees. This should be revisited after release to
assess what properties the callers actually want.

The VSZ growth issue is much harder to address before a release. I
would not be comfortable with pushing the changes needed for a proper
fix without a long testing window before a release, and even then I'm
not eagar to write this code. "Big hammer" solutions are of course
possible (e.g. serializing all malloc operations with a big lock) but
undesirable. The best I can probably do is put together an optional
patch which affected users can try until a real fix is available.

I'm also aware of the following open issues with patch discussion
going on, but they're not bugs/regressions affecting existing users,
and I don't see us reaching a resolution within a short timeframe:

- Adding powerpc soft-float.
- ARM asm incompatibility withe clang.

Anything else I'm missing in the way of bug reports of pending patches
that need to be addressed?

Rich


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2015-07-28 17:33 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-28  3:40 What's left for 1.1.11 release? Rich Felker
2015-07-28 14:09 ` Jens Gustedt
2015-07-28 14:18   ` Rich Felker
2015-07-28 14:50     ` Jens Gustedt
2015-07-28 14:58       ` Rich Felker
2015-07-28 15:15         ` Jens Gustedt
2015-07-28 16:07           ` Rich Felker
2015-07-28 16:42             ` Jens Gustedt
2015-07-28 17:33               ` Rich Felker
2015-07-28 14:33   ` Alexander Monakov
2015-07-28 17:31     ` Rich Felker

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).