The document describes how to debug a kernel crash by recording the full kernel panic text using techniques like configuring a serial console, using the netconsole kernel feature, or manually dumping memory on a virtual machine. It also explains how to use the crash analysis tool to examine the crash dump, including getting a backtrace, disassembling instructions, and viewing the kernel log.
HKG18-TR14 - Postmortem Debugging with CoresightLinaro
Session ID: HKG18-TR14
Session Name: HKG18-TR14 - Postmortem Debugging with Coresight
Speaker: Leo Yan
Track: Training
★ Session Summary ★
For most cases we can easily debug with kernel's oops dumping info, but sometimes we need to know more information for program execution flow before the issue happens. So we can rely on two tracing methods to reproduce the program execution flow, one method is using software tracing which is kernel's pstore method; another method is to rely on Coresight hardware tracing, this method also can avoid extra workload introduced by tracing itself. Coresight has provided two mechanisms for Postmortem debugging, one method is Coresight CPU debug module so we can extract CPU program counter info, this is quite straightforward to debug CPU lockup issue; Another is Coresight panic kdump, we connect kernel kdump mechanism to extract Coresight tracing data so we can reproduce the last execution flow before panic (even hang issue with some tweaking in kernel). This session wants to go through these topics and demonstrate the debugging tools on 96boards Hikey in 25 minutes session.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/hkg18/hkg18-tr14/
Presentation: http://connect.linaro.org.s3.amazonaws.com/hkg18/presentations/hkg18-tr14.pdf
Video: http://connect.linaro.org.s3.amazonaws.com/hkg18/videos/hkg18-tr14.mp4
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2018 (HKG18)
19-23 March 2018
Regal Airport Hotel Hong Kong
---------------------------------------------------
Keyword: Training
'http://www.linaro.org'
'http://connect.linaro.org'
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961
True stories on the analysis of network activity using Pythondelimitry
The presentation from SPbPython community / PiterPy meetup.
The presentation tells about the problems of analysing the network activity of applications on Linux using Python. The following topics are covered: analysis of network packets, analysis of packet filters, packets crafting using Scapy, analysis of open ports.
HKG18-TR14 - Postmortem Debugging with CoresightLinaro
Session ID: HKG18-TR14
Session Name: HKG18-TR14 - Postmortem Debugging with Coresight
Speaker: Leo Yan
Track: Training
★ Session Summary ★
For most cases we can easily debug with kernel's oops dumping info, but sometimes we need to know more information for program execution flow before the issue happens. So we can rely on two tracing methods to reproduce the program execution flow, one method is using software tracing which is kernel's pstore method; another method is to rely on Coresight hardware tracing, this method also can avoid extra workload introduced by tracing itself. Coresight has provided two mechanisms for Postmortem debugging, one method is Coresight CPU debug module so we can extract CPU program counter info, this is quite straightforward to debug CPU lockup issue; Another is Coresight panic kdump, we connect kernel kdump mechanism to extract Coresight tracing data so we can reproduce the last execution flow before panic (even hang issue with some tweaking in kernel). This session wants to go through these topics and demonstrate the debugging tools on 96boards Hikey in 25 minutes session.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/hkg18/hkg18-tr14/
Presentation: http://connect.linaro.org.s3.amazonaws.com/hkg18/presentations/hkg18-tr14.pdf
Video: http://connect.linaro.org.s3.amazonaws.com/hkg18/videos/hkg18-tr14.mp4
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2018 (HKG18)
19-23 March 2018
Regal Airport Hotel Hong Kong
---------------------------------------------------
Keyword: Training
'http://www.linaro.org'
'http://connect.linaro.org'
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961
True stories on the analysis of network activity using Pythondelimitry
The presentation from SPbPython community / PiterPy meetup.
The presentation tells about the problems of analysing the network activity of applications on Linux using Python. The following topics are covered: analysis of network packets, analysis of packet filters, packets crafting using Scapy, analysis of open ports.
VMware’s Nathan Small who works as a Staff Engineer at Global Support Services has put together a great presentation about Advanced Root Cause Analysis. The presentation was designed to give you more insight into how a VMware Technical Support Engineer reviews logs, gathers data and performs in-depth analysis. Nathan is hoping to show you the skills they’re using every day to help determine the root cause for an issue in your environment. With this core knowledge, you will become more self-sufficient within your own environment and be able to diagnose an issue as it occurs rather than after the damage has been done.
LAS16-403: GDB Linux Kernel Awareness
Speakers: Peter Griffin
Date: September 29, 2016
★ Session Description ★
The presentation will look at the ways in which GDB can be enhanced when debugging the Linux kernel to give it better knowledge of the underlying operating system to enable a better debugging experience. It will also provide a status of the current work being undertaken in this area by the ST landing team, a demo and potential future work.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-403
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-403/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoringNETWAYS
Nowadays system administrators have great choices when it comes down to Linux performance profiling and monitoring. The challenge is to pick the appropriate tools and interpret their results correctly.
This talk is a chance to take a tour through various performance profiling and benchmarking tools, focusing on their benefit for every sysadmin.
More than 25 different tools are presented. Ranging from well known tools like strace, iostat, tcpdump or vmstat to new features like Linux tracepoints or perf_events. You will also learn which tools can be monitored by Icinga and which monitoring plugins are already available for that.
At the end the goal is to gather reference points to look at, whenever you are faced with performance problems.
Take the chance to close your knowledge gaps and learn how to get the most out of your system.
Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203Linaro
Session ID: SFO17-203
Session Name: Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203
Speaker: Fu Wei
Track: LEG
★ Session Summary ★
This presentation gives an updated RAS architecture on ARM64 base on RAS extension (in ARMv8.2), SDEI (Software Delegated Exception Interface), APEI, UEFI PI-SMM. Will talk about all the components of the new RAS architecture on ARM64, gives audience the current status and the next step of development.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/sfo17/sfo17-203/
Presentation:
Video: https://www.youtube.com/watch?v=NReFBzbeWi0
---------------------------------------------------
★ Event Details ★
Linaro Connect San Francisco 2017 (SFO17)
25-29 September 2017
Hyatt Regency San Francisco Airport
---------------------------------------------------
Keyword:
'http://www.linaro.org'
'http://connect.linaro.org'
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961
Security researchers have limited options when it comes to debuggers and dynamic binary instrumentation tools for ARM-based devices. Hardware-based solutions can be expensive or destructive, while software tools are often restricted to user mode. Presented at REcon 2016, this presentation explores a common but often ignored feature of the ARM debug architecture in search of other options. Digging deeper into this hardware component reveals many interesting use-cases for researchers ranging from debugging and instrumentation to building a novel rootkit.
OSMC 2015: Linux Performance Profiling and Monitoring by Werner FischerNETWAYS
Nowadays system administrators have great choices when it comes down to Linux performance profiling and monitoring. The challenge is to pick the appropriate tools and interpret their results correctly.
This talk is a chance to take a tour through various performance profiling and benchmarking tools, focusing on their benefit for every sysadmin.
More than 25 different tools are presented. Ranging from well known tools like strace, iostat, tcpdump or vmstat to new features like Linux tracepoints or perf_events. You will also learn which tools can be monitored by Icinga and which monitoring plugins are already available for that.
At the end the goal is to gather reference points to look at, whenever you are faced with performance problems.
Take the chance to close your knowledge gaps and learn how to get the most out of your system.
Design and build a wireless transceiver using nrf24l01p single chip 2.4g hz Ehsan Izadi
A Wireless transceiver has been designed using nrf24l01p module in order to make a connection between two laptops and exchanging data. The PCB layout and C Codes are available in the PDF file.
Syddansk Universitet:Master i projektledelse er en 2-årig forskningsbaseret e...Mediehuset Ingeniøren Live
Projektværktøjsdagen 2013 - Eva Riis, Ph.d.-stipendiat, Institut for Ledelse og Virksomhedsstrategi. Syddansk Universitet og Klaus Kelmann, Syddansk Universitet
Uddannelsen fokuserer på professionel ledelse af projekter, programmer, PMO, portefølje og den projektorienterede organisation.
Emil Plaugmann, Headhunter, Capax Recruitment
Hvordan udformer man sit CV, og hvorfor det kan være vigtigt i forhold til at fremtidssikre sin karriere?
VMware’s Nathan Small who works as a Staff Engineer at Global Support Services has put together a great presentation about Advanced Root Cause Analysis. The presentation was designed to give you more insight into how a VMware Technical Support Engineer reviews logs, gathers data and performs in-depth analysis. Nathan is hoping to show you the skills they’re using every day to help determine the root cause for an issue in your environment. With this core knowledge, you will become more self-sufficient within your own environment and be able to diagnose an issue as it occurs rather than after the damage has been done.
LAS16-403: GDB Linux Kernel Awareness
Speakers: Peter Griffin
Date: September 29, 2016
★ Session Description ★
The presentation will look at the ways in which GDB can be enhanced when debugging the Linux kernel to give it better knowledge of the underlying operating system to enable a better debugging experience. It will also provide a status of the current work being undertaken in this area by the ST landing team, a demo and potential future work.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-403
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-403/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoringNETWAYS
Nowadays system administrators have great choices when it comes down to Linux performance profiling and monitoring. The challenge is to pick the appropriate tools and interpret their results correctly.
This talk is a chance to take a tour through various performance profiling and benchmarking tools, focusing on their benefit for every sysadmin.
More than 25 different tools are presented. Ranging from well known tools like strace, iostat, tcpdump or vmstat to new features like Linux tracepoints or perf_events. You will also learn which tools can be monitored by Icinga and which monitoring plugins are already available for that.
At the end the goal is to gather reference points to look at, whenever you are faced with performance problems.
Take the chance to close your knowledge gaps and learn how to get the most out of your system.
Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203Linaro
Session ID: SFO17-203
Session Name: Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203
Speaker: Fu Wei
Track: LEG
★ Session Summary ★
This presentation gives an updated RAS architecture on ARM64 base on RAS extension (in ARMv8.2), SDEI (Software Delegated Exception Interface), APEI, UEFI PI-SMM. Will talk about all the components of the new RAS architecture on ARM64, gives audience the current status and the next step of development.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/sfo17/sfo17-203/
Presentation:
Video: https://www.youtube.com/watch?v=NReFBzbeWi0
---------------------------------------------------
★ Event Details ★
Linaro Connect San Francisco 2017 (SFO17)
25-29 September 2017
Hyatt Regency San Francisco Airport
---------------------------------------------------
Keyword:
'http://www.linaro.org'
'http://connect.linaro.org'
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961
Security researchers have limited options when it comes to debuggers and dynamic binary instrumentation tools for ARM-based devices. Hardware-based solutions can be expensive or destructive, while software tools are often restricted to user mode. Presented at REcon 2016, this presentation explores a common but often ignored feature of the ARM debug architecture in search of other options. Digging deeper into this hardware component reveals many interesting use-cases for researchers ranging from debugging and instrumentation to building a novel rootkit.
OSMC 2015: Linux Performance Profiling and Monitoring by Werner FischerNETWAYS
Nowadays system administrators have great choices when it comes down to Linux performance profiling and monitoring. The challenge is to pick the appropriate tools and interpret their results correctly.
This talk is a chance to take a tour through various performance profiling and benchmarking tools, focusing on their benefit for every sysadmin.
More than 25 different tools are presented. Ranging from well known tools like strace, iostat, tcpdump or vmstat to new features like Linux tracepoints or perf_events. You will also learn which tools can be monitored by Icinga and which monitoring plugins are already available for that.
At the end the goal is to gather reference points to look at, whenever you are faced with performance problems.
Take the chance to close your knowledge gaps and learn how to get the most out of your system.
Design and build a wireless transceiver using nrf24l01p single chip 2.4g hz Ehsan Izadi
A Wireless transceiver has been designed using nrf24l01p module in order to make a connection between two laptops and exchanging data. The PCB layout and C Codes are available in the PDF file.
Syddansk Universitet:Master i projektledelse er en 2-årig forskningsbaseret e...Mediehuset Ingeniøren Live
Projektværktøjsdagen 2013 - Eva Riis, Ph.d.-stipendiat, Institut for Ledelse og Virksomhedsstrategi. Syddansk Universitet og Klaus Kelmann, Syddansk Universitet
Uddannelsen fokuserer på professionel ledelse af projekter, programmer, PMO, portefølje og den projektorienterede organisation.
Emil Plaugmann, Headhunter, Capax Recruitment
Hvordan udformer man sit CV, og hvorfor det kan være vigtigt i forhold til at fremtidssikre sin karriere?
Deployment of security countermeasures and –processes across public-, private- or hybrid cloud IT implementations.
How to deploy and manage security in dynamic environments - even in highly regulated environments.
Lastly, how security can support rather than interfere with IT management processes.
Findes den agile Prince, eller er agil og PRINCE2 to religioner, som ikke bør krydse veje? Hør hvordan man kan kombinere de to og få praktiske værktøjer til hvordan du bliver mere agil i en PRINCE2 verden.
Projektværktøjsdagen 2013: Erik Korsvik Østergaard, Principal Business Consultant, ProActive A/S
Effektiv vidensdelinginternt mellem projektdeltagere samt resten af organisationen er afgørende for at opnå succes. Hør ProActives erfaringer med at skubbe til virksomheders kultur for vidensdeling med socialt software.
Idéen for foreningen er at fremme kompetent og værdiskabende projektledelse. Som værktøj præsenteres tolv indikatorer på, at projektledelse skaber værdi.
From analog to digital possibilities and limitations. Online or on Premise, the choice is yours. Simplify onbording. Oplægsholder: Magnus Holmlid, PPM Entusiast, Visual Planning & Practical PPM, 25 years experience in delivering digital project portfolio management solutions.
Vidste du at Lantmännen Unibake har 23 bagerier fordelt på 18 lande verden over?
Siden 2007 bruges Antura Projects af Lantmännen – en af de største grupper inden for landbrug, maskiner, fødevarer og energi. Lantmännen har 8.600 medarbejdere og tilstedeværelse i 22 lande.
Christina Sejr Pedersen, Group PMO Director ved Lantmännen Unibake og ”PMO-leader of the year 2012”, fortæller hvordan en effektiv projektorganisation og PMO kan etableres, og hvordan projektværktøjet Antura Projects understøtter denne etablering.
Projektværktøjsdagen 2013 - Jesper Garde Schreiner, Dansk projektledelse
IPMA Certificering af projektledere. IPMA Certificering af projektledere varetages her i landet af DanskProjektledelse – på vegne af IPMA, International Project Management.
Certificeringsordningen støtter op om karriereforløb – ved at omfatte fire niveauer: D med grundlæggende certificering, C med certificering af projektledere, B med certificering af senior projektledere – og A med certificering af projektchefer, herunder programledere og porteføljeledere.
Projekter forandrer. Det forudsætter samarbejde med organisationen. Hør hvordan dit projekt møder mindre modstand: Forandringskommunikation er arbejdsmetoder, der involverer og skaber effektiv implementering.
Ulla Plüger Michelsen - Rekuttering og branding forankret i virksomhedens kul...Mediehuset Ingeniøren Live
Storytelling og brug af egne medarbejdere i rekrutterings- og branding-sammenhænge er nogle af de redskaber, som GEA har taget i anvendelse for at komme ud over den udfordring, at kendskabet til virksomheden er lille, og at udenforstående har svært ved at forholde sig til dens produkter: procesudstyr til fødevareindustrien. Hvordan sikres samarbejdet med lederne i rekrutteringsprocessen, så der sendes realistiske signaler omkring virksomheden, job- og fremtidsmuligheder.
Kernel Recipes 2013 - Deciphering OopsiesAnne Nicolas
The Linux kernel is a very complex beast living in millions of households and data centers around the world. Normally, you’re not supposed to notice its presence but when it gets cranky because of something not suiting it, it spits crazy messages called colloquially
oopses and panics.
In this talk, we’re going to try to understand how to read those messages in order to be able to address its complaints so that it can get back to work for us.
Linux 4.x Tracing: Performance Analysis with bcc/BPFBrendan Gregg
Talk about bcc/eBPF for SCALE15x (2017) by Brendan Gregg. "BPF (Berkeley Packet Filter) has been enhanced in the Linux 4.x series and now powers a large collection of performance analysis and observability tools ready for you to use, included in the bcc (BPF Complier Collection) open source project. BPF nowadays can do system tracing, software defined networks, and kernel fast path: much more than just filtering packets! This talk will focus on the bcc/BPF tools for performance analysis, which make use of other built in Linux capabilities: dynamic tracing (kprobes and uprobes) and static tracing (tracepoints and USDT). There are now bcc tools for measuring latency distributions for file system I/O and run queue latency, printing details of storage device I/O and TCP retransmits, investigating blocked stack traces and memory leaks, and a whole lot more. These lead to performance wins large and small, especially when instrumenting areas that previously had zero visibility. Tracing superpowers have finally arrived, built in to Linux."
OSSNA 2017 Performance Analysis Superpowers with Linux BPFBrendan Gregg
Talk by Brendan Gregg for OSSNA 2017. "Advanced performance observability and debugging have arrived built into the Linux 4.x series, thanks to enhancements to Berkeley Packet Filter (BPF, or eBPF) and the repurposing of its sandboxed virtual machine to provide programmatic capabilities to system tracing. Netflix has been investigating its use for new observability tools, monitoring, security uses, and more. This talk will be a dive deep on these new tracing, observability, and debugging capabilities, which sooner or later will be available to everyone who uses Linux. Whether you’re doing analysis over an ssh session, or via a monitoring GUI, BPF can be used to provide an efficient, custom, and deep level of detail into system and application performance.
This talk will also demonstrate the new open source tools that have been developed, which make use of kernel- and user-level dynamic tracing (kprobes and uprobes), and kernel- and user-level static tracing (tracepoints). These tools provide new insights for file system and storage performance, CPU scheduler performance, TCP performance, and a whole lot more. This is a major turning point for Linux systems engineering, as custom advanced performance instrumentation can be used safely in production environments, powering a new generation of tools and visualizations."
This talk gives a short introduction into buffer overflows, how to exploit them and which counter measures are used in openSUSE Linux to make exploitation harder.
We'll cover stack canaries, fortify source, address space layout randomization and NX. We'll see how they work and how they can be circumvented in a live demo of a working exploit that manages to circumvent these security measures.
Debuggers are one of the most important tools in the programmer’s toolkit, but also one of the most overlooked pieces of technology. They have to work in some of the harshest conditions, supporting a huge set of programming languages and aggressive transformations by compilers. What makes them work? And when don’t they work?
In this talk, we will take you on a journey to some of the darkest and most confusing pits of systems programming involving debug formats, compilers and process control. we will describe situations where debuggers have failed you, and why. wef you’re not hacking on debuggers and are not a masochist, you will walk away with an increased appreciation of life.
Talk by Brendan Gregg for USENIX LISA 2019: Linux Systems Performance. Abstract: "
Systems performance is an effective discipline for performance analysis and tuning, and can help you find performance wins for your applications and the kernel. However, most of us are not performance or kernel engineers, and have limited time to study this topic. This talk summarizes the topic for everyone, touring six important areas of Linux systems performance: observability tools, methodologies, benchmarking, profiling, tracing, and tuning. Included are recipes for Linux performance analysis and tuning (using vmstat, mpstat, iostat, etc), overviews of complex areas including profiling (perf_events) and tracing (Ftrace, bcc/BPF, and bpftrace/BPF), and much advice about what is and isn't important to learn. This talk is aimed at everyone: developers, operations, sysadmins, etc, and in any environment running Linux, bare metal or the cloud."
Palestra realizada por Toronto Garcez aka torontux durante a 3a. edição da Nullbyte Security Conference em 26 de novembro de 2016.
Resumo:
O objetivo da apresentação é demonstrar de forma prática, o passo-a-passo para criar uma botnet com roteadores wi-fi e/ou embarcados em geral. Será demonstrado o desenvolvimento de um comando e controle e a utilização de firmwares "backdorados" para tornar dispositivos em bots.
Video: https://www.youtube.com/watch?v=JRFNIKUROPE . Talk for linux.conf.au 2017 (LCA2017) by Brendan Gregg, about Linux enhanced BPF (eBPF). Abstract:
A world of new capabilities is emerging for the Linux 4.x series, thanks to enhancements that have been included in Linux for to Berkeley Packet Filter (BPF): an in-kernel virtual machine that can execute user space-defined programs. It is finding uses for security auditing and enforcement, enhancing networking (including eXpress Data Path), and performance observability and troubleshooting. Many new open source tools that have been written in the past 12 months for performance analysis that use BPF. Tracing superpowers have finally arrived for Linux!
For its use with tracing, BPF provides the programmable capabilities to the existing tracing frameworks: kprobes, uprobes, and tracepoints. In particular, BPF allows timestamps to be recorded and compared from custom events, allowing latency to be studied in many new places: kernel and application internals. It also allows data to be efficiently summarized in-kernel, including as histograms. This has allowed dozens of new observability tools to be developed so far, including measuring latency distributions for file system I/O and run queue latency, printing details of storage device I/O and TCP retransmits, investigating blocked stack traces and memory leaks, and a whole lot more.
This talk will summarize BPF capabilities and use cases so far, and then focus on its use to enhance Linux tracing, especially with the open source bcc collection. bcc includes BPF versions of old classics, and many new tools, including execsnoop, opensnoop, funcccount, ext4slower, and more (many of which I developed). Perhaps you'd like to develop new tools, or use the existing tools to find performance wins large and small, especially when instrumenting areas that previously had zero visibility. I'll also summarize how we intend to use these new capabilities to enhance systems analysis at Netflix.
Talk for Facebook Systems@Scale 2021 by Brendan Gregg: "BPF (eBPF) tracing is the superpower that can analyze everything, helping you find performance wins, troubleshoot software, and more. But with many different front-ends and languages, and years of evolution, finding the right starting point can be hard. This talk will make it easy, showing how to install and run selected BPF tools in the bcc and bpftrace open source projects for some quick wins. Think like a sysadmin, not like a programmer."
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...Akihiro Hayashi
Third Workshop on Accelerator Programming Using Directives (WACCPD2016, co-located with SC16)
While GPUs are increasingly popular for high-performance
computing, optimizing the performance of GPU programs is a time-consuming and non-trivial process in general. This complexity stems from the low abstraction level of standard
GPU programming models such as CUDA and OpenCL:
programmers are required to orchestrate low-level operations
in order to exploit the full capability of GPUs. In terms of
software productivity and portability, a more attractive approach
would be to facilitate GPU programming by providing high-level
abstractions for expressing parallel algorithms.
OpenMP is a directive-based shared memory parallel programming model and has been widely used for many years.
From OpenMP 4.0 onwards, GPU platforms are supported
by extending OpenMP’s high-level parallel abstractions with
accelerator programming. This extension allows programmers to
write GPU programs in standard C/C++ or Fortran languages,
without exposing too many details of GPU architectures.
However, such high-level parallel programming strategies generally impose additional program optimizations on compilers,
which could result in lower performance than fully hand-tuned
code with low-level programming models.To study potential
performance improvements by compiling and optimizing high-level GPU programs, in this paper, we 1) evaluate a set of
OpenMP 4.x benchmarks on an IBM POWER8 and NVIDIA
Tesla GPU platform and 2) conduct a comparable performance
analysis among hand-written CUDA and automatically-generated
GPU programs by the IBM XL and clang/LLVM compilers.
Embedded Recipes 2019 - Introduction to JTAG debuggingAnne Nicolas
This talk introduces JTAG debugging capabilities, both for debugging hardware and software. Marek first explains what the JTAG stands for and explains the operation of the JTAG state machine. This is followed by an introduction to free software JTAG tools, OpenOCD and urJTAG. Marek shortly explains how to debug software using those tools and how that ties into the JTAG state machine. However, JTAG was designed for testing hardware. Marek explains what boundary scan testing (BST) is, what are BSDL files and their format, and practically demonstrates how to blink an LED using BST and only free software tools.
Marek Vasut
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
1. How to debug a kernel crash
Debugging - for rigtige programmører
- en dag fyldt med fejl
(Danish Debugging conf 2013)
Jesper Dangaard Brouer
Senior Kernel Engineer, Red Hat
2013-10-26
1/27
How to debug a kernel crash – and other tricks
2. Who am I
●
Name: Jesper Dangaard Brouer
–
Linux Kernel Developer at Red Hat
–
Edu: Computer Science for Uni. Copenhagen
●
–
Linux user since 1996, professional since 1998
●
–
Focus on Network, Dist. sys and OS
Sysadm, Kernel Developer, Embedded
OpenSource projects, author of
–
●
Patches accepted into
–
–
2/27
ADSL-optimizer, CPAN IPTables::libiptc, IPTV-Analyzer
Linux kernel, iproute2, iptables, libpcap and Wireshark
Organizer of Netfilter Workshop 2013
How to debug a kernel crash – and other tricks
5. Recording full panic text
●
Techniques for recording full panic output
–
Config kernel with serial console
–
Use netconsole kernel feature/module
Netconsole example:
●
On server:
modprobe netconsole
netconsole=6666@192.168.42.3/eth0,@192.168.42.180/f0:de:f1:9a:0a:dc
●
On receiving IP 192.168.42.180, capture UDP packet on port 6666
nc 4 u l 6666 | tee a netconsole.out01
●
5/27
Next other techniques for the unprepared
How to debug a kernel crash – and other tricks
6. kdump trick for the unprepared
●
Getting full panic output
–
●
Without serial console or netconsole
This was a KVM virtual machine
–
Manual raw dump of memory
Using command line tool “virsh”:
# virsh dump rhel6-server02 /tmp/panic01.dump
●
6/27
Next: (1) automate this and (2) how to use the dump
How to debug a kernel crash – and other tricks
7. Automatic kdump prepare
●
Prepare boot your kernel
–
●
with kernel parameter: crashkernel=xxx
Simple for e.g. Red Hat kernels:
–
crashkernel=128M@16M
●
●
Means reserve 128MB after first 16MB
Advanced New kernels:
–
crashkernel=384M-2G:64M,2G-:128M
●
●
Above 2GB reserve 128MB
●
7/27
Between 384 MB and 2 GB, reserve 64MB
Below 384 MB no mem reserved
How to debug a kernel crash – and other tricks
8. Kdump setup for Red Hat
●
Detailed instructions on howto setup on RHEL
–
–
Title: “Troubleshooting kernel crashes, system hangs,
or system reboots with kdump”
–
8/27
Really good step-by-step
Link: https://access.redhat.com/site/node/6038
How to debug a kernel crash – and other tricks
9. Postmortem “crash” tool
●
Tool “crash” for reading the dump
–
kernel-specific debugger
●
–
Install via package system or download
●
–
at http://people.redhat.com/anderson/
Also install the kexec-tools package
●
–
for performing postmortem system analysis
https://kernel.org/pub/linux/utils/kernel/kexec/
Needs debug info for kernel
●
●
9/27
Especially the “vmlinux” file
yum install kernel-debuginfo
How to debug a kernel crash – and other tricks
10. Invoking “crash” tool
●
Starting the crash tool:
# crash vmlinux System.map panic01.dump
10/27
How to debug a kernel crash – and other tricks
11. Crash useful commands
●
Useful commands in the crash prompt
–
–
“log” -- gives kernel log
–
“dis -l (function+offset)” -- disassemble
–
11/27
“bt” -- backtrace
“ps” -- semi-normal process list
How to debug a kernel crash – and other tricks
12. Info: x86_64 call convention
●
When reading x86_64 assembler
●
Need to know:
–
function arguments for an x86_64 arch are passed in
the following registers
–
%rdi, %rsi, %rdx, %rcx, %r8, %r9
●
where %rdi is 1st argument,
●
%rsi is 2nd argument....
●
12/27
more than 6 arguments, remaining ones are
pushed onto the stack right to left.
How to debug a kernel crash – and other tricks
13. Crash bt - backtrace
crash> bt
PID: 0
TASK: ffffffff81c10480 CPU: 0
COMMAND: "swapper/0"
#0 [ffff88002b4037c0] die at ffffffff81005c08
#1 [ffff88002b4037f0] do_trap at ffffffff81663deb
#2 [ffff88002b403800] __atomic_notifier_call_chain at ffffffff81667162
#3 [ffff88002b403850] do_invalid_op at ffffffff81002ea5
#4 [ffff88002b403890] dev_queue_xmit at ffffffff8155c59a
#5 [ffff88002b4038f0] invalid_op at ffffffff8166cc48
[exception RIP: synproxy_parse_options+363] (<-- notice decimal 363 == 0x16b)
RIP: ffffffffa010b38b RSP: ffff88002b4039a8 RFLAGS: 00010282
RAX: 00000000fffffff2 RBX: 000000000000000c RCX: 000000000000000c
RDX: ffff88002b4039a8 RSI: 0000000000000028 RDI: ffff880029768700
RBP: ffff88002b4039e8
R8: 0000000000000000
R9: 0000000000000000
R10: ffff880029768700 R11: 0000000000000000 R12: ffff88002b403a28
R13: ffff880029be5658 R14: ffff8800260a8630 R15: ffff880029aa6c62
ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018
#6 [ffff88002b4039a0] synproxy_parse_options at ffffffffa010b32b [nf_synproxy_core]
#7 [ffff88002b4039f0] synproxy_tg4 at ffffffffa0110a9e [ipt_SYNPROXY]
#8 [ffff88002b403a20] __kmalloc at ffffffff8117c4ae
#9 [ffff88002b403a80] ipt_do_table at ffffffffa00a90ee [ip_tables]
#10 [ffff88002b403bb0] iptable_filter_hook at ffffffffa00b20d3 [iptable_filter]
#11 [ffff88002b403bc0] nf_iterate at ffffffff815894b6
#12 [ffff88002b403c20] nf_hook_slow at ffffffff81589574
#13 [ffff88002b403ca0] ip_local_deliver at ffffffff81592a73
#14 [ffff88002b403cd0] ip_rcv_finish at ffffffff815923c1
#15 [ffff88002b403d00] ip_rcv at ffffffff81592d24
#16 [ffff88002b403d40] __netif_receive_skb_core at ffffffff81559f42
#17 [ffff88002b403db0] __netif_receive_skb at ffffffff8155a0d1
#18 [ffff88002b403dd0] netif_receive_skb at ffffffff8155a2b3
#19 [ffff88002b403e00] virtnet_poll at ffffffffa0027439 [virtio_net]
#20 [ffff88002b403ea0] net_rx_action at ffffffff8155a989
#21 [ffff88002b403f00] __do_softirq at ffffffff81059430
#22 [ffff88002b403f70] irq_exit at ffffffff810596e5
#23 [ffff88002b403f80] do_IRQ at ffffffff8166d463
13/27
How to debug a kernel crash – and other tricks
14. Crash dis - disassemble
●
Look at exact crash point assembler instruction:
crash> dis -l (synproxy_parse_options+363)
dis: line numbers are not available
0xffffffffa010b38b <synproxy_parse_options+363>:
●
Very strange assembler instruction “UD2”
–
UD2 == Undefined Instruction
●
–
14/27
ud2
explicitly generate an invalid opcode
Thus, an on purpose crash... hmmm
How to debug a kernel crash – and other tricks
16. Extra "ps" and "files" crash tricks
crash> ps
PID
PPID
[...cut...]
1512
1295
1515
1512
1563
1515
CPU
TASK
ST
%MEM
VSZ
RSS
COMM
0
0
0
ffff88002992c5f0
ffff88002992aea0
ffff880027a1c5f0
IN
IN
IN
0.5
0.3
0.1
100044
108344
105492
3892
1796
848
sshd
bash
less
crash> files 1563
PID: 1563
TASK: ffff880027a1c5f0 CPU: 0
COMMAND: "less"
ROOT: /
CWD: /root
FD
FILE
DENTRY
INODE
TYPE PATH
0 ffff8800297cef00 ffff880028d64240 ffff8800290e2fc0 CHR /dev/pts/0
1 ffff8800297cef00 ffff880028d64240 ffff8800290e2fc0 CHR /dev/pts/0
2 ffff8800297cef00 ffff880028d64240 ffff8800290e2fc0 CHR /dev/pts/0
3 ffff880029471100 ffff880029f813c0 ffff88002b28fce0 CHR /tty
4 ffff880029768800 ffff880028d44000 ffff880028d76480 REG /root/iptables_synproxy.sh
crash> set 1563
PID: 1563
COMMAND: "less"
TASK: ffff880027a1c5f0 [THREAD_INFO: ffff880028286000]
CPU: 0
STATE: TASK_INTERRUPTIBLE
16/27
How to debug a kernel crash – and other tricks
17. Code pointer – too easy
●
The full log, gave exact C-code line:
kernel BUG at net/netfilter/nf_synproxy_core.c:35!
–
“BUG” indicate explicit code assertion
●
17/27
BUG_ON() or BUG()
How to debug a kernel crash – and other tricks
18. Show me the code
18/27
How to debug a kernel crash – and other tricks
19. Using objdump
●
Too easy
–
–
●
Cannot be that lucky every time
Lets do it the hard way: Manual objdump
Use options: objdump -S -Mintel
–
●
Disassemble and use Intel (readable) asm
Draw flow arrow for jumps and calls
–
With tool asm_jmps.py by Daniel Fairchild
●
19/27
http://dikutal.dk/blog/fairchild
How to debug a kernel crash – and other tricks
20. Annoying compiler optimizations
●
BUG at synproxy_parse_options+0x16b -> 0x220+0x16b = 0x38b
–
20/27
Bash shell cmd: printf '0x%xn' $((0x220+0x16b))
How to debug a kernel crash – and other tricks
21. C-code inlined with asm
21/27
How to debug a kernel crash – and other tricks
22. Panic finished
●
Next: Some instrumentation hints
–
–
Probing a running kernel
–
SystemTap
–
22/27
Dynamic printk
Benchmarking tool: “perf”
How to debug a kernel crash – and other tricks
23. Panic finished
●
Next: Some instrumentation hints
–
–
Probing a running kernel
–
SystemTap
–
23/27
Dynamic printk
Benchmarking tool: “perf”
How to debug a kernel crash – and other tricks
24. Dynamic printk debugging
●
“Real programers use printk”
–
●
But want: 1) Dynamic enable/disable, 2) No overhead when disabled
Kernel dynamic debug (dyndbg) feature
–
–
Use pr_debug()
–
●
Select CONFIG_DYNAMIC_DEBUG
jump_label feature, dynamic code patching
Enable example:
# mount -t debugfs none /sys/kernel/debug/
# echo "func __detect_linklayer +p" > /sys/kernel/debug/dynamic_debug/control
24/27
How to debug a kernel crash – and other tricks
25. Probe running kernel
●
A number of solutions exists for
–
Probing the running kernel
●
(this is out of scope of this talk)
●
Just some link:
●
SystemTap http://www.linuxforu.com/2010/09/systemtap-tutorial-part-1/
●
Ftrace http://www.linuxforu.com/2010/11/kernel-tracing-with-ftrace-part-1/
●
Kprobe and Jprobe
http://www.linuxforu.com/2011/04/kernel-debugging-using-kprobe-and-jprobe
25/27
How to debug a kernel crash – and other tricks
26. SystemTap example
●
Debugging kernel commit
–
●
commit 50d1784ee (net: fix multiqueue selection)
Example how to start
# stap -v -g sk-txq.stp
%{
#include <net/sock.h>
%}
function queue_mapping:long(sk_ptr:long) %{
struct sock *sk = (struct sock*) STAP_ARG_sk_ptr;
STAP_RETVALUE = __sk_tx_queue_mapping(sk);
%}
probe kernel.function("__netdev_pick_tx").return {
if ($skb->sk)
printf("tx queue index: %dn", queue_mapping($skb->sk));
}
26/27
How to debug a kernel crash – and other tricks
27. Performance benchmarking
●
Performance analyzing tool: “perf”
–
–
Tracepoints
–
●
Supports hardware perf counters
Dynamic probes (e.g. kprobes or uprobes)
Both kernel and userspace profiling
–
Try it! -- run: “perf top”
●
●
27/27
perf record -g -a
perf report
How to debug a kernel crash – and other tricks
28. The End
●
If unlikely(time for questions)
–
28/27
Questions?
How to debug a kernel crash – and other tricks