Logo
Explore Help
Sign In
genesi/linux-legacy
1
0
Fork 0
You've already forked linux-legacy
mirror of https://github.com/genesi/linux-legacy.git synced 2026-04-26 15:51:21 +00:00
Code Issues Packages Projects Releases Wiki Activity
Files
618442509128fe4514be94de70ce54075cd9a706
linux-legacy/include/asm-sparc64/stacktrace.h

7 lines
134 B
C
Raw Normal View History

[SPARC64]: Make save_stack_trace() more efficient. Doing a 'flushw' every stack trace capture creates so much overhead that it makes lockdep next to unusable. We only care about the frame pointer chain and the function caller program counters, so flush those by hand to the stack frame. This is significantly more efficient than a 'flushw' because: 1) We only save 16 bytes per active register window to the stack. 2) This doesn't push the entire register window context of the current call chain out of the cpu, forcing register window fill traps as we return back down. Note that we can't use 'restore' and 'save' instructions to move around the register windows because that wouldn't work on Niagara processors. They optimize 'save' into a new register window by simply clearing out the registers instead of pulling them in from the on-chip register window backing store. Based upon a report by Tom Callaway. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-03-24 20:06:24 -07:00
#ifndef _SPARC64_STACKTRACE_H
#define _SPARC64_STACKTRACE_H
extern void stack_trace_flush(void);
#endif /* _SPARC64_STACKTRACE_H */
Reference in New Issue Copy Permalink
Powered by Gitea Version: 1.25.4 Page: 143ms Template: 1ms
English
Bahasa Indonesia Deutsch English Español Français Gaeilge Italiano Latviešu Magyar nyelv Nederlands Polski Português de Portugal Português do Brasil Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی മലയാളം 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API