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
nexedi
linux
Commits
050aa593
Commit
050aa593
authored
Aug 17, 2003
by
Doug Ledford
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://linux.bkbits.net/linux-2.5
into compaq.xsintricity.com:/home/dledford/bk/linux-2.5-wo-timeval
parents
dd14119a
6e6d7674
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
42 additions
and
10 deletions
+42
-10
fs/proc/proc_misc.c
fs/proc/proc_misc.c
+11
-5
include/linux/kernel_stat.h
include/linux/kernel_stat.h
+2
-0
include/linux/prctl.h
include/linux/prctl.h
+10
-0
kernel/sched.c
kernel/sched.c
+10
-4
kernel/sys.c
kernel/sys.c
+9
-1
No files found.
fs/proc/proc_misc.c
View file @
050aa593
...
...
@@ -362,7 +362,7 @@ static int kstat_read_proc(char *page, char **start, off_t off,
int
i
,
len
;
extern
unsigned
long
total_forks
;
u64
jif
;
unsigned
int
sum
=
0
,
user
=
0
,
nice
=
0
,
system
=
0
,
idle
=
0
,
iowait
=
0
;
unsigned
int
sum
=
0
,
user
=
0
,
nice
=
0
,
system
=
0
,
idle
=
0
,
iowait
=
0
,
irq
=
0
,
softirq
=
0
;
struct
timeval
now
;
unsigned
long
seq
;
...
...
@@ -388,25 +388,31 @@ static int kstat_read_proc(char *page, char **start, off_t off,
system
+=
kstat_cpu
(
i
).
cpustat
.
system
;
idle
+=
kstat_cpu
(
i
).
cpustat
.
idle
;
iowait
+=
kstat_cpu
(
i
).
cpustat
.
iowait
;
irq
+=
kstat_cpu
(
i
).
cpustat
.
irq
;
softirq
+=
kstat_cpu
(
i
).
cpustat
.
softirq
;
for
(
j
=
0
;
j
<
NR_IRQS
;
j
++
)
sum
+=
kstat_cpu
(
i
).
irqs
[
j
];
}
len
=
sprintf
(
page
,
"cpu %u %u %u %u %u
\n
"
,
len
=
sprintf
(
page
,
"cpu %u %u %u %u %u
%u %u
\n
"
,
jiffies_to_clock_t
(
user
),
jiffies_to_clock_t
(
nice
),
jiffies_to_clock_t
(
system
),
jiffies_to_clock_t
(
idle
),
jiffies_to_clock_t
(
iowait
));
jiffies_to_clock_t
(
iowait
),
jiffies_to_clock_t
(
irq
),
jiffies_to_clock_t
(
softirq
));
for
(
i
=
0
;
i
<
NR_CPUS
;
i
++
){
if
(
!
cpu_online
(
i
))
continue
;
len
+=
sprintf
(
page
+
len
,
"cpu%d %u %u %u %u %u
\n
"
,
len
+=
sprintf
(
page
+
len
,
"cpu%d %u %u %u %u %u
%u %u
\n
"
,
i
,
jiffies_to_clock_t
(
kstat_cpu
(
i
).
cpustat
.
user
),
jiffies_to_clock_t
(
kstat_cpu
(
i
).
cpustat
.
nice
),
jiffies_to_clock_t
(
kstat_cpu
(
i
).
cpustat
.
system
),
jiffies_to_clock_t
(
kstat_cpu
(
i
).
cpustat
.
idle
),
jiffies_to_clock_t
(
kstat_cpu
(
i
).
cpustat
.
iowait
));
jiffies_to_clock_t
(
kstat_cpu
(
i
).
cpustat
.
iowait
),
jiffies_to_clock_t
(
kstat_cpu
(
i
).
cpustat
.
irq
),
jiffies_to_clock_t
(
kstat_cpu
(
i
).
cpustat
.
softirq
));
}
len
+=
sprintf
(
page
+
len
,
"intr %u"
,
sum
);
...
...
include/linux/kernel_stat.h
View file @
050aa593
...
...
@@ -17,6 +17,8 @@ struct cpu_usage_stat {
unsigned
int
user
;
unsigned
int
nice
;
unsigned
int
system
;
unsigned
int
softirq
;
unsigned
int
irq
;
unsigned
int
idle
;
unsigned
int
iowait
;
};
...
...
include/linux/prctl.h
View file @
050aa593
...
...
@@ -34,4 +34,14 @@
# define PR_FP_EXC_ASYNC 2
/* async recoverable exception mode */
# define PR_FP_EXC_PRECISE 3
/* precise exception mode */
/* Get/set whether we use statistical process timing or accurate timestamp
* based process timing */
#define PR_GET_TIMING 13
#define PR_SET_TIMING 14
# define PR_TIMING_STATISTICAL 0
/* Normal, traditional,
statistical process timing */
# define PR_TIMING_TIMESTAMP 1
/* Accurate timestamp based
process timing */
#endif
/* _LINUX_PRCTL_H */
kernel/sched.c
View file @
050aa593
...
...
@@ -1201,11 +1201,17 @@ void scheduler_tick(int user_ticks, int sys_ticks)
if
(
rcu_pending
(
cpu
))
rcu_check_callbacks
(
cpu
,
user_ticks
);
if
(
p
==
rq
->
idle
)
{
/* note: this timer irq context must be accounted for as well */
if
(
irq_count
()
-
HARDIRQ_OFFSET
>=
SOFTIRQ_OFFSET
)
cpustat
->
system
+=
sys_ticks
;
else
if
(
atomic_read
(
&
rq
->
nr_iowait
)
>
0
)
if
(
hardirq_count
()
-
HARDIRQ_OFFSET
)
{
cpustat
->
irq
+=
sys_ticks
;
sys_ticks
=
0
;
}
else
if
(
softirq_count
())
{
cpustat
->
softirq
+=
sys_ticks
;
sys_ticks
=
0
;
}
if
(
p
==
rq
->
idle
)
{
if
(
atomic_read
(
&
rq
->
nr_iowait
)
>
0
)
cpustat
->
iowait
+=
sys_ticks
;
else
cpustat
->
idle
+=
sys_ticks
;
...
...
kernel/sys.c
View file @
050aa593
...
...
@@ -1399,7 +1399,15 @@ asmlinkage long sys_prctl(int option, unsigned long arg2, unsigned long arg3,
case
PR_GET_FPEXC
:
error
=
GET_FPEXC_CTL
(
current
,
arg2
);
break
;
case
PR_GET_TIMING
:
error
=
PR_TIMING_STATISTICAL
;
break
;
case
PR_SET_TIMING
:
if
(
arg2
==
PR_TIMING_STATISTICAL
)
error
=
0
;
else
error
=
-
EINVAL
;
break
;
case
PR_GET_KEEPCAPS
:
if
(
current
->
keep_capabilities
)
...
...
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