mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 02:39:48 +00:00
![Paul Menage](/assets/img/avatar_default.png)
Generic Process Control Groups -------------------------- There have recently been various proposals floating around for resource management/accounting and other task grouping subsystems in the kernel, including ResGroups, User BeanCounters, NSProxy cgroups, and others. These all need the basic abstraction of being able to group together multiple processes in an aggregate, in order to track/limit the resources permitted to those processes, or control other behaviour of the processes, and all implement this grouping in different ways. This patchset provides a framework for tracking and grouping processes into arbitrary "cgroups" and assigning arbitrary state to those groupings, in order to control the behaviour of the cgroup as an aggregate. The intention is that the various resource management and virtualization/cgroup efforts can also become task cgroup clients, with the result that: - the userspace APIs are (somewhat) normalised - it's easier to test e.g. the ResGroups CPU controller in conjunction with the BeanCounters memory controller, or use either of them as the resource-control portion of a virtual server system. - the additional kernel footprint of any of the competing resource management systems is substantially reduced, since it doesn't need to provide process grouping/containment, hence improving their chances of getting into the kernel This patch: Add the main task cgroups framework - the cgroup filesystem, and the basic structures for tracking membership and associating subsystem state objects to tasks. Signed-off-by: Paul Menage <menage@google.com> Cc: Serge E. Hallyn <serue@us.ibm.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Dave Hansen <haveblue@us.ibm.com> Cc: Balbir Singh <balbir@in.ibm.com> Cc: Paul Jackson <pj@sgi.com> Cc: Kirill Korotaev <dev@openvz.org> Cc: Herbert Poetzl <herbert@13thfloor.at> Cc: Srivatsa Vaddagiri <vatsa@in.ibm.com> Cc: Cedric Le Goater <clg@fr.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
45 lines
1.6 KiB
C
45 lines
1.6 KiB
C
#ifndef __LINUX_MAGIC_H__
|
|
#define __LINUX_MAGIC_H__
|
|
|
|
#define ADFS_SUPER_MAGIC 0xadf5
|
|
#define AFFS_SUPER_MAGIC 0xadff
|
|
#define AFS_SUPER_MAGIC 0x5346414F
|
|
#define AUTOFS_SUPER_MAGIC 0x0187
|
|
#define CODA_SUPER_MAGIC 0x73757245
|
|
#define EFS_SUPER_MAGIC 0x414A53
|
|
#define EXT2_SUPER_MAGIC 0xEF53
|
|
#define EXT3_SUPER_MAGIC 0xEF53
|
|
#define EXT4_SUPER_MAGIC 0xEF53
|
|
#define HPFS_SUPER_MAGIC 0xf995e849
|
|
#define ISOFS_SUPER_MAGIC 0x9660
|
|
#define JFFS2_SUPER_MAGIC 0x72b6
|
|
#define ANON_INODE_FS_MAGIC 0x09041934
|
|
|
|
#define MINIX_SUPER_MAGIC 0x137F /* original minix fs */
|
|
#define MINIX_SUPER_MAGIC2 0x138F /* minix fs, 30 char names */
|
|
#define MINIX2_SUPER_MAGIC 0x2468 /* minix V2 fs */
|
|
#define MINIX2_SUPER_MAGIC2 0x2478 /* minix V2 fs, 30 char names */
|
|
#define MINIX3_SUPER_MAGIC 0x4d5a /* minix V3 fs */
|
|
|
|
#define MSDOS_SUPER_MAGIC 0x4d44 /* MD */
|
|
#define NCP_SUPER_MAGIC 0x564c /* Guess, what 0x564c is :-) */
|
|
#define NFS_SUPER_MAGIC 0x6969
|
|
#define OPENPROM_SUPER_MAGIC 0x9fa1
|
|
#define PROC_SUPER_MAGIC 0x9fa0
|
|
#define QNX4_SUPER_MAGIC 0x002f /* qnx4 fs detection */
|
|
|
|
#define REISERFS_SUPER_MAGIC 0x52654973 /* used by gcc */
|
|
/* used by file system utilities that
|
|
look at the superblock, etc. */
|
|
#define REISERFS_SUPER_MAGIC_STRING "ReIsErFs"
|
|
#define REISER2FS_SUPER_MAGIC_STRING "ReIsEr2Fs"
|
|
#define REISER2FS_JR_SUPER_MAGIC_STRING "ReIsEr3Fs"
|
|
|
|
#define SMB_SUPER_MAGIC 0x517B
|
|
#define USBDEVICE_SUPER_MAGIC 0x9fa2
|
|
#define CGROUP_SUPER_MAGIC 0x27e0eb
|
|
|
|
#define FUTEXFS_SUPER_MAGIC 0xBAD1DEA
|
|
#define INOTIFYFS_SUPER_MAGIC 0x2BAD1DEA
|
|
|
|
#endif /* __LINUX_MAGIC_H__ */
|