summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-07-11 02:32:09 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-07-11 02:32:09 +0000
commit7f5ea64ad438953cbeb3055f424dfac01d5bcfc7 (patch)
treef8cabc30da0d0eaa578cb6369c816e02af148510 /arch
parent99e873a7003ab3980a6296c29066e3ab7956a009 (diff)
Merge with Linux 2.4.0-test3.
Diffstat (limited to 'arch')
-rw-r--r--arch/alpha/kernel/process.c2
-rw-r--r--arch/alpha/kernel/smp.c2
-rw-r--r--arch/arm/kernel/process.c2
-rw-r--r--arch/i386/defconfig7
-rw-r--r--arch/i386/kernel/apic.c2
-rw-r--r--arch/i386/kernel/entry.S4
-rw-r--r--arch/i386/kernel/process.c2
-rw-r--r--arch/i386/kernel/time.c16
-rw-r--r--arch/ia64/kernel/process.c2
-rw-r--r--arch/ia64/kernel/smp.c2
-rw-r--r--arch/m68k/kernel/process.c2
-rw-r--r--arch/mips/kernel/irixelf.c2
-rw-r--r--arch/mips/kernel/process.c2
-rw-r--r--arch/mips/kernel/time.c8
-rw-r--r--arch/mips/tools/offset.c2
-rw-r--r--arch/mips64/kernel/process.c2
-rw-r--r--arch/mips64/sgi-ip27/ip27-timer.c8
-rw-r--r--arch/mips64/tools/offset.c9
-rw-r--r--arch/ppc/kernel/smp.c2
-rw-r--r--arch/s390/kernel/process.c2
-rw-r--r--arch/s390/kernel/smp.c2
-rw-r--r--arch/sh/kernel/process.c2
-rw-r--r--arch/sparc/kernel/process.c2
-rw-r--r--arch/sparc/kernel/sun4d_smp.c2
-rw-r--r--arch/sparc/kernel/sun4m_smp.c2
-rw-r--r--arch/sparc64/kernel/process.c2
-rw-r--r--arch/sparc64/kernel/smp.c2
27 files changed, 45 insertions, 49 deletions
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c
index 27b042777..81d85386d 100644
--- a/arch/alpha/kernel/process.c
+++ b/arch/alpha/kernel/process.c
@@ -74,7 +74,7 @@ void
cpu_idle(void)
{
/* An endless idle loop with no priority at all. */
- current->priority = 0;
+ current->nice = 20;
current->counter = -100;
while (1) {
diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c
index b812e2c64..b00e7d79b 100644
--- a/arch/alpha/kernel/smp.c
+++ b/arch/alpha/kernel/smp.c
@@ -651,7 +651,7 @@ smp_percpu_timer_interrupt(struct pt_regs *regs)
}
if (user) {
- if (current->priority < DEF_PRIORITY) {
+ if (current->nice > 0) {
kstat.cpu_nice++;
kstat.per_cpu_nice[cpu]++;
} else {
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index cab969c5c..f281f7337 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -75,7 +75,7 @@ void cpu_idle(void)
{
/* endless idle loop with no priority at all */
init_idle();
- current->priority = 0;
+ current->nice = 20;
current->counter = -100;
while (1) {
diff --git a/arch/i386/defconfig b/arch/i386/defconfig
index 068aceaf2..35444fef3 100644
--- a/arch/i386/defconfig
+++ b/arch/i386/defconfig
@@ -45,6 +45,7 @@ CONFIG_NOHIGHMEM=y
# CONFIG_MATH_EMULATION is not set
# CONFIG_MTRR is not set
CONFIG_SMP=y
+CONFIG_HAVE_DEC_LOCK=y
#
# Loadable module support
@@ -141,14 +142,10 @@ CONFIG_INET=y
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_ALIAS is not set
+# CONFIG_INET_ECN is not set
# CONFIG_SYN_COOKIES is not set
#
-# (it is safe to leave these untouched)
-#
-CONFIG_SKB_LARGE=y
-
-#
#
#
# CONFIG_IPX is not set
diff --git a/arch/i386/kernel/apic.c b/arch/i386/kernel/apic.c
index 88d571654..0600d91a9 100644
--- a/arch/i386/kernel/apic.c
+++ b/arch/i386/kernel/apic.c
@@ -589,7 +589,7 @@ static inline void handle_smp_time (int user, int cpu)
p->counter = 0;
p->need_resched = 1;
}
- if (p->priority < DEF_PRIORITY) {
+ if (p->nice > 0) {
kstat.cpu_nice += user;
kstat.per_cpu_nice[cpu] += user;
} else {
diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S
index 660a9e1fb..da7fd047d 100644
--- a/arch/i386/kernel/entry.S
+++ b/arch/i386/kernel/entry.S
@@ -77,8 +77,8 @@ sigpending = 8
addr_limit = 12
exec_domain = 16
need_resched = 20
-processor = 48
-tsk_ptrace = 56
+tsk_ptrace = 24
+processor = 52
ENOSYS = 38
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c
index e240cc79a..83ec9d192 100644
--- a/arch/i386/kernel/process.c
+++ b/arch/i386/kernel/process.c
@@ -123,7 +123,7 @@ void cpu_idle (void)
{
/* endless idle loop with no priority at all */
init_idle();
- current->priority = 0;
+ current->nice = 20;
current->counter = -100;
while (1) {
diff --git a/arch/i386/kernel/time.c b/arch/i386/kernel/time.c
index a009a428b..4bb184112 100644
--- a/arch/i386/kernel/time.c
+++ b/arch/i386/kernel/time.c
@@ -79,7 +79,7 @@ static unsigned long last_tsc_low; /* lsb 32 bits of Time Stamp Counter */
unsigned long fast_gettimeoffset_quotient=0;
extern rwlock_t xtime_lock;
-extern volatile unsigned long lost_ticks;
+extern unsigned long wall_jiffies;
spinlock_t rtc_lock = SPIN_LOCK_UNLOCKED;
@@ -262,7 +262,7 @@ void do_gettimeofday(struct timeval *tv)
read_lock_irqsave(&xtime_lock, flags);
usec = do_gettimeoffset();
{
- unsigned long lost = lost_ticks;
+ unsigned long lost = jiffies - wall_jiffies;
if (lost)
usec += lost * (1000000 / HZ);
}
@@ -282,14 +282,14 @@ void do_gettimeofday(struct timeval *tv)
void do_settimeofday(struct timeval *tv)
{
write_lock_irq(&xtime_lock);
- /* This is revolting. We need to set the xtime.tv_usec
- * correctly. However, the value in this location is
- * is value at the last tick.
- * Discover what correction gettimeofday
- * would have done, and then undo it!
+ /*
+ * This is revolting. We need to set "xtime" correctly. However, the
+ * value in this location is the value at the most recent update of
+ * wall time. Discover what correction gettimeofday() would have
+ * made, and then undo it!
*/
tv->tv_usec -= do_gettimeoffset();
- tv->tv_usec -= lost_ticks * (1000000 / HZ);
+ tv->tv_usec -= (jiffies - wall_jiffies) * (1000000 / HZ);
while (tv->tv_usec < 0) {
tv->tv_usec += 1000000;
diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c
index 58ad3c21c..30bfcf101 100644
--- a/arch/ia64/kernel/process.c
+++ b/arch/ia64/kernel/process.c
@@ -114,7 +114,7 @@ cpu_idle (void *unused)
{
/* endless idle loop with no priority at all */
init_idle();
- current->priority = 0;
+ current->nice = 20;
current->counter = -100;
#ifdef CONFIG_SMP
diff --git a/arch/ia64/kernel/smp.c b/arch/ia64/kernel/smp.c
index e6f0f36fe..f6ae656e4 100644
--- a/arch/ia64/kernel/smp.c
+++ b/arch/ia64/kernel/smp.c
@@ -412,7 +412,7 @@ smp_do_timer(struct pt_regs *regs)
}
if (user) {
- if (current->priority < DEF_PRIORITY) {
+ if (current->nice > 0) {
kstat.cpu_nice++;
kstat.per_cpu_nice[cpu]++;
} else {
diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c
index 030b3e136..ef4a49339 100644
--- a/arch/m68k/kernel/process.c
+++ b/arch/m68k/kernel/process.c
@@ -81,7 +81,7 @@ void cpu_idle(void)
{
/* endless idle loop with no priority at all */
init_idle();
- current->priority = 0;
+ current->nice = 20;
current->counter = -100;
idle();
}
diff --git a/arch/mips/kernel/irixelf.c b/arch/mips/kernel/irixelf.c
index ee22aec9d..db8bb8698 100644
--- a/arch/mips/kernel/irixelf.c
+++ b/arch/mips/kernel/irixelf.c
@@ -1156,7 +1156,7 @@ static int irix_core_dump(long signr, struct pt_regs * regs, struct file *file)
psinfo.pr_state = i;
psinfo.pr_sname = (i < 0 || i > 5) ? '.' : "RSDZTD"[i];
psinfo.pr_zomb = psinfo.pr_sname == 'Z';
- psinfo.pr_nice = current->priority-15;
+ psinfo.pr_nice = current->nice;
psinfo.pr_flag = current->flags;
psinfo.pr_uid = current->uid;
psinfo.pr_gid = current->gid;
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
index 2353515b9..a5a630769 100644
--- a/arch/mips/kernel/process.c
+++ b/arch/mips/kernel/process.c
@@ -34,7 +34,7 @@
void cpu_idle(void)
{
/* endless idle loop with no priority at all */
- current->priority = 0;
+ current->nice = 20;
current->counter = -100;
init_idle();
diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c
index 8de389a50..43a9c9a8e 100644
--- a/arch/mips/kernel/time.c
+++ b/arch/mips/kernel/time.c
@@ -25,7 +25,7 @@
#include <linux/mc146818rtc.h>
#include <linux/timex.h>
-extern volatile unsigned long lost_ticks;
+extern volatile unsigned long wall_jiffies;
unsigned long r4k_interval = 0;
extern rwlock_t xtime_lock;
@@ -226,10 +226,10 @@ void do_gettimeofday(struct timeval *tv)
tv->tv_usec += do_gettimeoffset();
/*
- * xtime is atomically updated in timer_bh. lost_ticks is
- * nonzero if the timer bottom half hasnt executed yet.
+ * xtime is atomically updated in timer_bh. jiffies - wall_jiffies
+ * is nonzero if the timer bottom half hasnt executed yet.
*/
- if (lost_ticks)
+ if (jiffies - wall_jiffies)
tv->tv_usec += USECS_PER_JIFFY;
read_unlock_irqrestore (&xtime_lock, flags);
diff --git a/arch/mips/tools/offset.c b/arch/mips/tools/offset.c
index b76281d64..2e2af434e 100644
--- a/arch/mips/tools/offset.c
+++ b/arch/mips/tools/offset.c
@@ -81,7 +81,7 @@ void output_task_defines(void)
offset("#define TASK_SIGPENDING ", struct task_struct, sigpending);
offset("#define TASK_NEED_RESCHED ", struct task_struct, need_resched);
offset("#define TASK_COUNTER ", struct task_struct, counter);
- offset("#define TASK_PRIORITY ", struct task_struct, priority);
+ offset("#define TASK_NICE ", struct task_struct, nice);
offset("#define TASK_MM ", struct task_struct, mm);
size("#define TASK_STRUCT_SIZE ", struct task_struct);
linefeed;
diff --git a/arch/mips64/kernel/process.c b/arch/mips64/kernel/process.c
index 22ce0ed6d..ade972d6b 100644
--- a/arch/mips64/kernel/process.c
+++ b/arch/mips64/kernel/process.c
@@ -35,7 +35,7 @@ asmlinkage int cpu_idle(void)
{
/* endless idle loop with no priority at all */
init_idle();
- current->priority = 0;
+ current->nice = 20;
current->counter = -100;
while (1) {
while (!current->need_resched)
diff --git a/arch/mips64/sgi-ip27/ip27-timer.c b/arch/mips64/sgi-ip27/ip27-timer.c
index a6bcdcc95..9a88ca83d 100644
--- a/arch/mips64/sgi-ip27/ip27-timer.c
+++ b/arch/mips64/sgi-ip27/ip27-timer.c
@@ -38,7 +38,7 @@ static unsigned long ct_cur[NR_CPUS]; /* What counter should be at next timer ir
static long last_rtc_update = 0; /* Last time the rtc clock got updated */
extern rwlock_t xtime_lock;
-extern volatile unsigned long lost_ticks;
+extern volatile unsigned long wall_jiffies;
static int set_rtc_mmss(unsigned long nowtime)
@@ -120,7 +120,7 @@ again:
}
if (user) {
- if (current->priority < DEF_PRIORITY) {
+ if (current->nice > 0) {
inc = &kstat.cpu_nice;
inc2 = &kstat.per_cpu_nice[cpu];
} else {
@@ -175,7 +175,7 @@ void do_gettimeofday(struct timeval *tv)
read_lock_irqsave(&xtime_lock, flags);
usec = do_gettimeoffset();
{
- unsigned long lost = lost_ticks;
+ unsigned long lost = jiffies - wall_jiffies;
if (lost)
usec += lost * (1000000 / HZ);
}
@@ -196,7 +196,7 @@ void do_settimeofday(struct timeval *tv)
{
write_lock_irq(&xtime_lock);
tv->tv_usec -= do_gettimeoffset();
- tv->tv_usec -= lost_ticks * (1000000 / HZ);
+ tv->tv_usec -= (jiffies - wall_jiffies) * (1000000 / HZ);
while (tv->tv_usec < 0) {
tv->tv_usec += 1000000;
diff --git a/arch/mips64/tools/offset.c b/arch/mips64/tools/offset.c
index a8833e216..6fec8d313 100644
--- a/arch/mips64/tools/offset.c
+++ b/arch/mips64/tools/offset.c
@@ -1,10 +1,9 @@
-/* $Id: offset.c,v 1.4 1999/12/04 03:59:01 ralf Exp $
- *
+/*
* offset.c: Calculate pt_regs and task_struct offsets.
*
* Copyright (C) 1996 David S. Miller
- * Copyright (C) 1997, 1998, 1999 Ralf Baechle
- * Copyright (C) 1999 Silicon Graphics, Inc.
+ * Copyright (C) 1997, 1998, 1999, 2000 Ralf Baechle
+ * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
*/
#include <linux/types.h>
#include <linux/sched.h>
@@ -80,7 +79,7 @@ void output_task_defines(void)
offset("#define TASK_SIGPENDING ", struct task_struct, sigpending);
offset("#define TASK_NEED_RESCHED ", struct task_struct, need_resched);
offset("#define TASK_COUNTER ", struct task_struct, counter);
- offset("#define TASK_PRIORITY ", struct task_struct, priority);
+ offset("#define TASK_NICE ", struct task_struct, nice);
offset("#define TASK_MM ", struct task_struct, mm);
offset("#define TASK_PROCESSOR ", struct task_struct, processor);
size("#define TASK_STRUCT_SIZE ", struct task_struct);
diff --git a/arch/ppc/kernel/smp.c b/arch/ppc/kernel/smp.c
index 78157554d..176a47ca5 100644
--- a/arch/ppc/kernel/smp.c
+++ b/arch/ppc/kernel/smp.c
@@ -95,7 +95,7 @@ void smp_local_timer_interrupt(struct pt_regs * regs)
p->counter = 0;
current->need_resched = 1;
}
- if (p->priority < DEF_PRIORITY) {
+ if (p->nice > 0) {
kstat.cpu_nice += user;
kstat.per_cpu_nice[cpu] += user;
} else {
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
index 33e8092cf..93d4dff76 100644
--- a/arch/s390/kernel/process.c
+++ b/arch/s390/kernel/process.c
@@ -59,7 +59,7 @@ int cpu_idle(void *unused)
{
/* endless idle loop with no priority at all */
init_idle();
- current->priority = 0;
+ current->nice = 20;
current->counter = -100;
wait_psw.mask = _WAIT_PSW_MASK;
wait_psw.addr = (unsigned long) &&idle_wakeup | 0x80000000L;
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index e8b975070..8f72782d2 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -712,7 +712,7 @@ void smp_local_timer_interrupt(struct pt_regs * regs)
p->counter = 0;
p->need_resched = 1;
}
- if (p->priority < DEF_PRIORITY) {
+ if (p->nice > 0) {
kstat.cpu_nice += user;
kstat.per_cpu_nice[cpu] += user;
} else {
diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c
index acefb5e4f..6a949883c 100644
--- a/arch/sh/kernel/process.c
+++ b/arch/sh/kernel/process.c
@@ -63,7 +63,7 @@ void cpu_idle(void *unused)
{
/* endless idle loop with no priority at all */
init_idle();
- current->priority = 0;
+ current->nice = 20;
current->counter = -100;
while (1) {
diff --git a/arch/sparc/kernel/process.c b/arch/sparc/kernel/process.c
index e18d91e0e..ae76ef0e0 100644
--- a/arch/sparc/kernel/process.c
+++ b/arch/sparc/kernel/process.c
@@ -60,7 +60,7 @@ int cpu_idle(void)
goto out;
/* endless idle loop with no priority at all */
- current->priority = 0;
+ current->nice = 20;
current->counter = -100;
init_idle();
diff --git a/arch/sparc/kernel/sun4d_smp.c b/arch/sparc/kernel/sun4d_smp.c
index ac9caa27f..79ea6061e 100644
--- a/arch/sparc/kernel/sun4d_smp.c
+++ b/arch/sparc/kernel/sun4d_smp.c
@@ -484,7 +484,7 @@ void smp4d_percpu_timer_interrupt(struct pt_regs *regs)
}
if(user) {
- if(current->priority < DEF_PRIORITY) {
+ if(current->nice > 0) {
kstat.cpu_nice++;
kstat.per_cpu_nice[cpu]++;
} else {
diff --git a/arch/sparc/kernel/sun4m_smp.c b/arch/sparc/kernel/sun4m_smp.c
index f0e046db3..289d746bd 100644
--- a/arch/sparc/kernel/sun4m_smp.c
+++ b/arch/sparc/kernel/sun4m_smp.c
@@ -471,7 +471,7 @@ void smp4m_percpu_timer_interrupt(struct pt_regs *regs)
}
if(user) {
- if(current->priority < DEF_PRIORITY) {
+ if(current->nice > 0) {
kstat.cpu_nice++;
kstat.per_cpu_nice[cpu]++;
} else {
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c
index dd8b8274d..732c6975b 100644
--- a/arch/sparc64/kernel/process.c
+++ b/arch/sparc64/kernel/process.c
@@ -53,7 +53,7 @@ int cpu_idle(void)
return -EPERM;
/* endless idle loop with no priority at all */
- current->priority = 0;
+ current->nice = 20;
current->counter = -100;
init_idle();
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c
index 40b12eb6a..acd65f3f2 100644
--- a/arch/sparc64/kernel/smp.c
+++ b/arch/sparc64/kernel/smp.c
@@ -717,7 +717,7 @@ void smp_percpu_timer_interrupt(struct pt_regs *regs)
}
if (user) {
- if (current->priority < DEF_PRIORITY) {
+ if (current->nice > 0) {
inc = &kstat.cpu_nice;
inc2 = &kstat.per_cpu_nice[cpu];
} else {