SlideShare una empresa de Scribd logo
1 de 70
Descargar para leer sin conexión
COSCUP 2016 –
Linux Kernel Tracing
Viller Hsiao <villerhsiao@gmail.com>
Aug. 21, 2016
02/09/2016 2
Who am I ?
Viller Hsiao
Embedded Linux / RTOS engineer
   http://image.dfdaily.com/
2012/5/4/6347169311287512
50504b050c1_nEO_IMG.jpg
02/09/2016 3
What's Tracing
https://www.tnooz.com/wp-content/uploads/2010/12/tripadvisor-facebook-rampup1.jpg
02/09/2016 4
What's Tracing
●
Famous way in C: printf()
   
    void myfunc(int type)
    {
            if (type > 20) {
                 /* do some things */
                 printf (“I like it goes here!n”);
            } else if (type < 100) {
                /* do other things */
                 printf (“But it goes here!n”);
           } else {
                /* error handling */
                 printf (“Oh! I hate it's here! Wrong type is %dn”, type);
           }        
    }
02/09/2016 5
What's tracing data used for?
Observe program behavior
02/09/2016 6
What's tracing data used for?
Observe program behavior
Debug program
02/09/2016 7
What's tracing data used for?
Observe program behavior
Debug program
Profile and get statistics
and so on
02/09/2016 8
Well­known tool in kernel: 
printk()
printk() is intuitive, but 
02/09/2016 9
Issue of printk()
High overhead
“using printk(), especially when writing to the serial 
console, may take several milliseconds per write.” ~ [1]
02/09/2016 10
Issue of printk()
High overhead
Lack of flexibility
02/09/2016 11
Topic today
Systematic tracing mechanisms in Linux kernel
How kernel exhausts compiler and CPU tricks to implement 
flexible and low overhead system tracing
02/09/2016 12
Tracing in Linux
Tracing Implementations
Tracing Frameworks
Frontend Toolsuser
Interface for userspace
kernel
02/09/2016 13
ftrace
02/09/2016 14
ftrace
●
Linux­2.6.27
●
Linux kernel internal tracer framework
– Function tracer
– Tracing data output
– Tracepoint
– hist triggers
02/09/2016 15
Function Tracer
  void Func ( … )
  {
      Line 1;
      Line 2;
      …
  }
  
  void Func ( … )
  {
      mcount (pc, ra);
      Line 1;
      Line 2;
      …
  }
gcc ­pg
Re­use gprof mechanism, then re­implement mcount()
02/09/2016 16
Function Tracer
  void Func ( … )
  {
      Line 1;
      Line 2;
      …
  }
  
  void Func ( … )
  {
      mcount (pc, ra);
      Line 1;
      Line 2;
      …
  }
gcc ­pg
Data recorded: function and its caller
02/09/2016 17
Dynamic Function Tracer
  
  void Func ( … )
  {
      nop;
      Line 1;
      Line 2;
      …
  }
  
  void Func ( … )
  {
      mcount (pc, ra);
      Line 1;
      Line 2;
      …
  }
Enabled
Disabled
02/09/2016 18
Tracing Data Output
●
trace_printk()
●
/sys/kernel/debug/tracing/
– tracefs (debugfs in the beginning)
“Writing into the ring buffer with trace_printk() only takes around a 
tenth of a microsecond or so” ~ [1]
02/09/2016 19
Example: Function Tracer
02/09/2016 20
Example: Function Graph Tracer
02/09/2016 21
Tracepoint
02/09/2016 22
Tracepoint
●
Linux­2.6.32
●
Define and insert hook in static point like 
printk()
02/09/2016 23
Tracepoint – Declare Event
   #include <linux/tracepoint.h>
  
    TRACE_EVENT(mm_page_allocation,
TP_PROTO(unsigned long pfn, unsigned long free),
TP_ARGS(pfn, free),
TP_STRUCT__entry(
__field(unsigned long, pfn)
__field(unsigned long, free)
),
TP_fast_assign(
__entry­>pfn = pfn;
__entry­>free = free;
),
TP_printk("pfn=%lx zone_free=%ld", __entry­>pfn, __entry­>free)
);
02/09/2016 24
Tracepoint – Probe Event
       . . .
        trace_mm_page_allocation(page_to_pfn(page),
     zone_page_state(zone, NR_FREE_PAGES));
        . . .
Data recorded: custom defined data
02/09/2016 25
Example: Tracepoint
02/09/2016 26
trace­cmd
  # trace­cmd record ­e 'sched_wakeup*' ­e sched_switch your­application
  
  # kernelshark
02/09/2016 27
Kernelshark
https://static.lwn.net/images/2011/ks-fail1-open.png
02/09/2016 28
hist triggers
●
Introduced in Linux­4.7
●
Create custom, efficient, in­kernel histograms
# echo 'hist:key=common_pid.execname:values=ret:sort=ret if ret >= 0' 
    > /sys/kernel/tracing/events/syscalls/sys_exit_read/trigger
02/09/2016 29
Example hist triggers Logs
# cat /sys/kernel/tracing/events/syscalls/sys_exit_read/hist
[...]
{ common_pid: bash [ 16608] } hitcount: 4 ret: 11722
{ common_pid: bash [ 16616] } hitcount: 4 ret: 12386
{ common_pid: bash [ 16617] } hitcount: 4 ret: 12469
{ common_pid: irqbalance [ 1189] } hitcount: 36 ret: 21702
{ common_pid: snmpd [ 1617] } hitcount: 75 ret: 22078
{ common_pid: sshd [ 32745] } hitcount: 329 ret: 165710
[...]
http://www.brendangregg.com/blog/2016-06-08/linux-hist-triggers.html
02/09/2016 30
Kprobe Family
02/09/2016 31
Kprobe
●
Linux­2.6.9
●
Write probe hooks in kernel module
kernel
user
register_kprobe()
Insert
kprobe module
pre()
post()
addr
02/09/2016 32
Kprobe
INST BREAK
register_kprobe()
address
sym + offset
02/09/2016 33
Kprobe
BREAKBREAK INST
pre_handler()
post_handler()
exception
address
save regs
restore regs
02/09/2016 34
Kprobe
BREAKBREAK INST
pre_handler(pt_regs)
post_handler(pt_regs)
exception
address
save regs
restore regs
Data recorded: CPU register values
02/09/2016 35
Kprobe Variants
Kernel
user
Kprobe
Kretprobe
Jprobe
Uprobe
02/09/2016 36
Uprobe
 echo 'p:myapp /bin/bash:0x4245c0' > /sys/kernel/tracing/uprobe_events
●
Linux­3.5
●
userspace breakpoints in kernel
02/09/2016 37
jprobe
data: probed function
arguments
02/09/2016 38
jprobe
http://pds19.egloos.com/pds/201008/02/35/c0098335_4c55a764e1689.png
02/09/2016 39
kretprobe
02/09/2016 40
kretprobe
http://cfile26.uf.tistory.com/image/1311D5455136D6AF3B7251
02/09/2016 41
Kprobe Overhead [7]
cycles per iteration
                AMD Athlon 1.7GH         Pentium III 860MHz
kprobe     0.99 us                            0.95 us
jprobe      0.82 us                            1.61 us
02/09/2016 42
Kprobe­based Event Tracing
# echo 'r:myretprobe do_sys_open $retval' >> /sys/kernel/tracing/kprobe_events
# echo 1 > /sys/kernel/tracing/events/kprobes/myretprobe/enable
# cat /sys/kernel/tracing/trace
# tracer: nop
#
#           TASK­PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
              sh­746   [000] d...   40.96: myretprobe: (SyS_open+0x2c/0x30 <­ do_sys_open) arg1=0x3
              sh­746   [000] d...   42.19: myretprobe: (SyS_open+0x2c/0x30 <­ do_sys_open) arg1=0x3
…..
02/09/2016 43
Utilities for Kprobe
●
tracefs files
– perf probe
●
systemtap
– debuted in 2005 in Red Hat Enterprise Linux 4
– Probe by DSL script based on kprobe
02/09/2016 44
Userspace Scripts: systemtap
kernel
user
kprobe, ...
foo.stp systemtap
debuginfo
foo.ko
relayfs
output
kprobe
tracepoint
syscall
...
02/09/2016 45
perf + Tracing
02/09/2016 46
perf
●
Linux­2.6.31
●
Statistics data
# perf stat my­app args
●
Sampling record
# perf record my­app args
●
Other sub cmds of perf tool 
perf­tool
perf framework
kernel
user
perf_event
PMU
CPU
Performance Monitors
02/09/2016 47
perf Events
perf­tool
perf framework
kernel
user
HW event
perf_event syscall
SW event
PMU
trace
event
trace
point
dynamic
event
kprobe
uprobe
CPU
Counters
02/09/2016 48
perf Events
# perf record ­e 'syscalls:sys_enter_*' ­a ­g ­­ sleep 60
02/09/2016 49
Flame Graph
http://deliveryimages.acm.org/10.1145/2930000/2927301/gregg6.png
02/09/2016 50
Flame Graph
http://www.brendangregg.com/FlameGraphs/cpu-bash-flamegraph.png
02/09/2016 51
Flame Graph Tools
for perf Data
# perf record ­F 99 ­a ­g ­­ sleep 60
# perf script > out.perf
# /path/to/flamegraph/stackcollapse­perf.pl out.perf > out.folded
# /path/to/flamegraph/flamegraph.pl out.kern_folded > kernel.svg
02/09/2016 52
LTTng
02/09/2016 53
LTTng
http://lttng.org/images/docs27/plumbing-27.png
02/09/2016 54
Eclipse LTTng Support
https://wiki.eclipse.org/images/e/ec/LTTngPerspective.png
02/09/2016 55
Disadvantage of
Previous Kernel Tracing
●
Components are isolated
●
Complex filters and scripts can be expensive
●
Need more comprehensive tools. Some solutions
– systemtap
– LTTng
– Dtrace
– ktap
02/09/2016 56
Tracing + eBPF
02/09/2016 57
network
stack
sniffer
kernel
user
net if
Applications
tcpdump ­nnnX  port 3000
port 3000
VM filter
(BPF) http://www.ic
onsdb.com/ico
ns/download/g
ray/empty-fil
ter-512.png
BPF – In­kernel Packet Filter
02/09/2016 58
eBPF
●
(Linux­3.15) Re­designed by Alexei Starovoitov
– Write programs in restricted C
●
compile to BPF with LLVM
– Just­in­time map to modern 64­bit CPU with 
minimal performance overhead
02/09/2016 59
Areas Use eBPF
more than a filter today
●
Seccomp filters of syscalls (chrome sandboxing)
●
Packet classifier for traffic contol
●
Actions for traffic control
●
Xtables packet filtering
●
Tracing
– (Linux­4.1) attach to kprobe
– (Linux­4.7) attach to tracepoint 
02/09/2016 60
eBPF  Architecture
BPF
binary
MAP
helper
subsys
Other
subsys
BPF_PROG_RUN
BPF
binary
kernel
user
BPF Interpreter/JIT
bpf syscall
verifier
    Tracer
02/09/2016 61
Write Customized Tracing Script
Is Possible Now!
02/09/2016 62
eBPF Utilitiy – IO Visor BCC
Frontend
python, lua
llvm library
BPF bytecode
libbcc.so
BPF C text/code
BCC module
BCC
bpf syscallperf event / trace_fs
User
program
02/09/2016 63
Current Tracing Scripts
in BCC
https://raw.githubusercontent.com/iovisor/bcc/master/images/bcc_tracing_tools_2016.png
Tools for BPF­based Linux IO analysis, networking, monitoring, and 
more
02/09/2016 64
perf + eBPF [8]
●
Linux­4.8­rc (?) by Wang Nan in Huawei
●
On­goning staff and future plans
– Load BPF
– Tracing rare outliner
– Integrate LLVM and other frontend
02/09/2016 65
Summary
02/09/2016 66
Linux Kernel Tracing
kprobe
uprobe
function
tracer
tracepoint
ftrace, hist trigger, perf, eBPF
systemtap
perf­tool
BCC
LTTng
Flamegraph
trace­cmd
Kernelshark
eBPF
library
02/09/2016 67
Q & A
9/2/16 68/70
Reference
[1] Steven Rostedt (Dec. 2009), “Debugging the kernel using Ftrace ­ part 1”, LWN
[2] Steven Rostedt (Feb. 2011), “Using KernelShark to analyze the real­time scheduler”, LWN
[3] 章亦春 , “ 动态追踪技术漫谈”
[4] Brendan Gregg, (Feb. 2016), "Linux  4.x  Performance   Using  BPF  Superpowers", 
presented at Performance@ scale 2016
[5] Gary Lin (Mar. 2016), “eBPF: Trace from Kernel to Userspace ”, presented at OpenSUSE 
Technology Sharing Day 2016
[6] Kernel documentation, “Using the Linux Kernel Tracepoints”
[7] William Cohen (Feb. 2005), “cost of kprobe and jprobe operations”, systemtap mailing list
[8] Wang Nan (Aug. 2016), “Performance Monitoring and AnalysisUsing perf+BPF” , 
LinuxCon North America 2016
9/2/16 69/70
● COSCUP is the Conference for Open Source Coders, Users and Promoters in Taiwan.
● iovisor is a project of Linux Foundation
● ARM are trademarks or registered trademarks of ARM Holdings.
● Linux Foundation is a registered trademark of The Linux Foundation.
● Linux is a registered trademark of Linus Torvalds.
● Other company, product, and service names may be trademarks or service marks
of others.
● The license of each graph belongs to each website listed individually.
● The others of my work in the slide is licensed under a CC-BY-SA License.
● License text: http://creativecommons.org/licenses/by-sa/4.0/legalcode
Rights to Copy
copyright © 2016 Viller Hsiao
9/2/16 Viller Hsiao
THE END

Más contenido relacionado

La actualidad más candente

DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPDockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPThomas Graf
 
LISA2019 Linux Systems Performance
LISA2019 Linux Systems PerformanceLISA2019 Linux Systems Performance
LISA2019 Linux Systems PerformanceBrendan Gregg
 
eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KernelThomas Graf
 
BPF - in-kernel virtual machine
BPF - in-kernel virtual machineBPF - in-kernel virtual machine
BPF - in-kernel virtual machineAlexei Starovoitov
 
Staring into the eBPF Abyss
Staring into the eBPF AbyssStaring into the eBPF Abyss
Staring into the eBPF AbyssSasha Goldshtein
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelDivye Kapoor
 
Security Monitoring with eBPF
Security Monitoring with eBPFSecurity Monitoring with eBPF
Security Monitoring with eBPFAlex Maestretti
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughThomas Graf
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsBrendan Gregg
 
Fun with Network Interfaces
Fun with Network InterfacesFun with Network Interfaces
Fun with Network InterfacesKernel TLV
 
re:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflixre:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at NetflixBrendan Gregg
 
Kernel Recipes 2017 - EBPF and XDP - Eric Leblond
Kernel Recipes 2017 - EBPF and XDP - Eric LeblondKernel Recipes 2017 - EBPF and XDP - Eric Leblond
Kernel Recipes 2017 - EBPF and XDP - Eric LeblondAnne Nicolas
 
Kernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at NetflixKernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at NetflixBrendan Gregg
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking ExplainedThomas Graf
 
High-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uringHigh-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uringScyllaDB
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDPlcplcp1
 
Performance Tuning EC2 Instances
Performance Tuning EC2 InstancesPerformance Tuning EC2 Instances
Performance Tuning EC2 InstancesBrendan Gregg
 

La actualidad más candente (20)

DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPDockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
 
LISA2019 Linux Systems Performance
LISA2019 Linux Systems PerformanceLISA2019 Linux Systems Performance
LISA2019 Linux Systems Performance
 
eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux Kernel
 
BPF - in-kernel virtual machine
BPF - in-kernel virtual machineBPF - in-kernel virtual machine
BPF - in-kernel virtual machine
 
Staring into the eBPF Abyss
Staring into the eBPF AbyssStaring into the eBPF Abyss
Staring into the eBPF Abyss
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux Kernel
 
Security Monitoring with eBPF
Security Monitoring with eBPFSecurity Monitoring with eBPF
Security Monitoring with eBPF
 
eBPF Basics
eBPF BasicseBPF Basics
eBPF Basics
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
 
Fun with Network Interfaces
Fun with Network InterfacesFun with Network Interfaces
Fun with Network Interfaces
 
re:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflixre:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflix
 
Kernel Recipes 2017 - EBPF and XDP - Eric Leblond
Kernel Recipes 2017 - EBPF and XDP - Eric LeblondKernel Recipes 2017 - EBPF and XDP - Eric Leblond
Kernel Recipes 2017 - EBPF and XDP - Eric Leblond
 
Kernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at NetflixKernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at Netflix
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
Dpdk performance
Dpdk performanceDpdk performance
Dpdk performance
 
High-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uringHigh-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uring
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDP
 
Performance Tuning EC2 Instances
Performance Tuning EC2 InstancesPerformance Tuning EC2 Instances
Performance Tuning EC2 Instances
 
Kernel crashdump
Kernel crashdumpKernel crashdump
Kernel crashdump
 

Más de Viller Hsiao

Bpf performance tools chapter 4 bcc
Bpf performance tools chapter 4   bccBpf performance tools chapter 4   bcc
Bpf performance tools chapter 4 bccViller Hsiao
 
Prerequisite knowledge for shared memory concurrency
Prerequisite knowledge for shared memory concurrencyPrerequisite knowledge for shared memory concurrency
Prerequisite knowledge for shared memory concurrencyViller Hsiao
 
twlkh-linux-vsyscall-and-vdso
twlkh-linux-vsyscall-and-vdsotwlkh-linux-vsyscall-and-vdso
twlkh-linux-vsyscall-and-vdsoViller Hsiao
 
mbed-os 3.0 modules dependency graph
mbed-os 3.0 modules dependency graphmbed-os 3.0 modules dependency graph
mbed-os 3.0 modules dependency graphViller Hsiao
 
Introduction to ARM mbed-OS 3.0 uvisor
Introduction to ARM mbed-OS 3.0 uvisorIntroduction to ARM mbed-OS 3.0 uvisor
Introduction to ARM mbed-OS 3.0 uvisorViller Hsiao
 
My first-crawler-in-python
My first-crawler-in-pythonMy first-crawler-in-python
My first-crawler-in-pythonViller Hsiao
 
Yet another introduction to Linux RCU
Yet another introduction to Linux RCUYet another introduction to Linux RCU
Yet another introduction to Linux RCUViller Hsiao
 
Trace kernel code tips
Trace kernel code tipsTrace kernel code tips
Trace kernel code tipsViller Hsiao
 
f9-microkernel-ktimer
f9-microkernel-ktimerf9-microkernel-ktimer
f9-microkernel-ktimerViller Hsiao
 

Más de Viller Hsiao (9)

Bpf performance tools chapter 4 bcc
Bpf performance tools chapter 4   bccBpf performance tools chapter 4   bcc
Bpf performance tools chapter 4 bcc
 
Prerequisite knowledge for shared memory concurrency
Prerequisite knowledge for shared memory concurrencyPrerequisite knowledge for shared memory concurrency
Prerequisite knowledge for shared memory concurrency
 
twlkh-linux-vsyscall-and-vdso
twlkh-linux-vsyscall-and-vdsotwlkh-linux-vsyscall-and-vdso
twlkh-linux-vsyscall-and-vdso
 
mbed-os 3.0 modules dependency graph
mbed-os 3.0 modules dependency graphmbed-os 3.0 modules dependency graph
mbed-os 3.0 modules dependency graph
 
Introduction to ARM mbed-OS 3.0 uvisor
Introduction to ARM mbed-OS 3.0 uvisorIntroduction to ARM mbed-OS 3.0 uvisor
Introduction to ARM mbed-OS 3.0 uvisor
 
My first-crawler-in-python
My first-crawler-in-pythonMy first-crawler-in-python
My first-crawler-in-python
 
Yet another introduction to Linux RCU
Yet another introduction to Linux RCUYet another introduction to Linux RCU
Yet another introduction to Linux RCU
 
Trace kernel code tips
Trace kernel code tipsTrace kernel code tips
Trace kernel code tips
 
f9-microkernel-ktimer
f9-microkernel-ktimerf9-microkernel-ktimer
f9-microkernel-ktimer
 

Último

Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptJasonTagapanGulla
 
Steel Structures - Building technology.pptx
Steel Structures - Building technology.pptxSteel Structures - Building technology.pptx
Steel Structures - Building technology.pptxNikhil Raut
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsSachinPawar510423
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
The SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsThe SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsDILIPKUMARMONDAL6
 

Último (20)

Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.ppt
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Steel Structures - Building technology.pptx
Steel Structures - Building technology.pptxSteel Structures - Building technology.pptx
Steel Structures - Building technology.pptx
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
The SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsThe SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teams
 

Linux kernel tracing