[lxc-devel] [PATCH] remove static_lock()/static_unlock() and start to use thread local storage (v2)

Stéphane Graber stgraber at ubuntu.com
Mon Dec 23 17:27:19 UTC 2013


On Mon, Dec 23, 2013 at 10:14:41AM -0600, Serge Hallyn wrote:
> Quoting Stéphane Graber (stgraber at ubuntu.com):
> > On Mon, Dec 23, 2013 at 09:25:55AM -0600, Serge Hallyn wrote:
> > > Quoting Andrey Mazo (mazo at telum.ru):
> > > > Hi all,
> > > > 
> > > > Sorry for coming too late to the discussion.
> > > > In fact, I've already acked [1] the changeset.
> > > > But after sleeping more on it, I'm concerned about __thread and bionic.
> > > > Quoting android-ndk-r9c/docs/text/system/libc/OVERVIEW.text:
> > > >   At the moment, thread-local storage defined through the __thread compiler
> > > >   keyword is not supported by the Bionic C library and dynamic linker.
> > > > 
> > > > The same OVERVIEW.TXT was present until recently in bionic sources [2].
> > > > Moreover, grepping (today's git HEAD) bionic sources for __thread, PT_TLS (thread-local storage segment), .tbss and .tdata section names shows nothing.
> > > > So, while utils.c compiles fine (due to GNU gcc/binutils support for __thread), lxc-* will likely segfault on the first access to the "values" array (because of missing memory segment due to bionic dynamic loader's lack of __thread support).
> > > > I suppose, we could allocate a TLS slot for "values" pointer via pthread_key_create() and set it to a per-thread malloc()'ed memory chunk via pthread_setspecific(). (this seems to be quite verbose though)
> > > 
> > > Stéphane, have you run lxc with this patch on android without
> > > passing -P (which should get the lxcpath from default values)?
> > 
> > I'm unfortunately 7000km away from my LXC on Android hardware and will
> > only be able to test it on the 3rd of January.
> 
> Should we revert the patch with a note to test on android on jan 4th?

Since I just published a blog post telling people they can use LXC on
Android using current git head, that may be the safer course of action
indeed.

-- 
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20131223/0a02ba87/attachment.pgp>


More information about the lxc-devel mailing list