[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0706070811270.6059@alien.or.mcafeemobile.com>
Date: Thu, 7 Jun 2007 08:41:18 -0700 (PDT)
From: Davide Libenzi <davidel@...ilserver.org>
To: Alan Cox <alan@...rguk.ukuu.org.uk>
cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Ulrich Drepper <drepper@...hat.com>,
Ingo Molnar <mingo@...e.hu>, Eric Dumazet <dada1@...mosbay.com>
Subject: Re: [patch 7/8] fdmap v2 - implement sys_socket2
On Thu, 7 Jun 2007, Alan Cox wrote:
> > I don't think it's a matter of versioning. Many userspace libraries
> > expects their fds to be compact (for many reasons - they use select, they
> > use them to index 0-based arrays, etc...), and if the kernel suddendly
> > starts returning values in the 1<<28 up arena, they sure won't be happy.
> > So I believe that the correct way is that the caller specifically selects
> > the feature, leaving the legacy fd allocation as default.
>
> I don't understand the connection between this paragraph (with which I
> agree) and the urge to add a ton of ugly syscall hacks. "Caller
> specifically selects feature" - > prctl(). Libraries get unhappy ->
> linker issue.
I meant, caller specifically selects the feature, on a per-fd basis. If
you select the task flag runtime, then all the allocated fds will be in
the non-sequential area. Even fds allocated inside the library code, with
libraries not expecting this. I fail to understand how a linker can nicely
solve this. If my app is using, for its own reasons, fds in the
non-sequential area, and library XYZ internally uses fds and does not like
them in that area, I still want to link to that library. As long as I do
not pass my fds to the library ("XYZ internally .."), this must still
work. The contrary is also true. If my app is not non-sequential fd aware,
and my library wants to use them in order to keep them alive from apps
doing the for-each-fd-close loop, with a per-fd policy, you can still mix
them together.
Or are you planning to have two sets of each userspace (userspace is not
only glibc, there's other stuff too) libraries?
- Davide
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists