Greetings everyone: Just curious, how is the bottom half declared & defined and where? In the application process space or in the kernel context? Some concrete brief examples would help. regards, Bobby Sardana. sardana@obsoft.com Raghu R. Arur wrote: > An interrupt handler has two parts .. one the top half which includes >the important tasks that are to be executed as soon as an interrupt occurs >and bottome half which are the instructions that are of less importance. >So when an interrupt occurs it executes the top half and returns to the >process that was executing. Then when the cpu is free or doing some less >important task like executing in the user space it will do the bottom half >job !!!! > > >On Thu, 31 Oct 2002, Jan Hudec wrote: > > > >>On Thu, Oct 31, 2002 at 01:01:27PM -0800, kernel_learner wrote: >> >> >>> I am don' completely understand the concept of >>>bottom_half...can you give me some pointers abuot >>>that.. >>> >>> >>I never needed it, so I don't know that much. And I don't recall where >>I read about them. I think there is something about them in the Linux Kernel >>Module Programming Guide and/or the Kernel Hacking Guide (both are a bit >>obsolete, but the basic idea of four contexts did not change. >> >>There are four contexts - interrupt, bottom_half, process and userland >>(the correct names are probably little different). Interrupt handlers >>are run with interrupts disabled. They should be fast not to mask other >>interrupts for too long. If more work has to be done, the interrupt >>requires a bottom-half or tasklet (limited number of bottomhalves exist, >>one is used to call tasklets, which are function pointers in a list). >>Bottom-halves are called "as soon as possible and is safe", which in >>practice is in context-switch AFAIK (ie. return to user-land or timer >>interrupt (it calls schedule)). You can only sleep (ie. call schedule()) >>in process context which is syscalls and kernel threads and which is >>associated with a process (has valid current), since scheduler works in >>terms of processes. >> >>------------------------------------------------------------------------------- >> Jan 'Bulb' Hudec <bulb@ucw.cz> >>-- >>Kernelnewbies: Help each other learn about the Linux kernel. >>Archive: http://mail.nl.linux.org/kernelnewbies/ >>FAQ: http://kernelnewbies.org/faq/ >> >> >> > >-- >Kernelnewbies: Help each other learn about the Linux kernel. >Archive: http://mail.nl.linux.org/kernelnewbies/ >FAQ: http://kernelnewbies.org/faq/ > > -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/