summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-08-08 19:25:53 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-08-08 19:25:53 +0000
commit57445428488a2862840c4d7c96d7746c11031aaf (patch)
tree60b88b3a21896a33ee4dccc727d88b745a9ff731 /kernel
parent2e837819b1563679b55363d469239fdf4f17fbbb (diff)
Merge with Linu 2.4.0-test6-pre6.
Diffstat (limited to 'kernel')
-rw-r--r--kernel/kmod.c3
-rw-r--r--kernel/softirq.c1
-rw-r--r--kernel/timer.c4
3 files changed, 7 insertions, 1 deletions
diff --git a/kernel/kmod.c b/kernel/kmod.c
index 348210c3b..4941840a7 100644
--- a/kernel/kmod.c
+++ b/kernel/kmod.c
@@ -111,7 +111,8 @@ int exec_usermodehelper(char *program_path, char *argv[], char *envp[])
{
struct user_struct *user = current->user;
current->user = INIT_USER;
- atomic_inc(&current->user->__count);
+ atomic_inc(&INIT_USER->__count);
+ atomic_inc(&INIT_USER->processes);
atomic_dec(&user->processes);
free_uid(user);
}
diff --git a/kernel/softirq.c b/kernel/softirq.c
index 8c5410315..12a82399d 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -9,6 +9,7 @@
* Rewritten. Old one was good in 2.2, but in 2.3 it was immoral. --ANK (990903)
*/
+#include <linux/config.h>
#include <linux/mm.h>
#include <linux/kernel_stat.h>
#include <linux/interrupt.h>
diff --git a/kernel/timer.c b/kernel/timer.c
index 108ca240f..92d8af4b5 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -22,6 +22,7 @@
#include <linux/smp_lock.h>
#include <linux/interrupt.h>
#include <linux/kernel_stat.h>
+#include <linux/slab.h>
#include <asm/uaccess.h>
@@ -599,6 +600,9 @@ void update_process_times(int user_tick)
kstat.per_cpu_system[cpu] += system;
} else if (local_bh_count(cpu) || local_irq_count(cpu) > 1)
kstat.per_cpu_system[cpu] += system;
+
+ if (slab_cache_drain_mask & (1UL << cpu))
+ slab_drain_local_cache();
}
/*