Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
232dbd9f
Commit
232dbd9f
authored
Feb 12, 2003
by
Anton Blanchard
Browse files
Options
Browse Files
Download
Plain Diff
Merge samba.org:/scratch/anton/linux-2.5
into samba.org:/scratch/anton/sfr
parents
e2f14013
f2478c00
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
53 additions
and
47 deletions
+53
-47
Makefile
Makefile
+1
-1
arch/s390/Kconfig
arch/s390/Kconfig
+3
-3
arch/s390x/Kconfig
arch/s390x/Kconfig
+3
-3
drivers/char/watchdog/Kconfig
drivers/char/watchdog/Kconfig
+3
-3
drivers/i2c/Kconfig
drivers/i2c/Kconfig
+2
-2
include/linux/sched.h
include/linux/sched.h
+1
-0
kernel/sched.c
kernel/sched.c
+32
-24
kernel/signal.c
kernel/signal.c
+8
-11
No files found.
Makefile
View file @
232dbd9f
VERSION
=
2
VERSION
=
2
PATCHLEVEL
=
5
PATCHLEVEL
=
5
SUBLEVEL
=
59
SUBLEVEL
=
60
EXTRAVERSION
=
EXTRAVERSION
=
# *DOCUMENTATION*
# *DOCUMENTATION*
...
...
arch/s390/Kconfig
View file @
232dbd9f
...
@@ -110,7 +110,7 @@ config QDIO
...
@@ -110,7 +110,7 @@ config QDIO
This driver is also available as a module ( = code which can be
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
inserted in and removed from the running kernel whenever you want).
The module will be called qdio.
o.
If you want to compile it as a
The module will be called qdio. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>.
module, say M here and read <file:Documentation/modules.txt>.
If unsure, say Y.
If unsure, say Y.
...
@@ -210,7 +210,7 @@ config BINFMT_ELF
...
@@ -210,7 +210,7 @@ config BINFMT_ELF
If you want to compile this as a module ( = code which can be
If you want to compile this as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
say M here and read <file:Documentation/modules.txt>. The module
will be called binfmt_elf.
o.
Saying M or N here is dangerous because
will be called binfmt_elf. Saying M or N here is dangerous because
some crucial programs on your system might be in ELF format.
some crucial programs on your system might be in ELF format.
config BINFMT_MISC
config BINFMT_MISC
...
@@ -235,7 +235,7 @@ config BINFMT_MISC
...
@@ -235,7 +235,7 @@ config BINFMT_MISC
use this part of the kernel.
use this part of the kernel.
You may say M here for module support and later load the module when
You may say M here for module support and later load the module when
you have use for it; the module is called binfmt_misc.
o.
If you
you have use for it; the module is called binfmt_misc. If you
don't know what to answer at this point, say Y.
don't know what to answer at this point, say Y.
config PROCESS_DEBUG
config PROCESS_DEBUG
...
...
arch/s390x/Kconfig
View file @
232dbd9f
...
@@ -124,7 +124,7 @@ config QDIO
...
@@ -124,7 +124,7 @@ config QDIO
This driver is also available as a module ( = code which can be
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
inserted in and removed from the running kernel whenever you want).
The module will be called qdio.
o.
If you want to compile it as a
The module will be called qdio. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>.
module, say M here and read <file:Documentation/modules.txt>.
If unsure, say Y.
If unsure, say Y.
...
@@ -224,7 +224,7 @@ config BINFMT_ELF
...
@@ -224,7 +224,7 @@ config BINFMT_ELF
If you want to compile this as a module ( = code which can be
If you want to compile this as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
say M here and read <file:Documentation/modules.txt>. The module
will be called binfmt_elf.
o.
Saying M or N here is dangerous because
will be called binfmt_elf. Saying M or N here is dangerous because
some crucial programs on your system might be in ELF format.
some crucial programs on your system might be in ELF format.
config BINFMT_MISC
config BINFMT_MISC
...
@@ -249,7 +249,7 @@ config BINFMT_MISC
...
@@ -249,7 +249,7 @@ config BINFMT_MISC
use this part of the kernel.
use this part of the kernel.
You may say M here for module support and later load the module when
You may say M here for module support and later load the module when
you have use for it; the module is called binfmt_misc.
o.
If you
you have use for it; the module is called binfmt_misc. If you
don't know what to answer at this point, say Y.
don't know what to answer at this point, say Y.
config PROCESS_DEBUG
config PROCESS_DEBUG
...
...
drivers/char/watchdog/Kconfig
View file @
232dbd9f
...
@@ -311,7 +311,7 @@ config SC520_WDT
...
@@ -311,7 +311,7 @@ config SC520_WDT
amount of time.
amount of time.
You can compile this driver directly into the kernel, or use
You can compile this driver directly into the kernel, or use
it as a module. The module will be called sc520_wdt.
o.
it as a module. The module will be called sc520_wdt.
config ALIM7101_WDT
config ALIM7101_WDT
tristate "ALi M7101 PMU Computer Watchdog"
tristate "ALi M7101 PMU Computer Watchdog"
...
@@ -322,7 +322,7 @@ config ALIM7101_WDT
...
@@ -322,7 +322,7 @@ config ALIM7101_WDT
This driver is also available as a module ( = code which can be
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
inserted in and removed from the running kernel whenever you want).
The module is called alim7101_wdt.
o.
If you want to compile it as a
The module is called alim7101_wdt. If you want to compile it as a
module, say M here and read Documentation/modules.txt. Most
module, say M here and read Documentation/modules.txt. Most
people will say N.
people will say N.
...
@@ -337,7 +337,7 @@ config SC1200_WDT
...
@@ -337,7 +337,7 @@ config SC1200_WDT
This driver is also available as a module ( = code which can be
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
inserted in and removed from the running kernel whenever you want).
The module is called sc1200wdt.
o.
If you want to compile it as a
The module is called sc1200wdt. If you want to compile it as a
module, say M here and read Documentation/modules.txt. Most
module, say M here and read Documentation/modules.txt. Most
people will say N.
people will say N.
...
...
drivers/i2c/Kconfig
View file @
232dbd9f
...
@@ -152,7 +152,7 @@ config ITE_I2C_ALGO
...
@@ -152,7 +152,7 @@ config ITE_I2C_ALGO
This support is also available as a module. If you want to compile
This support is also available as a module. If you want to compile
it as a module, say M here and read Documentation/modules.txt.
it as a module, say M here and read Documentation/modules.txt.
The module will be called i2c-algo-ite.
o.
The module will be called i2c-algo-ite.
config ITE_I2C_ADAP
config ITE_I2C_ADAP
tristate "ITE I2C Adapter"
tristate "ITE I2C Adapter"
...
@@ -164,7 +164,7 @@ config ITE_I2C_ADAP
...
@@ -164,7 +164,7 @@ config ITE_I2C_ADAP
This support is also available as a module. If you want to compile
This support is also available as a module. If you want to compile
it as a module, say M here and read Documentation/modules.txt.
it as a module, say M here and read Documentation/modules.txt.
The module will be called i2c-adap-ite.
o.
The module will be called i2c-adap-ite.
config I2C_ALGO8XX
config I2C_ALGO8XX
tristate "MPC8xx CPM I2C interface"
tristate "MPC8xx CPM I2C interface"
...
...
include/linux/sched.h
View file @
232dbd9f
...
@@ -516,6 +516,7 @@ extern unsigned long itimer_ticks;
...
@@ -516,6 +516,7 @@ extern unsigned long itimer_ticks;
extern
unsigned
long
itimer_next
;
extern
unsigned
long
itimer_next
;
extern
void
do_timer
(
struct
pt_regs
*
);
extern
void
do_timer
(
struct
pt_regs
*
);
extern
int
FASTCALL
(
wake_up_state
(
struct
task_struct
*
tsk
,
unsigned
int
state
));
extern
int
FASTCALL
(
wake_up_process
(
struct
task_struct
*
tsk
));
extern
int
FASTCALL
(
wake_up_process
(
struct
task_struct
*
tsk
));
extern
void
FASTCALL
(
wake_up_forked_process
(
struct
task_struct
*
tsk
));
extern
void
FASTCALL
(
wake_up_forked_process
(
struct
task_struct
*
tsk
));
extern
void
FASTCALL
(
sched_exit
(
task_t
*
p
));
extern
void
FASTCALL
(
sched_exit
(
task_t
*
p
));
...
...
kernel/sched.c
View file @
232dbd9f
...
@@ -438,6 +438,7 @@ void kick_if_running(task_t * p)
...
@@ -438,6 +438,7 @@ void kick_if_running(task_t * p)
/***
/***
* try_to_wake_up - wake up a thread
* try_to_wake_up - wake up a thread
* @p: the to-be-woken-up thread
* @p: the to-be-woken-up thread
* @state: the mask of task states that can be woken
* @sync: do a synchronous wakeup?
* @sync: do a synchronous wakeup?
*
*
* Put it on the run-queue if it's not already there. The "current"
* Put it on the run-queue if it's not already there. The "current"
...
@@ -448,7 +449,7 @@ void kick_if_running(task_t * p)
...
@@ -448,7 +449,7 @@ void kick_if_running(task_t * p)
*
*
* returns failure only if the task is already active.
* returns failure only if the task is already active.
*/
*/
static
int
try_to_wake_up
(
task_t
*
p
,
int
sync
)
static
int
try_to_wake_up
(
task_t
*
p
,
unsigned
int
state
,
int
sync
)
{
{
unsigned
long
flags
;
unsigned
long
flags
;
int
success
=
0
;
int
success
=
0
;
...
@@ -458,28 +459,30 @@ static int try_to_wake_up(task_t * p, int sync)
...
@@ -458,28 +459,30 @@ static int try_to_wake_up(task_t * p, int sync)
repeat_lock_task:
repeat_lock_task:
rq
=
task_rq_lock
(
p
,
&
flags
);
rq
=
task_rq_lock
(
p
,
&
flags
);
old_state
=
p
->
state
;
old_state
=
p
->
state
;
if
(
!
p
->
array
)
{
if
(
old_state
&
state
)
{
/*
if
(
!
p
->
array
)
{
* Fast-migrate the task if it's not running or runnable
/*
* currently. Do not violate hard affinity.
* Fast-migrate the task if it's not running or runnable
*/
* currently. Do not violate hard affinity.
if
(
unlikely
(
sync
&&
!
task_running
(
rq
,
p
)
&&
*/
(
task_cpu
(
p
)
!=
smp_processor_id
())
&&
if
(
unlikely
(
sync
&&
!
task_running
(
rq
,
p
)
&&
(
p
->
cpus_allowed
&
(
1UL
<<
smp_processor_id
()))))
{
(
task_cpu
(
p
)
!=
smp_processor_id
())
&&
(
p
->
cpus_allowed
&
(
1UL
<<
smp_processor_id
()))))
{
set_task_cpu
(
p
,
smp_processor_id
());
task_rq_unlock
(
rq
,
&
flags
);
set_task_cpu
(
p
,
smp_processor_id
());
goto
repeat_lock_task
;
task_rq_unlock
(
rq
,
&
flags
);
goto
repeat_lock_task
;
}
if
(
old_state
==
TASK_UNINTERRUPTIBLE
)
rq
->
nr_uninterruptible
--
;
activate_task
(
p
,
rq
);
if
(
p
->
prio
<
rq
->
curr
->
prio
)
resched_task
(
rq
->
curr
);
success
=
1
;
}
}
if
(
old_state
==
TASK_UNINTERRUPTIBLE
)
p
->
state
=
TASK_RUNNING
;
rq
->
nr_uninterruptible
--
;
activate_task
(
p
,
rq
);
if
(
p
->
prio
<
rq
->
curr
->
prio
)
resched_task
(
rq
->
curr
);
success
=
1
;
}
}
p
->
state
=
TASK_RUNNING
;
task_rq_unlock
(
rq
,
&
flags
);
task_rq_unlock
(
rq
,
&
flags
);
return
success
;
return
success
;
...
@@ -487,7 +490,12 @@ static int try_to_wake_up(task_t * p, int sync)
...
@@ -487,7 +490,12 @@ static int try_to_wake_up(task_t * p, int sync)
int
wake_up_process
(
task_t
*
p
)
int
wake_up_process
(
task_t
*
p
)
{
{
return
try_to_wake_up
(
p
,
0
);
return
try_to_wake_up
(
p
,
TASK_STOPPED
|
TASK_INTERRUPTIBLE
|
TASK_UNINTERRUPTIBLE
,
0
);
}
int
wake_up_state
(
task_t
*
p
,
unsigned
int
state
)
{
return
try_to_wake_up
(
p
,
state
,
0
);
}
}
/*
/*
...
@@ -1263,7 +1271,7 @@ asmlinkage void preempt_schedule(void)
...
@@ -1263,7 +1271,7 @@ asmlinkage void preempt_schedule(void)
int
default_wake_function
(
wait_queue_t
*
curr
,
unsigned
mode
,
int
sync
)
int
default_wake_function
(
wait_queue_t
*
curr
,
unsigned
mode
,
int
sync
)
{
{
task_t
*
p
=
curr
->
task
;
task_t
*
p
=
curr
->
task
;
return
((
p
->
state
&
mode
)
&&
try_to_wake_up
(
p
,
sync
)
);
return
try_to_wake_up
(
p
,
mode
,
sync
);
}
}
/*
/*
...
@@ -2418,7 +2426,7 @@ void __init sched_init(void)
...
@@ -2418,7 +2426,7 @@ void __init sched_init(void)
rq
->
curr
=
current
;
rq
->
curr
=
current
;
rq
->
idle
=
current
;
rq
->
idle
=
current
;
set_task_cpu
(
current
,
smp_processor_id
());
set_task_cpu
(
current
,
smp_processor_id
());
wake_up_process
(
current
);
wake_up_
forked_
process
(
current
);
init_timers
();
init_timers
();
...
...
kernel/signal.c
View file @
232dbd9f
...
@@ -620,13 +620,8 @@ static void handle_stop_signal(int sig, struct task_struct *p)
...
@@ -620,13 +620,8 @@ static void handle_stop_signal(int sig, struct task_struct *p)
t
=
p
;
t
=
p
;
do
{
do
{
rm_from_queue
(
SIG_KERNEL_STOP_MASK
,
&
t
->
pending
);
rm_from_queue
(
SIG_KERNEL_STOP_MASK
,
&
t
->
pending
);
/*
/*
* This wakeup is only need if in TASK_STOPPED,
* but there can be SMP races with testing for that.
* In the normal SIGCONT case, all will be stopped.
* A spuriously sent SIGCONT will interrupt all running
* threads to check signals even if it's ignored.
*
* If there is a handler for SIGCONT, we must make
* If there is a handler for SIGCONT, we must make
* sure that no thread returns to user mode before
* sure that no thread returns to user mode before
* we post the signal, in case it was the only
* we post the signal, in case it was the only
...
@@ -636,12 +631,14 @@ static void handle_stop_signal(int sig, struct task_struct *p)
...
@@ -636,12 +631,14 @@ static void handle_stop_signal(int sig, struct task_struct *p)
* flag set, the thread will pause and acquire the
* flag set, the thread will pause and acquire the
* siglock that we hold now and until we've queued
* siglock that we hold now and until we've queued
* the pending signal.
* the pending signal.
*
* Wake up the stopped thread _after_ setting
* TIF_SIGPENDING
*/
*/
if
(
!
(
t
->
flags
&
PF_EXITING
))
{
if
(
!
sigismember
(
&
t
->
blocked
,
SIGCONT
))
if
(
!
sigismember
(
&
t
->
blocked
,
SIGCONT
))
set_tsk_thread_flag
(
t
,
TIF_SIGPENDING
);
set_tsk_thread_flag
(
t
,
TIF_SIGPENDING
);
wake_up_state
(
t
,
TASK_STOPPED
);
wake_up_process
(
t
);
}
t
=
next_thread
(
t
);
t
=
next_thread
(
t
);
}
while
(
t
!=
p
);
}
while
(
t
!=
p
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment