Re: [RFC][PATCH 0/4] Object creation with a specified id

From: Oren Laadan
Date: Tue Apr 15 2008 - 14:54:19 EST




Nadia Derbey wrote:
Nick Andrew wrote:
On Fri, Apr 04, 2008 at 04:51:29PM +0200, Nadia.Derbey@xxxxxxxx wrote:

. echo "LONG XX" > /proc/self/next_id
next object to be created will have an id set to XX
. echo "LONG<n> X0 ... X<n-1>" > /proc/self/next_id
next object to be created will have its ids set to XX0, ... X<n-1>
This is particularly useful for processes that may have several ids if
they belong to nested namespaces.


How do you handle race conditions, i.e. you specify the ID for the
next object to be created, and then some other thread goes and creates
an object before your thread creates one?

Nick.


Sorry for not answering earlier, I just saw your e-mail!

[I too managed to miss that message].


It's true that the way I've done things, the "create_with_id" doesn't take into account multi-threaded apps, since "self" is related to the thread group leader.

May be using something like /proc/self/task/<my_tid>/next_id would be better, but I have to think more about it...

That /proc/self links to /proc/TGID slipped my mind. Definitely must
be done on a per-thread basis (and /proc/<TGID>/task/<PID>/next_id
will do the trick).

Oren.


Regards,
Nadia
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/