Re: Understanding timing and the bottom half handlers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi...

>In
> the early versions of the kernel (1.x)
>
> In the scheduler init; the bottom half timer routine is defined
>
> bh_base[TIMER_BH].routine = timer_bh;
> bh_base[TQUEUE_BH].routine = tqueue_bh;
>
> In the system_call function, this bottom_half routine is defined:
>
> handle_bottom_half:
>         call _do_bottom_half
>
> And then in irq, bottom half is defined.
>
> asmlinkage void do_bottom_half(void) {}
>
> And then, I may use the bottom half routine with a block device driver
> like the floppy driver to turn off the motor.
>
> My question; why would the bottom half routines like the timer bottom
> half get associated with a system call?  E.g. if I call sys_fork,
> "fork"? which will in turn call the system_call; bottom half will get
> called and then call the timing routines.  It seems like the timing
> routines should get invoked by the timing interrupt?
>

Hm, interesting. I think since it's an ancient version of kernel (1.x
right?), there was no (or not really working?) deferred mechanism. So,
bottom halves are probably executed during system calls, assuming
system call is something that must be called in near future. Of
course, in 2.4.x and 2.6.x bottom halves are done inside ksoftirq,
keventd, in every invocation of timer handler and so on.

Once again, this is just prediction since I never directly read 1.x codes.

regards,

Mulyadi

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux