[PATCH] Move pidmap to pspace.h
Move struct pidmap and PIDMAP_ENTRIES to a new file, include/linux/pspace.h where it will be used in subsequent patches to define pid spaces. Its a subset of Eric Biederman's patch http://lkml.org/lkml/2006/2/6/285 [akpm@osdl.org: cleanups] Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Sukadev Bhattiprolu <sukadev@us.ibm.com> Cc: Dave Hansen <haveblue@us.ibm.com> Cc: Serge Hallyn <serue@us.ibm.com> Cc: Cedric Le Goater <clg@fr.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
d387cae075
commit
aa5a6662f9
2 changed files with 17 additions and 6 deletions
16
include/linux/pspace.h
Normal file
16
include/linux/pspace.h
Normal file
|
@ -0,0 +1,16 @@
|
|||
#ifndef _LINUX_PSPACE_H
|
||||
#define _LINUX_PSPACE_H
|
||||
|
||||
#include <linux/sched.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/threads.h>
|
||||
#include <linux/pid.h>
|
||||
|
||||
struct pidmap {
|
||||
atomic_t nr_free;
|
||||
void *page;
|
||||
};
|
||||
|
||||
#define PIDMAP_ENTRIES ((PID_MAX_LIMIT + 8*PAGE_SIZE - 1)/PAGE_SIZE/8)
|
||||
|
||||
#endif /* _LINUX_PSPACE_H */
|
|
@ -26,6 +26,7 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/hash.h>
|
||||
#include <linux/pspace.h>
|
||||
|
||||
#define pid_hashfn(nr) hash_long((unsigned long)nr, pidhash_shift)
|
||||
static struct hlist_head *pid_hash;
|
||||
|
@ -40,7 +41,6 @@ int last_pid;
|
|||
int pid_max_min = RESERVED_PIDS + 1;
|
||||
int pid_max_max = PID_MAX_LIMIT;
|
||||
|
||||
#define PIDMAP_ENTRIES ((PID_MAX_LIMIT + 8*PAGE_SIZE - 1)/PAGE_SIZE/8)
|
||||
#define BITS_PER_PAGE (PAGE_SIZE*8)
|
||||
#define BITS_PER_PAGE_MASK (BITS_PER_PAGE-1)
|
||||
#define mk_pid(map, off) (((map) - pidmap_array)*BITS_PER_PAGE + (off))
|
||||
|
@ -53,11 +53,6 @@ int pid_max_max = PID_MAX_LIMIT;
|
|||
* value does not cause lots of bitmaps to be allocated, but
|
||||
* the scheme scales to up to 4 million PIDs, runtime.
|
||||
*/
|
||||
struct pidmap {
|
||||
atomic_t nr_free;
|
||||
void *page;
|
||||
};
|
||||
|
||||
static struct pidmap pidmap_array[PIDMAP_ENTRIES] =
|
||||
{ [ 0 ... PIDMAP_ENTRIES-1 ] = { ATOMIC_INIT(BITS_PER_PAGE), NULL } };
|
||||
|
||||
|
|
Loading…
Reference in a new issue