Changes to support Andy's new CPU scheduler
[linux-2.6.git] / kernel / vserver / Kconfig
1 #
2 # Linux VServer configuration
3 #
4
5 config  VSERVER
6         bool
7         default y
8
9 config  VSERVER_SECURITY
10         bool
11         depends on SECURITY
12         default y
13         select SECURITY_CAPABILITIES
14
15 config  VSERVER_LEGACYNET
16         bool
17         depends on !VSERVER_NGNET
18         default y
19
20 menu "Linux VServer"
21
22 config  VSERVER_FILESHARING
23         bool    "(PLANETLAB) Disable Hidden File Module"
24         default y
25         help
26           This retains the module that when a vserver can
27           see a file, it can also stat and read it.  The
28           assumption is that chroot() works and vservers
29           are contained that way.
30
31 config  VSERVER_LEGACY
32         bool    "Enable Legacy Kernel API"
33         default y
34         help
35           This enables the legacy API used in vs1.xx, maintaining
36           compatibility with older vserver tools, and guest images
37           that are configured using the legacy method.  This is
38           probably a good idea for now, for migration purposes.
39
40           Note that some tools have not yet been altered to use
41           this API, so disabling this option may reduce some
42           functionality.
43
44 config  VSERVER_LEGACY_VERSION
45         bool    "Show a Legacy Version ID"
46         depends on VSERVER_LEGACY
47         default n
48         help
49           This shows a special legacy version to very old tools
50           which do not handle the current version correctly.
51
52           This will probably disable some features of newer tools
53           so better avoid it, unless you really, really need it
54           for backwards compatibility.
55
56 config  VSERVER_NGNET
57         bool    "Disable Legacy Networking Kernel API"
58         depends on EXPERIMENTAL
59         default n
60         help
61           This disables the legacy networking API which is required
62           by the chbind tool. Do not disable it unless you exactly
63           know what you are doing.
64
65 config  VSERVER_PROC_SECURE
66         bool    "Enable Proc Security"
67         depends on PROC_FS
68         default y
69         help
70           This configures ProcFS security to initially hide
71           non-process entries for all contexts except the main and
72           spectator context (i.e. for all guests), which is a secure
73           default.
74
75           (note: on 1.2x the entries were visible by default)
76
77 config  VSERVER_HARDCPU
78         bool    "Enable Hard CPU Limits"
79         depends on EXPERIMENTAL
80         default n
81         help
82           Activate the Hard CPU Limits
83
84           This will compile in code that allows the Token Bucket
85           Scheduler to put processes on hold when a context's
86           tokens are depleted (provided that its per-context
87           sched_hard flag is set).
88
89           Processes belonging to that context will not be able
90           to consume CPU resources again until a per-context
91           configured minimum of tokens has been reached.
92
93 config  VSERVER_HARDCPU_IDLE
94         bool    "Limit the IDLE task"
95         depends on VSERVER_HARDCPU
96         default n
97         help
98           Limit the idle slices, so the the next context
99           will be scheduled as soon as possible.
100
101           This might improve interactivity and latency, but
102           will also marginally increase scheduling overhead.
103
104 config  VSERVER_ACB_SCHED
105         bool    "Guaranteed/fair share scheduler"
106         depends on VSERVER_HARDCPU
107         default n
108         help
109           Andy Bavier's experimental scheduler
110
111 choice
112         prompt  "Persistent Inode Context Tagging"
113         default INOXID_UGID24
114         help
115           This adds persistent context information to filesystems
116           mounted with the tagxid option. Tagging is a requirement
117           for per-context disk limits and per-context quota.
118
119
120 config  INOXID_NONE
121         bool    "Disabled"
122         help
123           do not store per-context information in inodes.
124
125 config  INOXID_UID16
126         bool    "UID16/GID32"
127         help
128           reduces UID to 16 bit, but leaves GID at 32 bit.
129
130 config  INOXID_GID16
131         bool    "UID32/GID16"
132         help
133           reduces GID to 16 bit, but leaves UID at 32 bit.
134
135 config  INOXID_UGID24
136         bool    "UID24/GID24"
137         help
138           uses the upper 8bit from UID and GID for XID tagging
139           which leaves 24bit for UID/GID each, which should be
140           more than sufficient for normal use.
141
142 config  INOXID_INTERN
143         bool    "UID32/GID32"
144         help
145           this uses otherwise reserved inode fields in the on
146           disk representation, which limits the use to a few
147           filesystems (currently ext2 and ext3)
148
149 config  INOXID_RUNTIME
150         bool    "Runtime"
151         depends on EXPERIMENTAL
152         help
153           inodes are tagged when first accessed, this doesn't
154           require any persistant information, but might give
155           funny results for mixed access.
156
157 endchoice
158
159 config  XID_TAG_NFSD
160         bool    "Tag NFSD User Auth and Files"
161         default n
162         help
163           Enable this if you do want the in-kernel NFS
164           Server to use the xid tagging specified above.
165           (will require patched clients too)
166
167 config  VSERVER_DEBUG
168         bool    "VServer Debugging Code"
169         default n
170         help
171           Set this to yes if you want to be able to activate
172           debugging output at runtime. It adds a probably small
173           overhead to all vserver related functions and
174           increases the kernel size by about 20k.
175
176 config  VSERVER_HISTORY
177         bool    "VServer History Tracing"
178         depends on VSERVER_DEBUG
179         default n
180         help
181           Set this to yes if you want to record the history of
182           linux-vserver activities, so they can be replayed in
183           the event of a kernel panic or oops.
184
185 config  VSERVER_HISTORY_SIZE
186         int "Per-CPU History Size (32-65536)"
187         depends on VSERVER_HISTORY
188         range 32 65536
189         default 64
190         help
191           This allows you to specify the number of entries in
192           the per-CPU history buffer.
193
194 endmenu
195