aboutsummaryrefslogtreecommitdiffstats
path: root/ipc/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'ipc/util.c')
-rw-r--r--ipc/util.c40
1 files changed, 0 insertions, 40 deletions
diff --git a/ipc/util.c b/ipc/util.c
index 88adc329888c..106bed0378ab 100644
--- a/ipc/util.c
+++ b/ipc/util.c
@@ -71,44 +71,6 @@ struct ipc_proc_iface {
71 int (*show)(struct seq_file *, void *); 71 int (*show)(struct seq_file *, void *);
72}; 72};
73 73
74static void ipc_memory_notifier(struct work_struct *work)
75{
76 ipcns_notify(IPCNS_MEMCHANGED);
77}
78
79static int ipc_memory_callback(struct notifier_block *self,
80 unsigned long action, void *arg)
81{
82 static DECLARE_WORK(ipc_memory_wq, ipc_memory_notifier);
83
84 switch (action) {
85 case MEM_ONLINE: /* memory successfully brought online */
86 case MEM_OFFLINE: /* or offline: it's time to recompute msgmni */
87 /*
88 * This is done by invoking the ipcns notifier chain with the
89 * IPC_MEMCHANGED event.
90 * In order not to keep the lock on the hotplug memory chain
91 * for too long, queue a work item that will, when waken up,
92 * activate the ipcns notification chain.
93 */
94 schedule_work(&ipc_memory_wq);
95 break;
96 case MEM_GOING_ONLINE:
97 case MEM_GOING_OFFLINE:
98 case MEM_CANCEL_ONLINE:
99 case MEM_CANCEL_OFFLINE:
100 default:
101 break;
102 }
103
104 return NOTIFY_OK;
105}
106
107static struct notifier_block ipc_memory_nb = {
108 .notifier_call = ipc_memory_callback,
109 .priority = IPC_CALLBACK_PRI,
110};
111
112/** 74/**
113 * ipc_init - initialise ipc subsystem 75 * ipc_init - initialise ipc subsystem
114 * 76 *
@@ -124,8 +86,6 @@ static int __init ipc_init(void)
124 sem_init(); 86 sem_init();
125 msg_init(); 87 msg_init();
126 shm_init(); 88 shm_init();
127 register_hotmemory_notifier(&ipc_memory_nb);
128 register_ipcns_notifier(&init_ipc_ns);
129 return 0; 89 return 0;
130} 90}
131device_initcall(ipc_init); 91device_initcall(ipc_init);