string: factorize skip_spaces and export it to be generally available
[safe/jmp/linux-2.6] / include / linux / taskstats_kern.h
index 2b6adec..3398f45 100644 (file)
@@ -9,95 +9,29 @@
 
 #include <linux/taskstats.h>
 #include <linux/sched.h>
-#include <net/genetlink.h>
-
-enum {
-       TASKSTATS_MSG_UNICAST,          /* send data only to requester */
-       TASKSTATS_MSG_MULTICAST,        /* send data to a group */
-};
 
 #ifdef CONFIG_TASKSTATS
-extern kmem_cache_t *taskstats_cache;
+extern struct kmem_cache *taskstats_cache;
 extern struct mutex taskstats_exit_mutex;
 
-static inline int taskstats_has_listeners(void)
-{
-       if (!genl_sock)
-               return 0;
-       return netlink_has_listeners(genl_sock, TASKSTATS_LISTEN_GROUP);
-}
-
-
-static inline void taskstats_exit_alloc(struct taskstats **ptidstats)
-{
-       *ptidstats = NULL;
-       if (taskstats_has_listeners())
-               *ptidstats = kmem_cache_zalloc(taskstats_cache, SLAB_KERNEL);
-}
-
-static inline void taskstats_exit_free(struct taskstats *tidstats)
-{
-       if (tidstats)
-               kmem_cache_free(taskstats_cache, tidstats);
-}
-
 static inline void taskstats_tgid_init(struct signal_struct *sig)
 {
-       spin_lock_init(&sig->stats_lock);
        sig->stats = NULL;
 }
 
-static inline void taskstats_tgid_alloc(struct signal_struct *sig)
-{
-       struct taskstats *stats;
-       unsigned long flags;
-
-       stats = kmem_cache_zalloc(taskstats_cache, SLAB_KERNEL);
-       if (!stats)
-               return;
-
-       spin_lock_irqsave(&sig->stats_lock, flags);
-       if (!sig->stats) {
-               sig->stats = stats;
-               stats = NULL;
-       }
-       spin_unlock_irqrestore(&sig->stats_lock, flags);
-
-       if (stats)
-               kmem_cache_free(taskstats_cache, stats);
-}
-
 static inline void taskstats_tgid_free(struct signal_struct *sig)
 {
-       struct taskstats *stats = NULL;
-       unsigned long flags;
-
-       spin_lock_irqsave(&sig->stats_lock, flags);
-       if (sig->stats) {
-               stats = sig->stats;
-               sig->stats = NULL;
-       }
-       spin_unlock_irqrestore(&sig->stats_lock, flags);
-       if (stats)
-               kmem_cache_free(taskstats_cache, stats);
+       if (sig->stats)
+               kmem_cache_free(taskstats_cache, sig->stats);
 }
 
-extern void taskstats_exit_send(struct task_struct *, struct taskstats *, int);
+extern void taskstats_exit(struct task_struct *, int group_dead);
 extern void taskstats_init_early(void);
-extern void taskstats_tgid_alloc(struct signal_struct *);
 #else
-static inline void taskstats_exit_alloc(struct taskstats **ptidstats)
-{}
-static inline void taskstats_exit_free(struct taskstats *ptidstats)
-{}
-static inline void taskstats_exit_send(struct task_struct *tsk,
-                                      struct taskstats *tidstats,
-                                      int group_dead)
+static inline void taskstats_exit(struct task_struct *tsk, int group_dead)
 {}
 static inline void taskstats_tgid_init(struct signal_struct *sig)
 {}
-static inline void taskstats_tgid_alloc(struct signal_struct *sig)
-{}
 static inline void taskstats_tgid_free(struct signal_struct *sig)
 {}
 static inline void taskstats_init_early(void)