Re: About Kernel Backtrace

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

 



I am debugging a network driver bug in a platform with ARM 9 processor, and
putting my debgging code, that is BUG() in somewhere. However, I have
several questions about Kernel Stack when the kernel path is in softirq.
After reading the chpater 3 in Understanding the Linux Kernel book. I
realize that Kernel stack should be located within the the process desriptor
structure

Not really - the process descriptor (task_struct) USED TO reside at
the end of kernel mode stack. But these days, a smaller struct
thread_info resides at the end of kernel stack (Again, stack is not
"located" within thread_info or task_struct)

when the user mode process is calling the system call. However,
there are not any descriptions about where the ISR and SoftIRQ kernel stack
are. Could you please give me a clue to the interrupt and ISR context swtich
in kernel mode?

If you've configured your kernel to have a stack size of 2 pages
(which is standard) then your ISRs and softirqs etc will use the same
kernel mode stack. However, if you have configured the kernel stack to
be 1 page, then there will be a separate per CPU stack which will be
shared by all ISRs

Thanks,

Rajat

--
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