Changing back to per-thread credentials on Linux (fixing native AIO).
jra at samba.org
Sun Jul 1 13:26:54 MDT 2012
On Sun, Jul 01, 2012 at 08:29:39PM +0200, Volker Lendecke wrote:
> 1. Just declare the glibc posix aio implementation unusable for
> us. Let's make your aio_pthread module the built-in
> standard. This does not use signals and thus does not have
> the problem. We can provide the native posix aio as a module
> as we are doing it now with aio_pthread.
That's not a bad idea, but doesn't affect the per-thread
creds code as it is needed for the thread-implementations
of open() and the other calls I'm planning.
> 2. Let's contact the glibc maintainers for an official
> per-thread credential API.
The official per-thread creds API *is* the raw
system call API. There's no need to them to add
another API, it's already there.
> 3. Until we have that, for the open() that you are working
> on lets use a fork-based module, much like aio_fork.
I'm happy to add a fork() based module too, just not
to remove the thread-based code I already have. Alternatives
are always good.
> 4. When 2. is done, lets remove the fork approach.
I'm happy to test the fork approach as well, but
we can have both. We use the thread-specific code
where we have the credentials changing and fall
back to using the fork approach where we don't
have per-thread credentials.
> I would like to organize a confcall together with the OEM
> we're doing all this for to present our ideas and have an
> independent arbitrator. When would be a good time for you?
I'm happy to chat anytime (Mon-Tues next week, I'm
off for the 4th of July vacation the rest of the week)
but remember this isn't just one specific OEM here,
there are many interested in improving our parallelism
for these calls. Threads are here to stay :-).
More information about the samba-technical