diff options
| author | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-05 00:18:49 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-05 00:18:49 -0800 |
| commit | 1ea864f1c53bc771294e61cf9be43b1d22e78f4c (patch) | |
| tree | de928ec3d1e22abf7b0963e59092152daa5a2ecb /kernel | |
| parent | 2f886464aa00cd9eb9cf46c8c155a24a752bb317 (diff) | |
v2.5.2.6 -> v2.5.3
- Doug Ledford: i810 audio driver update
- Evgeniy Polyakov: update various SCSI drivers to new locking
- David Howells: syscall latency improvement, try 2
- Francois Romieu: dscc4 driver update
- Patrick Mochel: driver model fixes
- Andrew Morton: clean up a few details in ext3 inode initialization
- Pete Wyckoff: make x86 machine check print out right address..
- Hans Reiser: reiserfs update
- Richard Gooch: devfs update
- Greg KH: USB updates
- Dave Jones: PNPBIOS
- Nathan Scott: extended attributes
- Corey Minyard: clean up zlib duplication (triplication..)
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/fork.c | 4 | ||||
| -rw-r--r-- | kernel/ksyms.c | 1 | ||||
| -rw-r--r-- | kernel/sched.c | 16 | ||||
| -rw-r--r-- | kernel/signal.c | 8 |
4 files changed, 15 insertions, 14 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index 592405a97814..8c10cad0e021 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -631,7 +631,7 @@ int do_fork(unsigned long clone_flags, unsigned long stack_start, } spin_lock_init(&p->alloc_lock); - p->sigpending = 0; + p->work.sigpending = 0; init_sigpending(&p->pending); p->it_real_value = p->it_virt_value = p->it_prof_value = 0; @@ -755,7 +755,7 @@ int do_fork(unsigned long clone_flags, unsigned long stack_start, * Let the child process run first, to avoid most of the * COW overhead when the child exec()s afterwards. */ - current->need_resched = 1; + current->work.need_resched = 1; fork_out: return retval; diff --git a/kernel/ksyms.c b/kernel/ksyms.c index cf0da799be73..c271a8e6f6fc 100644 --- a/kernel/ksyms.c +++ b/kernel/ksyms.c @@ -207,6 +207,7 @@ EXPORT_SYMBOL(block_write_full_page); EXPORT_SYMBOL(block_read_full_page); EXPORT_SYMBOL(block_prepare_write); EXPORT_SYMBOL(block_sync_page); +EXPORT_SYMBOL(generic_cont_expand); EXPORT_SYMBOL(cont_prepare_write); EXPORT_SYMBOL(generic_commit_write); EXPORT_SYMBOL(block_truncate_page); diff --git a/kernel/sched.c b/kernel/sched.c index 0f632fcdd707..5fcebb0346fb 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -194,9 +194,9 @@ static inline void resched_task(task_t *p) { int need_resched; - need_resched = p->need_resched; + need_resched = p->work.need_resched; wmb(); - p->need_resched = 1; + p->work.need_resched = 1; if (!need_resched && (p->cpu != smp_processor_id())) smp_send_reschedule(p->cpu); } @@ -523,7 +523,7 @@ skip_queue: this_rq->nr_running++; enqueue_task(next, this_rq->active); if (next->prio < current->prio) - current->need_resched = 1; + current->work.need_resched = 1; if (!idle && --imbalance) { if (array == busiest->expired) { array = busiest->active; @@ -572,7 +572,7 @@ void scheduler_tick(task_t *p) #endif /* Task might have expired already, but not scheduled off yet */ if (p->array != rq->active) { - p->need_resched = 1; + p->work.need_resched = 1; return; } spin_lock(&rq->lock); @@ -583,7 +583,7 @@ void scheduler_tick(task_t *p) */ if ((p->policy == SCHED_RR) && !--p->time_slice) { p->time_slice = NICE_TO_TIMESLICE(p->__nice); - p->need_resched = 1; + p->work.need_resched = 1; /* put it at the end of the queue: */ dequeue_task(p, rq->active); @@ -603,7 +603,7 @@ void scheduler_tick(task_t *p) p->sleep_avg--; if (!--p->time_slice) { dequeue_task(p, rq->active); - p->need_resched = 1; + p->work.need_resched = 1; p->prio = effective_prio(p); p->time_slice = NICE_TO_TIMESLICE(p->__nice); @@ -684,7 +684,7 @@ pick_next_task: switch_tasks: prefetch(next); - prev->need_resched = 0; + prev->work.need_resched = 0; if (likely(prev != next)) { rq->nr_switches++; @@ -1318,7 +1318,7 @@ void __init init_idle(task_t *idle, int cpu) idle->state = TASK_RUNNING; idle->cpu = cpu; double_rq_unlock(idle_rq, rq); - idle->need_resched = 1; + idle->work.need_resched = 1; __restore_flags(flags); } diff --git a/kernel/signal.c b/kernel/signal.c index b5b866aa3527..3741c8a4a6ac 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -105,7 +105,7 @@ static void flush_sigqueue(struct sigpending *queue) void flush_signals(struct task_struct *t) { - t->sigpending = 0; + t->work.sigpending = 0; flush_sigqueue(&t->pending); } @@ -119,7 +119,7 @@ void exit_sighand(struct task_struct *tsk) if (atomic_dec_and_test(&sig->count)) kmem_cache_free(sigact_cachep, sig); } - tsk->sigpending = 0; + tsk->work.sigpending = 0; flush_sigqueue(&tsk->pending); spin_unlock_irq(&tsk->sigmask_lock); } @@ -246,7 +246,7 @@ printk("SIG dequeue (%s:%d): %d ", current->comm, current->pid, if (current->notifier) { if (sigismember(current->notifier_mask, sig)) { if (!(current->notifier)(current->notifier_data)) { - current->sigpending = 0; + current->work.sigpending = 0; return 0; } } @@ -465,7 +465,7 @@ static int send_signal(int sig, struct siginfo *info, struct sigpending *signals */ static inline void signal_wake_up(struct task_struct *t) { - t->sigpending = 1; + t->work.sigpending = 1; #ifdef CONFIG_SMP /* |
