Skip to content

Commit

Permalink
[PATCH] Move pidmap to pspace.h
Browse files Browse the repository at this point in the history
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

[[email protected]: cleanups]
Signed-off-by: Eric W. Biederman <[email protected]>
Signed-off-by: Sukadev Bhattiprolu <[email protected]>
Cc: Dave Hansen <[email protected]>
Cc: Serge Hallyn <[email protected]>
Cc: Cedric Le Goater <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Sukadev Bhattiprolu authored and Linus Torvalds committed Oct 2, 2006
1 parent d387cae commit aa5a666
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 6 deletions.
16 changes: 16 additions & 0 deletions include/linux/pspace.h
Original file line number Diff line number Diff line change
@@ -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 */
7 changes: 1 addition & 6 deletions kernel/pid.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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))
Expand All @@ -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 } };

Expand Down

0 comments on commit aa5a666

Please sign in to comment.