On Mon, Feb 15, 2016 at 10:47 AM, Vishwas Srivastava <vishu.kernel@xxxxxxxxx> wrote:
On Sun, Feb 14, 2016 at 9:16 AM, tobaccopipeyoyo . <
tobaccopipeyoyo@xxxxxxxxx> wrote:
> Hi,
> I'm new to kernel programming, currently started ldd book
> For the current process it says that global item current returns the
> task_struct of the currently running process.
>
> What if I refer this global during interrupt servicing?
> What will happen? What should I expect.
>
> Thanks,
> tpyy
>
>
Hi...
during interrupt servicing, "current" will give you last process' data
structure that's get interrupted by the interrupt. Of course, this is per
cpu context, so if you are in SMP situation, current will return task
struct in that CPU only.
The essential thing in interrupt servicing is: interrupt handler runs on
behalf of current running process.
Hopefully I still recall all these correctly.
--
regards,
Mulyadi Santosa
Freelance Linux trainer and consultantHi Mulyadi,I disagree with the statement you made here that "interrupt handler runs on behalf of current running process".Your statement is valid for system calls (software interrupt) but not for the real "interrupt"Interrupt handler are nowhere related to any process. They run their own without caring aboutwhich process was running.--- Vishwas
Hello Vishwas
Thank you for your correction.
You're correct. Maybe my wording is not exactly correct. My intention was to point that especially during bottom half interrupt servicing, if you run call "current", it will point to last process before kernel switch to kernel mode servicing the interrupt. So the word "on behalf" is not exactly correct, I admit that.
Feel free to correct if I am still wrong...
--
regards,
Mulyadi Santosa
Freelance Linux trainer and consultant
blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com
Mulyadi Santosa
Freelance Linux trainer and consultant
blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies