Stacktraces in perf and ftrace. Frederic Weisbecker Collaboration summit 2012
|
|
- Logan Martin
- 5 years ago
- Views:
Transcription
1 ] Stacktraces in perf and ftrace Frederic Weisbecker Collaboration summit 2012
2 Raw stacktrace One shot: Used for debugging [ ] Call Trace: [ ] [<ffffffff826e1c1a>] schedule+0x3a/0x50 [ ] [<ffffffff810b2251>] do_exit+0x2f1/0x4d0 [ ] [<ffffffff810b24cc>] do_group_exit+0x5c/0xd0 [ ] [<ffffffff810c1b1c>] get_signal_to_deliver+0x1dc/0x3d0 [ ] [<ffffffff8104bcc3>] do_signal+0x53/0x130 [ ] [<ffffffff >]? default_init_apic_ldr+0x20/0x70 [ ] [<ffffffff810e25bd>]? sub_preempt_count+0x9d/0xd0 [ ] [<ffffffff826e3366>]? _raw_spin_unlock_irq+0x46/0x70 [ ] [<ffffffff826e413f>]? retint_signal+0x11/0x92 [ ] [<ffffffff8104be25>] do_notify_resume+0x65/0x80 [ ] [<ffffffff8187c61e>]? trace_hardirqs_on_thunk+0x3a/0x3f [ ] [<ffffffff826e417b>] retint_signal+0x4d/0x92
3 Stacktraces in profiling Use with event sampling (not only 1 callchain) Use with histograms How to make a useful summary?
4 Perf samples Raw stream of events: perf [000] : cycles: ffffffff clear_page_c ([kernel.kallsyms]) perf [000] : cycles: ffffffff8131e410 memchr_inv ([kernel.kallsyms]) swapper 0 [003] : cycles: ffffffff kmem_cache_free ([kernel.kallsyms]) perf [000] : cycles: 7fc3f83bfcfd munmap (/lib/libc so) perf [000] : cycles: ffffffff810af333 trace_hardirqs_off_caller ([kernel.kallsyms]) swapper 0 [002] : cycles: ffffffff81824f8e sub_preempt_count ([kernel.kallsyms]) perf [000] : cycles: ffffffff810b2d50 trace_hardirqs_on ([kernel.kallsyms]) perf [000] : cycles: ffffffff a add_preempt_count ([kernel.kallsyms]) perf [000] : cycles: so) 7fc3f8368c02 [unknown] (/lib/libc-
5 Perf histograms Histograms = Event grouping and sorting Example sort by sym: 12.99% [k] kernel_text_address 10.20% [k] is_module_text_address 9.09% [k] add_preempt_count 8.97% [k] sub_preempt_count 6.39% [k] print_context_stack 5.73% [k] module_text_address 4.14% [k] memchr_inv 3.81% [k] in_lock_functions 3.75% [k] module_address 2.64% [k] deactivate_slab 2.48% [k] on_freelist 2.37% [k] get_parent_ip 1.75% [k] get_partial_node
6 Perf histogram callchains How to fold/factorize callchains per histogram? perf [000] : cycles: ffffffff clear_page_c ([kernel.kallsyms]) ffffffff81128cd0 alloc_pages_nodemask ([kernel.kallsyms]) ffffffff8111d75e perf_mmap_alloc_page ([kernel.kallsyms]) ffffffff8111d812 rb_alloc ([kernel.kallsyms]) ffffffff8111c029 perf_mmap ([kernel.kallsyms]) ffffffff8114d16c mmap_region ([kernel.kallsyms]) ffffffff8114d684 do_mmap_pgoff ([kernel.kallsyms]) ffffffff8114d7a8 sys_mmap_pgoff ([kernel.kallsyms]) ffffffff81019e89 sys_mmap ([kernel.kallsyms]) ffffffff system_call_fastpath ([kernel.kallsyms]) 7fc3f83bfcca mmap64 ([kernel.kallsyms]) 410a87 T.101 ([kernel.kallsyms]) 4115c9 cmd_record ([kernel.kallsyms]) 40670b run_builtin ([kernel.kallsyms]) main ([kernel.kallsyms]) 7fc3f82fbd8e libc_start_main ([kernel.kallsyms]) perf [000] : cycles: ffffffff8131e410 memchr_inv ([kernel.kallsyms]) ffffffff81160b2a check_bytes_and_report ([kernel.kallsyms]) ffffffff b check_object ([kernel.kallsyms]) ffffffff81162a4a alloc_debug_processing ([kernel.kallsyms]) ffffffff T.1163 ([kernel.kallsyms]) ffffffff b kmem_cache_alloc ([kernel.kallsyms]) ffffffff get_empty_filp ([kernel.kallsyms]) ffffffff81182f8d path_openat ([kernel.kallsyms]) ffffffff do_filp_open ([kernel.kallsyms]) ffffffff81171a45 do_sys_open ([kernel.kallsyms]) ffffffff81171b61 sys_open ([kernel.kallsyms])
7 Perf histogram callchains Functions calls can be displayed in a tree (inspired by sysprof) Hits weight branches Branches sorted by weight
8 Relative/absolute load Absolute: branch display overhead percentage against global total load. -g graph Relative: branch display overhead percentage against parent branch. -g fractal
9 Filter low overhead Branches become quickly hard to follow Use TUI mode instead of stdio (useful for copypaste) Use filtering mode in stdio: -g fractal,limit
10 Caller VS Callee Callee -> caller order: useful to find precise overhead culprits Caller -> callee order: have an overview of where the program mostly runs
11 Internal Radix tree to store and factorize raw callchains Red-black tree for recursive sorting Tried radix-tree live sorting, no difference
12 Callchain sources
13 Frame pointers Dedicate a CPU register to save base stack frame Pros: Easy, simple, reliable unwinding Cons: Global live overhead: One less available register Save/restore frame pointer of the caller from each function called
14 Branch Trace Store Hardware Branch tracing Pros: Exhaustive tracing Cons: Huge overhead (big volume, hardware overhead) Only available in some Intel processors Need to parse.text to find type of branch taken (call/ret/jx,jmp,...)
15 Last branch record Record last branches taken by a CPU Cons: Only available on some CPUs models Limited branch tracking size
16 Dwarf CFI based unwinding Retrieve return addresses using function structure information Pros: CFI dwarf info enabled in many (most?) distros No runtime overhead Cons: No CFI unwinder in the kernel Can't unwind userspace from the kernel
17 Dwarf CFI based kernel unwinding Some attempts to get kernel support, last one from Jiri Olsa: [RFC 0/5] kernel: backtrace unwind support Support upstream becomes a possible option
18 Dwarf CFI based userspace unwinding Unwinding must be done post-mortem Dump regs and user stack on each sample Do unwinding at post processing time
coreboot - Bug #86 IRQ errors precede slow down of tape I/O, via SCSI and PCI/PCIe bridge
coreboot - Bug #86 IRQ errors precede slow down of tape I/O, via SCSI and PCI/PCIe bridge 12/12/2016 07:35 PM - Andrew Engelbrecht Status: New Start date: 12/12/2016 Priority: Normal Due date: Assignee:
More informationFosdem perf status on ARM and ARM64
Fosdem 2015 perf status on ARM and ARM64 jean.pihet@newoldbits.com 1 Contents Introduction Scope of the presentation Supported tools Call stack unwinding General Methods Corner cases ARM and ARM64 support
More informationLinux Perf Tools. Overview and Current Developments. Arnaldo Carvalho de Melo, Jiri Olsa. May 24, Red Hat Inc.
Overview and Current Developments Red Hat Inc. May 24, 2013 Overview Multiple events view Annotate GTK UI New perf mem tool Per socket/core aggregation Diff enhancements Group leader sampling DWARF unwind
More informationEfficient and Large Scale Program Flow Tracing in Linux. Alexander Shishkin, Intel
Efficient and Large Scale Program Flow Tracing in Linux Alexander Shishkin, Intel 16.09.2013 Overview Program flow tracing - What is it? - What is it good for? Intel Processor Trace - Features / capabilities
More informationDebugging Kernel without Debugger
Debugging Kernel without Debugger Masami Hiramatsu Software Platform Research Dept. Yokohama Research Lab. Hitachi Ltd., 1 Who am I? Masami Hiramatsu Researcher in Hitachi
More informationTecniche di debugging nel kernel Linux. Andrea Righi -
Tecniche di debugging nel kernel Linux Agenda Overview (kernel programming) Kernel crash classification Debugging techniques Example(s) Q/A What's a kernel? The kernel provides an abstraction layer for
More informationTracing Lustre. New approach to debugging. ORNL is managed by UT-Battelle for the US Department of Energy
Tracing Lustre New approach to debugging ORNL is managed by UT-Battelle for the US Department of Energy Current Lustre debugging tools Utility lctl handles profiling developed long before standard kernel
More informationHardware Latencies How to flush them out (A use case) Steven Rostedt Red Hat
Hardware Latencies How to flush them out (A use case) Steven Rostedt Red Hat Here s a story, of a lovely lady... No this isn t the Brady Bunch Nor is it about a lovely lady But it probably could have been
More informationCache Performance Analysis with Callgrind and KCachegrind
Cache Performance Analysis with Callgrind and KCachegrind VI-HPS Tuning Workshop 8 September 2011, Aachen Josef Weidendorfer Computer Architecture I-10, Department of Informatics Technische Universität
More informationBoot Interrupt Quirks and (RealTime) Interrupt Handling on x86. Olaf Dabrunz, Stefan Assmann
Boot Interrupt Quirks and (RealTime) Interrupt Handling on x86 Olaf Dabrunz, Stefan Assmann od@suse.de, sassmann@suse.de Overview 1. Interrupt Handling 2. RT Interrupt Handling is a bit Different 3. So
More informationFtrace - What s new. Since my last explanation of ftrace (from v3.18) Steven Rostedt 25/10/ VMware Inc. All rights reserved.
Ftrace - What s new Since my last explanation of ftrace (from v3.18) Steven Rostedt 25/10/2017 2017 VMware Inc. All rights reserved. What ftrace did (and still does) Function tracing Function graph tracing
More informationCSCE 5610: Computer Architecture
HW #1 1.3, 1.5, 1.9, 1.12 Due: Sept 12, 2018 Review: Execution time of a program Arithmetic Average, Weighted Arithmetic Average Geometric Mean Benchmarks, kernels and synthetic benchmarks Computing CPI
More informationLow overhead virtual machines tracing in a cloud infrastructure
Low overhead virtual machines tracing in a cloud infrastructure Mohamad Gebai Michel Dagenais Dec 7, 2012 École Polytechnique de Montreal Content Area of research Current tracing: LTTng vs ftrace / virtio
More informationperf scripts jiri olsa PERF SCRIPTS JIRI OLSA
perf scripts jiri olsa 1 HI basics perf in python post process scripts 2 COUNTING perf stat start CPU 0 CPU 1 CPU 2 $ perf stat e 'cycles,instructions' WORKLOAD Performance counter stats for 'find..':
More informationSystem Wide Tracing User Need
System Wide Tracing User Need dominique toupin ericsson com April 2010 About me Developer Tool Manager at Ericsson, helping Ericsson sites to develop better software efficiently Background
More informationCache Performance Analysis with Callgrind and KCachegrind
Cache Performance Analysis with Callgrind and KCachegrind Parallel Performance Analysis Course, 31 October, 2010 King Abdullah University of Science and Technology, Saudi Arabia Josef Weidendorfer Computer
More informationECE 471 Embedded Systems Lecture 4
ECE 471 Embedded Systems Lecture 4 Vince Weaver http://www.eece.maine.edu/ vweaver vincent.weaver@maine.edu 12 September 2013 Announcements HW#1 will be posted later today For next class, at least skim
More informationOperating Systems. 09. Memory Management Part 1. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 09. Memory Management Part 1 Paul Krzyzanowski Rutgers University Spring 2015 March 9, 2015 2014-2015 Paul Krzyzanowski 1 CPU Access to Memory The CPU reads instructions and reads/write
More informationSystem Software Assignment 1 Runtime Support for Procedures
System Software Assignment 1 Runtime Support for Procedures Exercise 1: Nested procedures Some programming languages like Oberon and Pascal support nested procedures. 1. Find a run-time structure for such
More informationCPE300: Digital System Architecture and Design
CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Arithmetic Unit 10032011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Recap Chapter 3 Number Systems Fixed Point
More informationThe Art of JVM Profiling. Andrei Pangin Vadim Tsesko
The Art of JVM Profiling 2017 Andrei Pangin Vadim Tsesko http://recetasfamilia.com/escala-scoville/ 2 Одноклассники 48 M DAU 8500 machines in 4 DC 1.2 Tb/s Up to 70 К QPS/server 99% < 100 ms Java 3 Profilers
More informationDTrace for Linux. Tomas Jedlicka Sat
DTrace for Linux Tomas Jedlicka 2018-02-03 Sat Introduction Overview DTrace has been released in 2005 for Sun s Solaris operating system. Today it has become adopted by other
More informationLinux Foundation Collaboration Summit 2010
Linux Foundation Collaboration Summit 2010 LTTng, State of the Union Presentation at: http://www.efficios.com/lfcs2010 E-mail: mathieu.desnoyers@efficios.com 1 > Presenter Mathieu Desnoyers EfficiOS Inc.
More informationX86 Stack Calling Function POV
X86 Stack Calling Function POV Computer Systems Section 3.7 Stack Frame Reg Value ebp xffff FFF0 esp xffff FFE0 eax x0000 000E Memory Address Value xffff FFF8 xffff FFF4 x0000 0004 xffff FFF4 x0000 0003
More informationCall Paths for Pin Tools
, Xu Liu, and John Mellor-Crummey Department of Computer Science Rice University CGO'14, Orlando, FL February 17, 2014 What is a Call Path? main() A() B() Foo() { x = *ptr;} Chain of function calls that
More informationDMVPN Event Tracing. Finding Feature Information
The feature provides a trace facility for troubleshooting Cisco IOS Dynamic Multipoint VPN (DMVPN). This feature enables you to monitor DMVPN events, errors, and exceptions. During runtime, the event trace
More informationX10 specific Optimization of CPU GPU Data transfer with Pinned Memory Management
X10 specific Optimization of CPU GPU Data transfer with Pinned Memory Management Hideyuki Shamoto, Tatsuhiro Chiba, Mikio Takeuchi Tokyo Institute of Technology IBM Research Tokyo Programming for large
More informationFunctions and Procedures
Functions and Procedures Function or Procedure A separate piece of code Possibly separately compiled Located at some address in the memory used for code, away from main and other functions (main is itself
More informationDebugging for production systems
Debugging for production systems February, 2013 Tristan Lelong Adeneo Embedded tlelong@adeneo-embedded.com Embedded Linux Conference 2013 1 Who am I? Software engineer at Adeneo Embedded (Bellevue, WA)
More informationBRANCH IF REGISTER IS HIGHER/GREATHER/ THAN OPERAND e.g. CMPA #$D0
Midterm Review 1. Branch instructions BHI (unsigned), BGT (signed) Take a look at the preceding comparison instruction. Then, you can use this instead of using complex formula in the instruction reference.
More informationECE 498 Linux Assembly Language Lecture 1
ECE 498 Linux Assembly Language Lecture 1 Vince Weaver http://www.eece.maine.edu/ vweaver vincent.weaver@maine.edu 13 November 2012 Assembly Language: What s it good for? Understanding at a low-level what
More informationLecture 3: O/S Organization. plan: O/S organization processes isolation
6.828 2012 Lecture 3: O/S Organization plan: O/S organization processes isolation topic: overall o/s design what should the main components be? what should the interfaces look like? why have an o/s at
More informationProtection and System Calls. Otto J. Anshus
Protection and System Calls Otto J. Anshus Protection Issues CPU protection Prevent a user from using the CPU for too long Throughput of jobs, and response time to events (incl. user interactive response
More informationProcedure Calls Main Procedure. MIPS Calling Convention. MIPS-specific info. Procedure Calls. MIPS-specific info who cares? Chapter 2.7 Appendix A.
MIPS Calling Convention Chapter 2.7 Appendix A.6 Procedure Calls Main Procedure Call Procedure Call Procedure Procedure Calls Procedure must from any call Procedure uses that main was using We need a convention
More informationZing Vision. Answering your toughest production Java performance questions
Zing Vision Answering your toughest production Java performance questions Outline What is Zing Vision? Where does Zing Vision fit in your Java environment? Key features How it works Using ZVRobot Q & A
More informationReal Time BoF ELC 2012
Real Time BoF ELC 2012 This session provides a forum to discuss Real Time Linux, share how you are using it, and learn from the experiences of others. Please come prepared to discuss your experiences with
More information238P: Operating Systems. Lecture 3: Calling conventions. Anton Burtsev October, 2018
238P: Operating Systems Lecture 3: Calling conventions Anton Burtsev October, 2018 What does CPU do internally? (Remember Lecture 01 - Introduction?) CPU execution loop CPU repeatedly reads instructions
More informationRALPH BÖHME, SERNET, SAMBA TEAM UNDERSTANDING AND IMPROVING SAMBA FILESERVER PERFORMANCE HOW I FELL IN LOVE WITH SYSTEMTAP AND PERF
UNDERSTANDING AND IMPROVING HOW I FELL IN LOVE WITH SYSTEMTAP AND PERF 2 AGENDA Disclaimer: focus on userspace, not kernel, mostly Linux Linux tracing history tour de force perf Systemtap Samba fileserver
More informationCSCI0330 Intro Computer Systems Doeppner. Lab 02 - Tools Lab. Due: Sunday, September 23, 2018 at 6:00 PM. 1 Introduction 0.
CSCI0330 Intro Computer Systems Doeppner Lab 02 - Tools Lab Due: Sunday, September 23, 2018 at 6:00 PM 1 Introduction 0 2 Assignment 0 3 gdb 1 3.1 Setting a Breakpoint 2 3.2 Setting a Watchpoint on Local
More informationUse Dynamic Analysis Tools on Linux
Use Dynamic Analysis Tools on Linux FTF-SDS-F0407 Gene Fortanely Freescale Software Engineer Catalin Udma A P R. 2 0 1 4 Software Engineer, Digital Networking TM External Use Session Introduction This
More informationPinpointing Data Locality Problems Using Data-centric Analysis
Center for Scalable Application Development Software Pinpointing Data Locality Problems Using Data-centric Analysis Xu Liu XL10@rice.edu Department of Computer Science Rice University Outline Introduction
More informationPortland State University ECE 587/687. Virtual Memory and Virtualization
Portland State University ECE 587/687 Virtual Memory and Virtualization Copyright by Alaa Alameldeen and Zeshan Chishti, 2015 Virtual Memory A layer of abstraction between applications and hardware Programs
More informationuftrace: function graph tracer for C/C++
uftrace: function graph tracer for C/C++ Namhyung Kim ( 김남형 ) namhyung@gmail.com namhyung.kim@lge.com Open Source Summit 2017 2017.9.11 "Powered by Marp" uftrace overview function tracer for C/C++ inspired
More informationThe Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.
The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. Operating System Services User Operating System Interface
More informationBuilding Binary Optimizer with LLVM
Building Binary Optimizer with LLVM Maksim Panchenko maks@fb.com BOLT Binary Optimization and Layout Tool Built in less than 6 months x64 Linux ELF Runs on large binary (HHVM, non-jitted part) Improves
More informationAn analysis of object-based intelligent image
An analysis of object-based intelligent image processing and retrieval system Abstract-In order to improve the process of analysis and retrieval of images, it is necessary to examine the execution of such
More informationCS4617 Computer Architecture
1/27 CS4617 Computer Architecture Lecture 7: Instruction Set Architectures Dr J Vaughan October 1, 2014 2/27 ISA Classification Stack architecture: operands on top of stack Accumulator architecture: 1
More informationUsing a debugger. Segmentation fault? GDB to the rescue!
Using a debugger Segmentation fault? GDB to the rescue! But first... Let's talk about the quiz Let's talk about the previous homework assignment Let's talk about the current homework assignment K findkey(v
More information- In the application level, there is a stdio cache for the application - In the kernel, there is a buffer cache, which acts as a cache for the disk.
Computer Science 61 Scribe Notes Tuesday, November 6, 2012. There is an anonymous feedback form which can be found at http://cs61.seas.harvard.edu/feedback/ Buffer Caching and Cache organization and Processor
More informationProfiling and Workflow
Profiling and Workflow Preben N. Olsen University of Oslo and Simula Research Laboratory preben@simula.no September 13, 2013 1 / 34 Agenda 1 Introduction What? Why? How? 2 Profiling Tracing Performance
More informationStack Traces and Flame Graphs for Oracle Troubleshooting. Luca Canali, CERN UKOUG, Birmingham, December 6 th, 2015
Stack Traces and Flame Graphs for Oracle Troubleshooting Luca Canali, CERN UKOUG, Birmingham, December 6 th, 2015 About Luca Senior DBA and team lead at CERN IT Joined CERN in 2005 Working with Oracle
More informationLecture Topics. Announcements. Today: Threads (Stallings, chapter , 4.6) Next: Concurrency (Stallings, chapter , 5.
Lecture Topics Today: Threads (Stallings, chapter 4.1-4.3, 4.6) Next: Concurrency (Stallings, chapter 5.1-5.4, 5.7) 1 Announcements Make tutorial Self-Study Exercise #4 Project #2 (due 9/20) Project #3
More informationThe benefits and costs of writing a POSIX kernel in a high-level language
1 / 38 The benefits and costs of writing a POSIX kernel in a high-level language Cody Cutler, M. Frans Kaashoek, Robert T. Morris MIT CSAIL Should we use high-level languages to build OS kernels? 2 / 38
More informationNew IDE Application Profiler Enhancements
New IDE Application Profiler Enhancements Authored by: Elena Laskavaia The new Application Profiler features are currently under development for the next release of QNX Momentics. Use the forum and provide
More informationCalling Conventions. See P&H 2.8 and Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University
Calling Conventions See P&H 2.8 and 2.12 Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Goals for Today Review: Calling Conventions call a routine (i.e. transfer control to
More informationPaging. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Paging Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Paging Allows the physical address space of a process to be noncontiguous Divide virtual
More informationCache memories are small, fast SRAM-based memories managed automatically in hardware. Hold frequently accessed blocks of main memory
Cache Memories Cache memories are small, fast SRAM-based memories managed automatically in hardware. Hold frequently accessed blocks of main memory CPU looks first for data in caches (e.g., L1, L2, and
More information«UNDERSTANDING EMBEDDED LINUX BENCHMARKING USING KERNEL TRACE ANALYSIS» ALEXIS MARTIN INRIA / LIG / UNIV. GRENOBLE, FRANCE
«UNDERSTANDING EMBEDDED LINUX BENCHMARKING USING KERNEL TRACE ANALYSIS» ALEXIS MARTIN INRIA / LIG / UNIV. GRENOBLE, FRANCE We do Need Benchmarking! Benchmark : a standard or point of reference against
More informationCSCI 2212: Intermediate Programming / C Recursion
... 1/40 CSCI 2212: Intermediate Programming / C Recursion Alice E. Fischer November 13 and 16, 2015 ... 2/40 Outline What is Recursion? Recursively Defined Images What is a Recursive Function? How Does
More informationRun-Time Environments
1 Run-Time Environments Chapter 7 COP5621 Compiler Construction Copyright Robert van Engelen, Florida State University, 2007-2011 2 Procedure Activation and Lifetime A procedure is activated when called
More informationMaking C Less Dangerous
Making C Less Dangerous Linux Security Summit August 27, 2018 Vancouver, Canada Kees ( Case ) Cook keescook@chromium.org @kees_cook https://outflux.net/slides/2018/lss/danger.pdf Agenda Background Kernel
More informationImproving Linux Development with better tools. Andi Kleen. Oct 2013 Intel Corporation
Improving Linux Development with better tools Andi Kleen Oct 2013 Intel Corporation ak@linux.intel.com Linux complexity growing Source lines in Linux kernel All source code 16.5 16 15.5 M-LOC 15 14.5 14
More informationAndroid Kernel Security
Jeff Vander Stoep and Sami Tolvanen Android Kernel Security Linux Security Summit Aug 2018 Acknowledgements People who have reported security vulnerabilities to Android security: https://source.android.com/security/overview/acknowledgements
More informationLECTURE 19. Subroutines and Parameter Passing
LECTURE 19 Subroutines and Parameter Passing ABSTRACTION Recall: Abstraction is the process by which we can hide larger or more complex code fragments behind a simple name. Data abstraction: hide data
More informationLinuxCon 2010 Tracing Mini-Summit
LinuxCon 2010 Tracing Mini-Summit A new unified Lockless Ring Buffer library for efficient kernel tracing Presentation at: http://www.efficios.com/linuxcon2010-tracingsummit E-mail: mathieu.desnoyers@efficios.com
More informationcustinger - Supporting Dynamic Graph Algorithms for GPUs Oded Green & David Bader
custinger - Supporting Dynamic Graph Algorithms for GPUs Oded Green & David Bader What we will see today The first dynamic graph data structure for the GPU. Scalable in size Supports the same functionality
More informationSoftware Exorcism: A Handbook for Debugging and Optimizing Legacy Code
Software Exorcism: A Handbook for Debugging and Optimizing Legacy Code BILL BLUNDEN Apress About the Author Acknowledgments Introduction xi xiii xv Chapter 1 Preventative Medicine 1 1.1 Core Problems 2
More informationCS 241 Honors Memory
CS 241 Honors Memory Ben Kurtovic Atul Sandur Bhuvan Venkatesh Brian Zhou Kevin Hong University of Illinois Urbana Champaign February 20, 2018 CS 241 Course Staff (UIUC) Memory February 20, 2018 1 / 35
More informationChapter 5 Input/Output. I/O Devices
Chapter 5 Input/Output 5.1 Principles of I/O hardware 5.2 Principles of I/O software 5.3 I/O software layers 5.4 Disks 5.5 Clocks 5.6 Character-oriented terminals 5.7 Graphical user interfaces 5.8 Network
More informationOperating System System Call & Debugging Technique
1 Operating System System Call & Debugging Technique 진주영 jjysienna@gmail.com System Call 2 A way for user-space programs to interact with the kernel System Call enables application programs in user-mode
More informationThe HALFWORD HEAP EMULATOR
The HALFWORD HEAP EMULATOR EXPLORING A VIRTUAL MACHINE patrik Nyblom, Ericsson ab pan@erlang.org The Beam Virtual Machine Björns/Bogdans Erlang Abstract Machine Has evolved over the years and is a joint
More informationEmbedded Linux Conference EU Complex Cameras on Linux. Mauro Carvalho Chehab. Oct, SRBR Samsung R&D Institute Brazil
Embedded Linux Conference EU 2018 Complex Cameras on Linux Oct, 23 2018 Mauro Carvalho Chehab SRBR Samsung R&D Institute Brazil Contents I. What is a complex camera? II. Libv4l Manaus Campinas III. Modern
More informationImproving Linux development with better tools
Improving Linux development with better tools Andi Kleen Oct 2013 Intel Corporation ak@linux.intel.com Linux complexity growing Source lines in Linux kernel All source code 16.5 16 15.5 M-LOC 15 14.5 14
More informationStack frame unwinding on ARM
Stack frame unwinding on ARM Ken Werner LDS, Budapest 2011 http:/www.linaro.org why? Who needs to unwind the stack? C++ exceptions GDB anyone who wants to display the call chain Unwinding in General How
More informationECE 471 Embedded Systems Lecture 5
ECE 471 Embedded Systems Lecture 5 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 13 September 2016 HW#2 is due Thursday It is going OK? Announcements 1 Homework #1 Review Characteristics
More informationA new Mono GC. Paolo Molaro October 25, 2006
A new Mono GC Paolo Molaro lupus@novell.com October 25, 2006 Current GC: why Boehm Ported to the major architectures and systems Featurefull Very easy to integrate Handles managed pointers in unmanaged
More informationChapter 8 & Chapter 9 Main Memory & Virtual Memory
Chapter 8 & Chapter 9 Main Memory & Virtual Memory 1. Various ways of organizing memory hardware. 2. Memory-management techniques: 1. Paging 2. Segmentation. Introduction Memory consists of a large array
More informationby Marina Cholakyan, Hyduke Noshadi, Sepehr Sahba and Young Cha
CS 111 Scribe Notes for 4/11/05 by Marina Cholakyan, Hyduke Noshadi, Sepehr Sahba and Young Cha Processes What is a process? A process is a running instance of a program. The Web browser you're using to
More informationvs. GPU Performance Without the Answer University of Virginia Computer Engineering g Labs
Where is the Data? Why you Cannot Debate CPU vs. GPU Performance Without the Answer Chris Gregg and Kim Hazelwood University of Virginia Computer Engineering g Labs 1 GPUs and Data Transfer GPU computing
More informationVirtual Memory 2: demand paging
Virtual Memory : demand paging also: anatomy of a process Guillaume Salagnac Insa-Lyon IST Semester Fall 8 Reminder: OS duties CPU CPU cache (SRAM) main memory (DRAM) fast storage (SSD) large storage (disk)
More informationSeparate compilation. Topic 6: Runtime Environments p.1/21. CS 526 Topic 6: Runtime Environments The linkage convention
Runtime Environment The Procedure Abstraction and Separate Compilation Topics we will cover The procedure abstraction and linkage conventions Runtime storage convention Non-local data access (brief) These
More informationChapter 8 Main Memory
COP 4610: Introduction to Operating Systems (Spring 2014) Chapter 8 Main Memory Zhi Wang Florida State University Contents Background Swapping Contiguous memory allocation Paging Segmentation OS examples
More informationCHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.
CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationMeasuring the impacts of the Preempt-RT patch
Measuring the impacts of the Preempt-RT patch maxime.chevallier@smile.fr October 25, 2017 RT Linux projects Simulation platform : bi-xeon, lots ot RAM 200µs wakeup latency, networking Test bench : Intel
More informationMemory Management. Fundamentally two related, but distinct, issues. Management of logical address space resource
Management Fundamentally two related, but distinct, issues Management of logical address space resource On IA-32, address space may be scarce resource for a user process (4 GB max) Management of physical
More informationKVM / QEMU Storage Stack Performance Discussion
2010 Linux Plumbers Conference KVM / QEMU Storage Stack Performance Discussion Speakers: Khoa Huynh khoa@us.ibm.com Stefan Hajnoczi stefan.hajnoczi@uk.ibm.com IBM Linux Technology Center 2010 IBM Corporation
More informationPaging. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University
Paging Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE3044: Operating Systems, Fall 2016, Jinkyu Jeong (jinkyu@skku.edu) Paging Allows the physical
More informationCSCI 402: Computer Architectures. Instructions: Language of the Computer (3) Fengguang Song Department of Computer & Information Science IUPUI.
CSCI 402: Computer Architectures Instructions: Language of the Computer (3) Fengguang Song Department of Computer & Information Science IUPUI Recall Big endian, little endian Memory alignment Unsigned
More informationCS 480 Fall Runtime Environments. Mike Lam, Professor. (a.k.a. procedure calls and heap management)
CS 480 Fall 2015 Mike Lam, Professor Runtime Environments (a.k.a. procedure calls and heap management) Subprograms General characteristics Single entry point Caller is suspended while subprogram is executing
More informationECE 471 Embedded Systems Lecture 6
ECE 471 Embedded Systems Lecture 6 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 17 September 2018 Announcements HW#2 was posted, it is due Friday 1 Homework #1 Review Characteristics
More informationECE260: Fundamentals of Computer Engineering
Supporting Nested Procedures James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy Memory Layout
More informationFunctions in MIPS. Functions in MIPS 1
Functions in MIPS We ll talk about the 3 steps in handling function calls: 1. The program s flow of control must be changed. 2. Arguments and return values are passed back and forth. 3. Local variables
More informationProdDiagNode - Version: 1. Production Diagnostics for Node Applications
ProdDiagNode - Version: 1 Production Diagnostics for Node Applications Production Diagnostics for Node Applications ProdDiagNode - Version: 1 2 days Course Description: Node.js, the popular cross-platform
More informationAndroid Debugging ART
Android Debugging ART Khaled JMAL 2016 / 11 / 17 2 / 24 The Dalvik Virtual Machine Up to version 4.4 KitKat, Android was based on the Dalvik Virtual Machine Java compiles into DEX code DEX code is compiled
More informationRuntime Environments I. Basilio B. Fraguela
Runtime Environments I Basilio B. Fraguela Runtime System Responsibilities Allocation of storage for program data Sometimes also deallocation Garbage collection Management of data structures the compiled
More informationEnhancing PAPI with Low-Overhead rdpmc Reads
Enhancing PAPI with Low-Overhead rdpmc Reads Yan Liu and Vince Weaver {yan.liu,vincent.weaver}@maine.edu University of Maine ESPT Workshop 2017 12 November 2017 PAPI Background PAPI, the Performance API
More informationHardware-assisted software tracing
Hardware-assisted software tracing Adrien Vergé adrienverge@gmail.com talk about tracing improve tracing using hardware 1 Tracing 2 Hardware 3 Improvements 1 Tracing a technique used to understand what
More informationExample. program sort; var a : array[0..10] of integer; procedure readarray; : function partition (y, z :integer) :integer; var i, j,x, v :integer; :
Runtime Environment Relationship between names and data objects (of target machine) Allocation & de-allocation is managed by run time support package Each execution of a procedure is an activation of the
More informationECE 598 Advanced Operating Systems Lecture 10
ECE 598 Advanced Operating Systems Lecture 10 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 22 February 2018 Announcements Homework #5 will be posted 1 Blocking vs Nonblocking
More informationProgramming Abstractions
Programming Abstractions C S 1 0 6 B Cynthia Lee Topics: Wednesday: Binary Search Tree (BST) Starting with a dream: binary search in a linked list? How our dream provided the inspiration for the BST Note:
More information