ipc/sem.c: remove private structures from public header file
include/linux/sem.h contains several structures that are only used within ipc/sem.c. The patch moves them into ipc/sem.c - there is no need to expose the structures to the whole kernel. No functional changes, only whitespace cleanups and 80-char per line fixes. Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Mike Galbraith <efault@gmx.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
0b0577f608
commit
e57940d719
|
@ -83,13 +83,6 @@ struct seminfo {
|
||||||
|
|
||||||
struct task_struct;
|
struct task_struct;
|
||||||
|
|
||||||
/* One semaphore structure for each semaphore in the system. */
|
|
||||||
struct sem {
|
|
||||||
int semval; /* current value */
|
|
||||||
int sempid; /* pid of last operation */
|
|
||||||
struct list_head sem_pending; /* pending single-sop operations */
|
|
||||||
};
|
|
||||||
|
|
||||||
/* One sem_array data structure for each set of semaphores in the system. */
|
/* One sem_array data structure for each set of semaphores in the system. */
|
||||||
struct sem_array {
|
struct sem_array {
|
||||||
struct kern_ipc_perm ____cacheline_aligned_in_smp
|
struct kern_ipc_perm ____cacheline_aligned_in_smp
|
||||||
|
@ -103,41 +96,6 @@ struct sem_array {
|
||||||
int complex_count; /* pending complex operations */
|
int complex_count; /* pending complex operations */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* One queue for each sleeping process in the system. */
|
|
||||||
struct sem_queue {
|
|
||||||
struct list_head simple_list; /* queue of pending operations */
|
|
||||||
struct list_head list; /* queue of pending operations */
|
|
||||||
struct task_struct *sleeper; /* this process */
|
|
||||||
struct sem_undo *undo; /* undo structure */
|
|
||||||
int pid; /* process id of requesting process */
|
|
||||||
int status; /* completion status of operation */
|
|
||||||
struct sembuf *sops; /* array of pending operations */
|
|
||||||
int nsops; /* number of operations */
|
|
||||||
int alter; /* does the operation alter the array? */
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Each task has a list of undo requests. They are executed automatically
|
|
||||||
* when the process exits.
|
|
||||||
*/
|
|
||||||
struct sem_undo {
|
|
||||||
struct list_head list_proc; /* per-process list: all undos from one process. */
|
|
||||||
/* rcu protected */
|
|
||||||
struct rcu_head rcu; /* rcu struct for sem_undo() */
|
|
||||||
struct sem_undo_list *ulp; /* sem_undo_list for the process */
|
|
||||||
struct list_head list_id; /* per semaphore array list: all undos for one array */
|
|
||||||
int semid; /* semaphore set identifier */
|
|
||||||
short * semadj; /* array of adjustments, one per semaphore */
|
|
||||||
};
|
|
||||||
|
|
||||||
/* sem_undo_list controls shared access to the list of sem_undo structures
|
|
||||||
* that may be shared among all a CLONE_SYSVSEM task group.
|
|
||||||
*/
|
|
||||||
struct sem_undo_list {
|
|
||||||
atomic_t refcnt;
|
|
||||||
spinlock_t lock;
|
|
||||||
struct list_head list_proc;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct sysv_sem {
|
struct sysv_sem {
|
||||||
struct sem_undo_list *undo_list;
|
struct sem_undo_list *undo_list;
|
||||||
};
|
};
|
||||||
|
|
46
ipc/sem.c
46
ipc/sem.c
|
@ -90,6 +90,52 @@
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
|
/* One semaphore structure for each semaphore in the system. */
|
||||||
|
struct sem {
|
||||||
|
int semval; /* current value */
|
||||||
|
int sempid; /* pid of last operation */
|
||||||
|
struct list_head sem_pending; /* pending single-sop operations */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* One queue for each sleeping process in the system. */
|
||||||
|
struct sem_queue {
|
||||||
|
struct list_head simple_list; /* queue of pending operations */
|
||||||
|
struct list_head list; /* queue of pending operations */
|
||||||
|
struct task_struct *sleeper; /* this process */
|
||||||
|
struct sem_undo *undo; /* undo structure */
|
||||||
|
int pid; /* process id of requesting process */
|
||||||
|
int status; /* completion status of operation */
|
||||||
|
struct sembuf *sops; /* array of pending operations */
|
||||||
|
int nsops; /* number of operations */
|
||||||
|
int alter; /* does *sops alter the array? */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Each task has a list of undo requests. They are executed automatically
|
||||||
|
* when the process exits.
|
||||||
|
*/
|
||||||
|
struct sem_undo {
|
||||||
|
struct list_head list_proc; /* per-process list: *
|
||||||
|
* all undos from one process
|
||||||
|
* rcu protected */
|
||||||
|
struct rcu_head rcu; /* rcu struct for sem_undo */
|
||||||
|
struct sem_undo_list *ulp; /* back ptr to sem_undo_list */
|
||||||
|
struct list_head list_id; /* per semaphore array list:
|
||||||
|
* all undos for one array */
|
||||||
|
int semid; /* semaphore set identifier */
|
||||||
|
short *semadj; /* array of adjustments */
|
||||||
|
/* one per semaphore */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* sem_undo_list controls shared access to the list of sem_undo structures
|
||||||
|
* that may be shared among all a CLONE_SYSVSEM task group.
|
||||||
|
*/
|
||||||
|
struct sem_undo_list {
|
||||||
|
atomic_t refcnt;
|
||||||
|
spinlock_t lock;
|
||||||
|
struct list_head list_proc;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
#define sem_ids(ns) ((ns)->ids[IPC_SEM_IDS])
|
#define sem_ids(ns) ((ns)->ids[IPC_SEM_IDS])
|
||||||
|
|
||||||
#define sem_unlock(sma) ipc_unlock(&(sma)->sem_perm)
|
#define sem_unlock(sma) ipc_unlock(&(sma)->sem_perm)
|
||||||
|
|
Loading…
Reference in New Issue