lkml.org 
[lkml]   [2005]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [question] I doublt on timer interrput.
On 11/7/05, liyu <liyu@ccoss.com.cn> wrote:
>
> I have one question about timer interrupt (i386 architecture).
>
> As we known, the timer emit HZ times interrputs per second,
> and in i386. The interrupt handler will call scheduler_tick()
> each time (on i386 at least, both enable or disable APIC).
>
> On my Celeron machine(IOW, only one CPU, not SMP/SMT), I defined
> a global int variable 'tick_count' in kernel/sched.c, and add one line
> of code like follow in scheduler_tick():
>
> ++tick_count;
>
> but I found it is not same with content of the /proc/interrupts,
> and the differennt between them is not little.
>
> I can not understand why that is.
>
> Any useful idea.
>
>

What I found in the kernel code is that scheduler_tick is called from
two locations in the kernel (2.6.14-mm1) code (i386).

1) from kernel/timer.c in update_process_times which is called from
arch/i386/kernel/apic.c and its calling depends on the CONFIG_SMP
defined or not (see
http://sosdg.org/~coywolf/lxr/source/arch/i386/kernel/apic.c#L1160)
and as you don't have CONFIG_SMP enabled so its won't be called from
here.

2) from sched_fork function in kernel/sched.c
(http://sosdg.org/~coywolf/lxr/source/kernel/sched.c#L1414) and I
think its called when newly forked process setup is going to be
performed, and I think as from here scheduler_tick is called in your
case, so you are getting different value for your variable tick_count

scheduler_tick might be called from somewhere else which I am missing
so please CMIIW !

--
Fawad Lateef
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-11-07 12:56    [W:0.692 / U:0.100 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site