Re: [RFC][PATCH 04/20] pspace: Allow multiple instaces of the processid namespace
From: Kirill Korotaev
Date: Mon Feb 20 2006 - 06:44:11 EST
And we are too cycled on PIDs. Why? I think this is the most minor
feature which can easily live out of mainstream if needed, while
virtualization is the main goal.
although I could be totally ignorant regarding the PID
stuff, it seems to me that it pretty well reflects the
requirements for virtualization in general, while being
simple enough to check/test several solutions ...
why? simple: it reflects the way 'containers' work in
general, it has all the issues with administration and
setup, similar to 'guests' (it requires some management
and access from outside, while providing security and
isolation inside), containers could be easily built on
top of that or as an addition to the pid space structures
at the same time it's easy to test, and issues will show
up quite early, so that they can be discussed and, if
necessary, solved without rewriting an entire framework.
I would disagree with you. These discussions IMHO led us to the wrong
direction.
Can I ask a bunch of questions which are related to other virtualization
issues, but which are not addressed by Eric anyhow?
- How are you planning to make hierarchical namespaces for such
resources as IPC? Sockets? Unix sockets?
Process tree is hierarchical by it's nature. But what is heirarchical
IPC and other resources?
And no one ever told me why we need heierarchy at all. No any _real_ use
cases. But it's ok.
- Eric wants to introduce name spaces, but totally forgots how much they
are tied with each other. IPC refers to netlinks, network refers to proc
and sysctl, etc. It is some rare cases when you will be able to use
namespaces without full OpenVZ/vserver containers.
But yes, you are right it will be quite easy for us to use containers on
top of namespaces :)
- How long these namespaces live? And which management interface each of
them will have?
For example, can you destroy some namespace? Or it is automatically
destroyed when the last reference to it is dropped? This is not that
simple question as it may seem to be, especially taking into account
that some namespaces can live longer (e.g. time wait buckets should live
some time after container died; or shm which also can die in a foreign
context...).
So I really hate that we concentrated on discussion of VPIDs, while
there are more general and global questions on the whole virtualization
itself.
now that you mention it, maybe we should have a few
rounds how those 'generic' container syscalls would
look like?
First of all, I don't think syscalls like
"do_something and exec" should be introduced.
Next, these syscalls interfaces can be introduced only after we
discussed the _general_ concepts, like: how these containers exist,
live, are created, waited and so on. But this is impossible to discuss
on PID example only. Because:
1. pids are directly related to process lifetime. no much issues here.
2. pids are hierarchical by its nature.
3. there are much more approaches here, then in network for example.
Kirill
-
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/