Using printk, how can I know where the kernel jumps after schedule() function?

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

 



Hello experts,

I am faced with a problem on my experiment. (arm64)
When the linux kernel boots and after it jumped to /bin/sh in the initramfs
(by busybox), it hangs after the program jumps the schedule() function.
I can see it comes out of schedule() function using printk, but I don't know
where it had gone(or returned).
I tried printing the bottom two values in the schedule() function, because
the x29(=fp) and x30(=lr) is stored at the stack bottom during any function.
But the lr value is somewhere in then init stack(by examining the
System.map). So I guessed that lr value, a virtual address is a user virtual
address.. Is my guess correct or should the lr value point to a point in
kernel text section?

Actually I don't know exactly  how a user program is interrupted by the
schedule function initiated by the timer interrupt so I would be grateful if
someone explain it.
( I tried reading part of a book or web posts but didn't get what I want
yet). 

Thank you!
Regards,

Chan Kim





_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[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