diff options
Diffstat (limited to 'kernel/delayacct.c')
-rw-r--r-- | kernel/delayacct.c | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/kernel/delayacct.c b/kernel/delayacct.c index 57ca3730205..36752f124c6 100644 --- a/kernel/delayacct.c +++ b/kernel/delayacct.c | |||
@@ -41,24 +41,11 @@ void delayacct_init(void) | |||
41 | 41 | ||
42 | void __delayacct_tsk_init(struct task_struct *tsk) | 42 | void __delayacct_tsk_init(struct task_struct *tsk) |
43 | { | 43 | { |
44 | spin_lock_init(&tsk->delays_lock); | ||
45 | /* No need to acquire tsk->delays_lock for allocation here unless | ||
46 | __delayacct_tsk_init called after tsk is attached to tasklist | ||
47 | */ | ||
48 | tsk->delays = kmem_cache_zalloc(delayacct_cache, SLAB_KERNEL); | 44 | tsk->delays = kmem_cache_zalloc(delayacct_cache, SLAB_KERNEL); |
49 | if (tsk->delays) | 45 | if (tsk->delays) |
50 | spin_lock_init(&tsk->delays->lock); | 46 | spin_lock_init(&tsk->delays->lock); |
51 | } | 47 | } |
52 | 48 | ||
53 | void __delayacct_tsk_exit(struct task_struct *tsk) | ||
54 | { | ||
55 | struct task_delay_info *delays = tsk->delays; | ||
56 | spin_lock(&tsk->delays_lock); | ||
57 | tsk->delays = NULL; | ||
58 | spin_unlock(&tsk->delays_lock); | ||
59 | kmem_cache_free(delayacct_cache, delays); | ||
60 | } | ||
61 | |||
62 | /* | 49 | /* |
63 | * Start accounting for a delay statistic using | 50 | * Start accounting for a delay statistic using |
64 | * its starting timestamp (@start) | 51 | * its starting timestamp (@start) |
@@ -118,8 +105,6 @@ int __delayacct_add_tsk(struct taskstats *d, struct task_struct *tsk) | |||
118 | struct timespec ts; | 105 | struct timespec ts; |
119 | unsigned long t1,t2,t3; | 106 | unsigned long t1,t2,t3; |
120 | 107 | ||
121 | spin_lock(&tsk->delays_lock); | ||
122 | |||
123 | /* Though tsk->delays accessed later, early exit avoids | 108 | /* Though tsk->delays accessed later, early exit avoids |
124 | * unnecessary returning of other data | 109 | * unnecessary returning of other data |
125 | */ | 110 | */ |
@@ -161,7 +146,6 @@ int __delayacct_add_tsk(struct taskstats *d, struct task_struct *tsk) | |||
161 | spin_unlock(&tsk->delays->lock); | 146 | spin_unlock(&tsk->delays->lock); |
162 | 147 | ||
163 | done: | 148 | done: |
164 | spin_unlock(&tsk->delays_lock); | ||
165 | return 0; | 149 | return 0; |
166 | } | 150 | } |
167 | 151 | ||