Android Upstreaming: Netfilter, Status & Discussion. John Stultz & Mathieu Poirier, LCA14-503, Macau

Size: px
Start display at page:

Download "Android Upstreaming: Netfilter, Status & Discussion. John Stultz & Mathieu Poirier, LCA14-503, Macau"

Transcription

1 Android Upstreaming: Netfilter, Status & Discussion John Stultz & Mathieu Poirier, LCA14-503, Macau

2 Overview Mathieu will cover his recent Netfilter work General status on Android Upstreaming Open discussion

3 Android Netfilter Changes Mathieu Poirier

4 Netfilter requirements for Android Capture traffic per application and service Distinguish between data streams (downloads, video, chat, ) Support the notion of quotas. Allow 3rd party applications to track and collect their own data.

5 Current solution: 3 netfilter modules: xt_qtaguid (quota, tag, uid) xt_quota2 xt_idletimer

6 xt_qtaguid Quota, socket tagging, UID tracking Tracks all ingress/egress packets Tracks all interface statistics Let applications tag and delegate their own sockets Count SKB against looked-up TAG+UID Replaces drivers/misc/uid_stats.c

7 xt_quota2 and xt_idletimer xt_quota2 Imported from xtables-addons Add quotas to iptable rules Send uevent on quota hit xt_idletimer Help ConnectivityService deal with quiet interfaces Keeps track of interfaces coming online. (I need to read more on this)

8 Why it can t go upstream? xt_qtaguid does a lot of things that should be better handled in userspace. xt_quota2 duplicates functionality already in place in the nfaccounting framework. xt_idletimer may no longer be needed - need to review when the above two are dealt with.

9 Suggested proposal Use NFQUEUE to replace xt_qtaguid (JPA at Google) Initial concerns about efficiency but Eric Dumazet assured it wouldn t be a problem at Linux Plumbers in New Orleans last year. Extend xt_nfacct with quota capabilities to replace xt_quota2 (Linaro)

10 Work done at Linaro Enhance xt_nfacct.c with quota capabilities Enhance iptables with the capability to define packet/byte quotas for -m nfacct Port userspace tool nfacct from libnfnl to libnl2.0. Add a broadcast group to inform userspace of quota attainment.

11 Where is the code? xt_nfacct enhancements: iptables additions: Port of nfacct application to libnl2.0: (linaro)

12 Current Status (Linaro) Port of nfacct to libnl2.0 is done and pushed to AOSP. Iptables changes are considered done - may need minor tweaks based on pending upstream merge of xt_nfacct changes. xt_nfacct is currently considered for review by the upstream community. Found a problem with nfnetlink accounting - fixing the issue may introduce a delay. Hopefully accepted in 3.15, 3.16 a more likely target. JP s investigation has been stalled by internal project - we may have to pick up the work but reluctant based on heavy coupling with Android userspace.

13 Current Status (Google) JP s investigation on nfqueue has been stalled by internal projects (android64). The new full libnl2.0 doesn t work with wpa_supplicant something they need to look into. Delays in getting xt_nfacct changes accepted doesn t matter because of this issue. Integration of nfacct with BandwithController not started. Getting libnl2.0 working is top priority because is solves other issues with the current libnl.

14 Android Upstreaming Status John Stultz

15 Recent accomplishments 3.12: key reset upstreaming completed powersupply wakeup_source enablement merged binder type cleanups for 64bits 3.13: MMC power management improvements merged RTC wakeup_source enablement merged 3.14: ION cleaned up and merged in staging AOSP: binder 64bit abi rework

16 Community accomplishments 3.14: Functionfs support for configfs ongoing: dma-buf sync And of course more...

17 Linaro.Android branch maintenance Maintain the AOSP tree forward ported against Linus HEAD + a few extra fixes. linaro.android-3.12-merge linaro.android-3.13-merge linaro.android-3.14-merge Maintain linaro-specific fixes for LSK linaro.android-3.10-lsk

18 Current delta (3.14-rc1) 3.14-rc1 vs linaro.android-3.14-merge: b/net/netfilter/xt_qtaguid.c b/drivers/usb/gadget/android.c b/arch/arm/common/fiq_debugger.c b/drivers/cpufreq/cpufreq_interactive.c b/drivers/usb/gadget/f_mtp.c b/drivers/usb/gadget/f_accessory.c b/drivers/video/adf/adf.c b/drivers/video/adf/adf_fops.c b/drivers/staging/android/binder.c b/drivers/usb/gadget/f_audio_source.c b/drivers/video/adf/adf_client.c b/arch/arm/kernel/etm.c b/drivers/video/adf/adf_fbdev.c b/net/netfilter/xt_qtaguid_print.c files changed, insertions(+), deletions(-) 3.10-stable vs android-3.10: 354 files changed, insertions(+), 1422 deletions(-) 3.4-stable vs android-3.4: 1265 files changed, insertions(+), 5934 deletions(-)

19 Current delta (3.14-rc1) 3.14-rc1 vs linaro.android-3.14-merge: b/net/netfilter/xt_qtaguid.c b/drivers/usb/gadget/android.c b/arch/arm/common/fiq_debugger.c b/drivers/cpufreq/cpufreq_interactive.c b/drivers/usb/gadget/f_mtp.c b/drivers/usb/gadget/f_accessory.c b/drivers/video/adf/adf.c b/drivers/video/adf/adf_fops.c b/drivers/staging/android/binder.c b/drivers/usb/gadget/f_audio_source.c b/drivers/video/adf/adf_client.c b/arch/arm/kernel/etm.c b/drivers/video/adf/adf_fbdev.c b/net/netfilter/xt_qtaguid_print.c files changed, insertions(+), deletions(-) 3.10-stable vs android-3.10: 354 files changed, insertions(+), 1422 deletions(-) 3.4-stable vs android-3.4: 1265 files changed, insertions(+), 5934 deletions(-)

20 Next areas of focus ETM/ETB Android Gadget -> ConfigFS Gadget FIQ_Debugger ADF

21 Continuing work Netfilter ION / dmabuf allocation helpers Volatile Ranges Get ashmem out of staging Influence KDBUS development Unlikely to be a binder replacement as hoped Try to find areas where code can be shared Fair amount of memfd/ashmem overlap Continue to help with the Juice project Aiding with helping Android userland take advantage of upstreamed solutions mempressure notifiers sysrq-keyreset etc

22 Thank yous! Takahiro Akashi Serban Constantinescu Ulf Hansson Zoran Markovic Mathieu Poirier Jakub Pavelek

23 Open Discussion Netfilter related questions? What are specific kernel related pain-points for Android device development? Is anyone looking at ADF for their devices yet? Any adjustments in focus we need? Extra resources?

24 More about Linaro Connect: More about Linaro: More about Linaro engineering: Linaro members:

The HiKey AOSP collaborative experience

The HiKey AOSP collaborative experience The HiKey AOSP collaborative experience Presented by John Stultz (With help from Amit Pundir, Guodong Xu, and Vishal Bhoj) Date BKK16-310 March 9, 2016 Event Linaro Connect BKK16 Outline HiKey in AOSP

More information

HiKey in AOSP - Update. John Stultz

HiKey in AOSP - Update. John Stultz HiKey in AOSP - Update John Stultz Continuing Collaboration Working closely with folks at Google. Submitting changes directly to AOSP Gerrit. New Features Added Since Announcement

More information

Mainline on form-factor devices / Improving AOSP

Mainline on form-factor devices / Improving AOSP Mainline on form-factor devices / Improving AOSP Presented by John Stultz Date Thursday 24 September 2015 Event SFO15 John Stultz Topics from Linux Plumbers Barriers to running

More information

HKG18-211: Android Common Kernel and Out of Tree Patchset. Amit Pundir

HKG18-211: Android Common Kernel and Out of Tree Patchset. Amit Pundir HKG18-211: Android Common Kernel and Out of Tree Patchset Amit Pundir Session Layout Android common kernel linux-v4.14.y vs android-4.14 Git diff stats - v4.14..android-4.14 Quick intro of out of tree

More information

LCA14-417: mmap, allocators & sharing buffers - userland experience. Thu 6 March, 4:10pm, S.Semwal, B.Gaignard

LCA14-417: mmap, allocators & sharing buffers - userland experience. Thu 6 March, 4:10pm, S.Semwal, B.Gaignard LCA14-417: mmap, allocators & sharing buffers - userland experience Thu 6 March, 4:10pm, S.Semwal, B.Gaignard Agenda Discussion, not presentation :) Current state Your experiences? Idea of Central dmabuf

More information

Android Common Kernel and Out of Tree Patchset. Amit Pundir ELC NA, March 2018

Android Common Kernel and Out of Tree Patchset. Amit Pundir ELC NA, March 2018 Android Common Kernel and Out of Tree Patchset Amit Pundir ELC NA, March 2018 Session Layout Android common kernel Rationale and Brief Introduction Patchset evolution linux-v4.14.y vs android-4.14 Git

More information

LAS16-205: The State of AOSP Common android-4.4 Kernel. Am it Pund ir

LAS16-205: The State of AOSP Common android-4.4 Kernel. Am it Pund ir LAS16-205: The State of AOSP Common android-4.4 Kernel Am it Pund ir Session Layout AOSP Common Kernel Ra tiona le / Brie f introd uc tion a nd Evolution Linux v4.4 vs android-4.4 Git diff stats - v4.4..a

More information

Sync Points in the Intel Gfx Driver. Jesse Barnes Intel Open Source Technology Center

Sync Points in the Intel Gfx Driver. Jesse Barnes Intel Open Source Technology Center Sync Points in the Intel Gfx Driver Jesse Barnes Intel Open Source Technology Center 1 Agenda History and other implementations Other I/O layers - block device ordering NV_fence, ARB_sync EGL_native_fence_sync,

More information

AOSP Devboard Update & Recent/Future Pain Points. John Stultz

AOSP Devboard Update & Recent/Future Pain Points. John Stultz AOSP Devboard Update & Recent/Future Pain Points John Stultz Now there are two: https://source.android.com/source/devices HiKey HiKey960 Hardware overview HiKey HiSilicon Kirin

More information

XDP: The Future of Networks. David S. Miller, Red Hat Inc., Seoul 2017

XDP: The Future of Networks. David S. Miller, Red Hat Inc., Seoul 2017 XDP: The Future of Networks David S. Miller, Red Hat Inc., Seoul 2017 Overview History of ebpf and XDP Why is it important. Fake News about ebpf and XDP Ongoing improvements and future developments Workflow

More information

What is Linaro working on? Core Development Group

What is Linaro working on? Core Development Group What is Linaro working on? Core Development Group Presented by Core Development developers Date Monday Feb 9th Event Linaro Connect HKG15 Core Engineering Linaro Session 1 & 2: table of contents 1. Power

More information

Letting Go. John Stultz August 30th

Letting Go. John Stultz August 30th Letting Go (A sensitive guide to dealing with application caches under the pressures of low memory) John Stultz August 30th 2012 http://www.linaro.org Overview Caching How mm/page management works Some

More information

MANAGING THE CAR CLOUD CONNECTION.

MANAGING THE CAR CLOUD CONNECTION. Daniel Wagner MANAGING THE CAR CLOUD CONNECTION. CONNMAN, SYSTEMD, AND THE INTERNET. BMW Car IT GmbH IVI CONNECTIVITY. GENERAL OVERVIEW. Apps in the car Software and Hardware Setups ConnMan Session API

More information

Efficient Memory Management on Mobile Devices

Efficient Memory Management on Mobile Devices Efficient Memory Management on Mobile Devices Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com September 17, 2013 Issues on mobile systems: limited resources no physical swap need for custom Out-Of-Memory

More information

Suricata IDPS and Nftables: The Mixed Mode

Suricata IDPS and Nftables: The Mixed Mode Suricata IDPS and Nftables: The Mixed Mode Giuseppe Longo Stamus Networks Jul 5, 2016 Giuseppe Longo (Stamus Networks) Suricata IDPS and Nftables: The Mixed Mode Jul 5, 2016 1 / 60 1 Netfilter Nftables

More information

The Case for Security Enhanced (SE) Android. Stephen Smalley Trusted Systems Research National Security Agency

The Case for Security Enhanced (SE) Android. Stephen Smalley Trusted Systems Research National Security Agency The Case for Security Enhanced (SE) Android Stephen Smalley Trusted Systems Research National Security Agency Background / Motivation Increasing desire to use mobile devices throughout the US government.

More information

netfilters connection tracking subsystem

netfilters connection tracking subsystem netfilters connection tracking subsystem Florian Westphal 4096R/AD5FF600 fw@strlen.de 80A9 20C5 B203 E069 F586 AE9F 7091 A8D9 AD5F F600 Red Hat netdev 2.1, Montreal, April 2017 connection tracking flow

More information

Process Time. Steven M. Bellovin January 25,

Process Time. Steven M. Bellovin January 25, Multiprogramming Computers don t really run multiple programs simultaneously; it just appears that way Each process runs to completion, but intermixed with other processes Process 1 6 ticks Process 2 Process

More information

Keeping up with LTS Linux Kernel Functional Testing on Devices

Keeping up with LTS Linux Kernel Functional Testing on Devices Keeping up with LTS Linux Kernel Functional Testing on Devices Tom Gall Director, Linaro Mobile Group Who is Linaro? Linaro is leading software collaboration in the ARM ecosystem Instead of duplicating

More information

Linux Kernel Subsystem Maintenance. Linus Walleij, Lund Linux Conference

Linux Kernel Subsystem Maintenance. Linus Walleij, Lund Linux Conference Linux Kernel Subsystem Maintenance Linus Walleij, Lund Linux Conference A Day in the Life of a Subsystem Maintainer - Why are we doing it? - How did we come to be subsystem maintainers? - What do we actually

More information

The Embedded Linux Problem

The Embedded Linux Problem The Embedded Linux Problem Mark.gross@intel.com Android-Linux kernel Architect February 2013 outline Little about me Intro History Environment Key questions Techniques Moving modules out of tree Summary

More information

Linux: Reducing the cost of upstream development to encourage collaboration

Linux: Reducing the cost of upstream development to encourage collaboration Linux: Reducing the cost of upstream development to encourage collaboration Martin Peres Intel Open Source Technology Center Finland November 20, 2017 Summary 1 Introduction 2 Upstream issues 3 Forked

More information

OpenDataplane project

OpenDataplane project OpenDataplane project ENOG15 2018, Russia, Moscow, 4-5 June Maxim Uvarov Senior Software engineer, Linaro Networking Group maxim.uvarov@linaro.org ENOG15, Russia, Moscow Data plane refers to all the

More information

Suricata IDPS and Linux kernel

Suricata IDPS and Linux kernel Suricata IDPS and Linux kernel É. Leblond, G. Longo Stamus Networks February 10, 2016 É. Leblond, G. Longo (Stamus Networks) Suricata IDPS and Linux kernel February 10, 2016 1 / 28 1 Suricata Introduction

More information

UEFI Porting Update for ARM Platforms

UEFI Porting Update for ARM Platforms UEFI Porting Update for ARM Platforms What did we do since July? Leif Lindholm UEFI tech lead Linaro Enterprise Group presented by UEFI Plugfest May 2014 Agenda Introduction Linux Support EDK2 Development

More information

IPtables and Netfilter

IPtables and Netfilter in tables rely on IPtables and Netfilter Comp Sci 3600 Security Outline in tables rely on 1 2 in tables rely on 3 Linux firewall: IPtables in tables rely on Iptables is the userspace module, the bit that

More information

Using GitHub to Share with SparkFun a

Using GitHub to Share with SparkFun a Using GitHub to Share with SparkFun a learn.sparkfun.com tutorial Available online at: http://sfe.io/t52 Contents Introduction Gitting Started Forking a Repository Committing, Pushing and Pulling Syncing

More information

The Path to DPDK Speeds for AF XDP

The Path to DPDK Speeds for AF XDP The Path to DPDK Speeds for AF XDP Magnus Karlsson, magnus.karlsson@intel.com Björn Töpel, bjorn.topel@intel.com Linux Plumbers Conference, Vancouver, 2018 Legal Disclaimer Intel technologies may require

More information

Building a reference IoT product with Zephyr. Ricardo Salveti Michael Scott Tyler Baker

Building a reference IoT product with Zephyr. Ricardo Salveti Michael Scott Tyler Baker Building a reference IoT product with Zephyr Ricardo Salveti Michael Scott Tyler Baker Introduction Linaro Technologies A small team within Linaro focusing on open source end-to-end solutions Who is here?

More information

LCA14-104: GTS- A solution to support ARM s big.little technology. Mon-3-Mar, 11:15am, Mathieu Poirier

LCA14-104: GTS- A solution to support ARM s big.little technology. Mon-3-Mar, 11:15am, Mathieu Poirier LCA14-104: GTS- A solution to support ARM s big.little technology Mon-3-Mar, 11:15am, Mathieu Poirier Today s Presentation: Things to know about Global Task Scheduling (GTS). MP patchset description and

More information

What is an L3 Master Device?

What is an L3 Master Device? What is an L3 Master Device? David Ahern Cumulus Networks Mountain View, CA, USA dsa@cumulusnetworks.com Abstract The L3 Master Device (l3mdev) concept was introduced to the Linux networking stack in v4.4.

More information

Bringing the Power of ebpf to Open vswitch. Linux Plumber 2018 William Tu, Joe Stringer, Yifeng Sun, Yi-Hung Wei VMware Inc. and Cilium.

Bringing the Power of ebpf to Open vswitch. Linux Plumber 2018 William Tu, Joe Stringer, Yifeng Sun, Yi-Hung Wei VMware Inc. and Cilium. Bringing the Power of ebpf to Open vswitch Linux Plumber 2018 William Tu, Joe Stringer, Yifeng Sun, Yi-Hung Wei VMware Inc. and Cilium.io 1 Outline Introduction and Motivation OVS-eBPF Project OVS-AF_XDP

More information

KVM/ARM. Marc Zyngier LPC 12

KVM/ARM. Marc Zyngier LPC 12 KVM/ARM Marc Zyngier LPC 12 For example: if a processor is in Supervisor mode and Secure state, it is in Secure Supervisor mode ARM Architecture if a processor is Virtualization

More information

Kernel driver maintenance : Upstream vs. Industry

Kernel driver maintenance : Upstream vs. Industry 1 Kernel driver maintenance : Upstream vs. Industry Brice Goglin RMLL Talence - 2010/07/08 Industry contributing to the Linux kernel? 2 Linux developed by people on their free time? 750,000 lines changed

More information

Case Study: Building a High Quality Video Pipeline Using GStreamer and V4Linux on an i.mx6

Case Study: Building a High Quality Video Pipeline Using GStreamer and V4Linux on an i.mx6 Case Study: Building a High Quality Video Pipeline Using GStreamer and V4Linux on an i.mx6 Sean Hudson Embedded Linux Architect & Member of Technical Staff Android is a trademark of Google Inc. Use of

More information

Shared Logging with the Linux Kernel!!Part Deux!!

Shared Logging with the Linux Kernel!!Part Deux!! Shared Logging with the Linux Kernel!!Part Deux!! Sean Hudson Embedded Linux Architect mentor.com/embedded Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.

More information

Services are software components designed specifically to perform long background operations.

Services are software components designed specifically to perform long background operations. SERVICES Service Services are software components designed specifically to perform long background operations. such as downloading a file over an internet connection or streaming music to the user, but

More information

Overview. 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub

Overview. 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub Git 101: Overview 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub Github icon 1 Install git and a create GitHub

More information

Qdisc layer. Fast enough for 10G wirespeed? Jesper Dangaard Brouer Hannes Frederic Sowa Daniel Borkmann Florian Westphal

Qdisc layer. Fast enough for 10G wirespeed? Jesper Dangaard Brouer Hannes Frederic Sowa Daniel Borkmann Florian Westphal Qdisc layer Fast enough for 10G wirespeed? Jesper Dangaard Brouer Hannes Frederic Sowa Daniel Borkmann Florian Westphal Network-Services-Team, Red Hat inc. 1/17 Netfilter Workshop, July 2014 Overview Analysing

More information

This is Google's cache of http://www.rigacci.org/wiki/lib/exe/fetch.php/doc/appunti/linux/sa/iptables/conntrack.html. It is a snapshot of the page as it appeared on 24 Oct 2012 08:53:12 GMT. The current

More information

Life of a Packet. KubeCon Europe Michael Rubin TL/TLM in GKE/Kubernetes github.com/matchstick. logo. Google Cloud Platform

Life of a Packet. KubeCon Europe Michael Rubin TL/TLM in GKE/Kubernetes github.com/matchstick. logo. Google Cloud Platform logo Life of a Packet KubeCon Europe 2017 Michael Rubin TL/TLM in GKE/Kubernetes github.com/matchstick Google Cloud Platform Kubernetes is about clusters Because of that, networking

More information

Sony s Open Devices Project. Goals Achievements. What went right? What went wrong? Lessons learned

Sony s Open Devices Project. Goals Achievements. What went right? What went wrong? Lessons learned 1 Sony s Open Devices Project Goals Achievements What went right? What went wrong? Lessons learned 2 Ambitious project to support open software on Sony Mobile s phone platforms 2 main areas: Android Open

More information

LMG Lightning Talks LMG

LMG Lightning Talks LMG LMG Lightning Talks LMG linaro-android kernel topic branch updates Amit Pundir linaro-android kernel updates lsk-v3.18-android Not actively maintained by LMG. lsk-v4.4-android Weekly/Bi-weekly android-4.4

More information

What is Netfilter. Netfilter. Topics

What is Netfilter. Netfilter. Topics Netfilter By V.R.Sundar & Karthik Dantu What is Netfilter netfilter is a framework for packet mangling, outside the normal Berkeley socket interface. Using this framework various modules have been written

More information

Memory mapped netlink

Memory mapped netlink Patrick McHardy Netfilter Workshop 2011 Freiburg im Breisgau, Germany Current state of affairs Netlink uses regular socket I/O Messages are constructed into a socket buffer's data area,

More information

A 10 years journey in Linux firewalling Pass the Salt, summer 2018 Lille, France Pablo Neira Ayuso

A 10 years journey in Linux firewalling Pass the Salt, summer 2018 Lille, France Pablo Neira Ayuso A 10 years journey in Linux firewalling Pass the Salt, summer 2018 Lille, France Pablo Neira Ayuso What is Netfilter? Not just iptables Image from Wikipedia (J. Engelhardt, 2018)

More information

Some of the slides borrowed from the book Computer Security: A Hands on Approach by Wenliang Du. Firewalls. Chester Rebeiro IIT Madras

Some of the slides borrowed from the book Computer Security: A Hands on Approach by Wenliang Du. Firewalls. Chester Rebeiro IIT Madras Some of the slides borrowed from the book Computer Security: A Hands on Approach by Wenliang Du Firewalls Chester Rebeiro IIT Madras Firewall Block unauthorized traffic flowing from one network to another

More information

The failure of Operating Systems,

The failure of Operating Systems, The failure of Operating Systems, and how we can fix it. Glauber Costa Lead Software Engineer August 30th, 2012 Linuxcon Opening Notes I'll be doing Hypervisors vs Containers here. But: 2 2 Opening Notes

More information

Graphics Stack Update

Graphics Stack Update Graphics Stack Update Presented by Jammy Zhou Date March 9, 2016 Event BKK16 Agenda X11/Wayland/Android graphics overview Mali and Adreno driver status Linaro effort around graphics Discussion and Q&A

More information

CAIA Realtime VoIP Classification and Redirection Djuro Mirkovic.

CAIA Realtime VoIP Classification and Redirection Djuro Mirkovic. CAIA Realtime VoIP Classification and Redirection Djuro Mirkovic 7185863@student.swin.edu.au Centre for Advanced Internet Architectures (CAIA) Swinburne University of Technology Outline Multiple Access

More information

Kea Messages Manual. Kea Messages Manual

Kea Messages Manual. Kea Messages Manual Kea Messages Manual i Kea Messages Manual Kea Messages Manual ii Copyright 2011-2015 Internet Systems Consortium, Inc. Kea Messages Manual iii Contents 1 Introduction 1 2 Kea Log Messages 2 2.1 ALLOC Module....................................................

More information

Chapter 7: Naming & Addressing

Chapter 7: Naming & Addressing Chapter 7: Naming & Addressing Goals of this chapter This short chapter looks at non-standard options for denoting the senders/receivers of messages Traditional (fixed, wireless, ad hoc): Denote individual

More information

15: OS Scheduling and Buffering

15: OS Scheduling and Buffering 15: OS Scheduling and ing Mark Handley Typical Audio Pipeline (sender) Sending Host Audio Device Application A->D Device Kernel App Compress Encode for net RTP ed pending DMA to host (~10ms according to

More information

Linux Memory Analysis with Volatility. Andrew Case Digital Forensics Solutions

Linux Memory Analysis with Volatility. Andrew Case Digital Forensics Solutions Linux Memory Analysis with Volatility Andrew Case Digital Forensics Solutions Purpose of the Talk To highlight the Linux analysis capabilities integrated into the Volatility framework within the last year

More information

UTILIZING A BIG.LITTLE TM SOLUTION IN AUTOMOTIVE

UTILIZING A BIG.LITTLE TM SOLUTION IN AUTOMOTIVE UTILIZING A BIG.LITTLE TM SOLUTION IN AUTOMOTIVE JUN. 20, 2018 YOSHIYUKI ITO AUTOMOTIVE INFORMATION SOLUTION BUSINESS DIVISION RENESAS ELECTRONICS CORPORATION Today s Topics & Goal Requirement for big.little

More information

LCA14-107: ACPI upstreaming. Wed-5-Mar, 11:15am, Al Stone, G Gregory, Hanjun Guo

LCA14-107: ACPI upstreaming. Wed-5-Mar, 11:15am, Al Stone, G Gregory, Hanjun Guo LCA14-107: ACPI upstreaming Wed-5-Mar, 11:15am, Al Stone, G Gregory, Hanjun Guo ACPI Upstreaming Staged for 3.15 (in linux-next): Odds and ends: APEI cleanups, white space, minor bugs in ACPI driver Reduced

More information

Linux on the PowerPC 4xx

Linux on the PowerPC 4xx Linux on the PowerPC 4xx David Gibson , IBM LTC OzLabs September 4, 2002 Abstract The 4xx series is a family of PowerPC processors designed for embedded applications. These

More information

TCP/misc works. Eric Google

TCP/misc works. Eric Google TCP/misc works Eric Dumazet @ Google 1) TCP zero copy receive 2) SO_SNDBUF model in linux TCP (aka better TCP_NOTSENT_LOWAT) 3) ACK compression 4) PSH flag set on every TSO packet Design for TCP RX ZeroCopy

More information

Are you Really Helped by Upstream Kernel Code?

Are you Really Helped by Upstream Kernel Code? Are you Really Helped by Upstream Kernel Code? 1 HISAO MUNAKATA RENESAS SOLUTIONS CORP hisao.munakata.vt(at)renesas.com who am I Working for Renesas (semiconductor) 2 Over 15 years real embedded Linux

More information

ATS report. Linux Plumbers 2018, Vancouver Kevin Hilman

ATS report. Linux Plumbers 2018, Vancouver Kevin Hilman ATS report Linux Plumbers 2018, Vancouver Kevin Hilman Automated Testing Summit @ ELC-E Background Discussions began at ELC-E 2017 BoF on embedded board farms Follow-ups: automated-testing list, elinux.org

More information

Lecture 3 Android Internals

Lecture 3 Android Internals Lecture 3 Android Internals This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ or

More information

OpenDataPlane: network packet journey

OpenDataPlane: network packet journey OpenDataPlane: network packet journey Maxim Uvarov This presentation describes what is ODP. Touches common data types and APIs to work with network packets. Answers the question why ODP is needed and how

More information

The Cost of Going it Alone Dave Neary

The Cost of Going it Alone Dave Neary The Cost of Going it Alone Dave Neary dneary@gnome.org Photo by jucanils@flickr CC by-sa Also: The Cost of Collaboration Act I: Softway 1996-97 OpenNT/Interix: POSIX for NT GCC suite work: - 6-8 man-months

More information

Native POSIX Thread Library (NPTL) CSE 506 Don Porter

Native POSIX Thread Library (NPTL) CSE 506 Don Porter Native POSIX Thread Library (NPTL) CSE 506 Don Porter Logical Diagram Binary Memory Threads Formats Allocators Today s Lecture Scheduling System Calls threads RCU File System Networking Sync User Kernel

More information

Github/Git Primer. Tyler Hague

Github/Git Primer. Tyler Hague Github/Git Primer Tyler Hague Why Use Github? Github keeps all of our code up to date in one place Github tracks changes so we can see what is being worked on Github has issue tracking for keeping up with

More information

Introduction to Linked List: Review. Source:

Introduction to Linked List: Review. Source: Introduction to Linked List: Review Source: http://www.geeksforgeeks.org/data-structures/linked-list/ Linked List Fundamental data structures in C Like arrays, linked list is a linear data structure Unlike

More information

Zhang Chen Zhang Chen Copyright 2017 FUJITSU LIMITED

Zhang Chen Zhang Chen Copyright 2017 FUJITSU LIMITED Introduce Introduction And And Status Status Update Update About About COLO COLO FT FT Zhang Chen Zhang Chen Agenda Background Introduction

More information

How To Write a Linux Security Module That Makes Sense For You. Casey Schaufler February 2016

How To Write a Linux Security Module That Makes Sense For You. Casey Schaufler February 2016 How To Write a Linux Security Module That Makes Sense For You Casey Schaufler February 2016 Casey Schaufler Unix 32 bit port - 1979 Smack Linux security module Security module stacking Why Would You Write

More information

Using Git For Development. Shantanu Pavgi, UAB IT Research Computing

Using Git For Development. Shantanu Pavgi, UAB IT Research Computing Using Git For Development Shantanu Pavgi, pavgi@uab.edu UAB IT Research Computing Outline Version control system Git Branching and Merging Workflows Advantages Version Control System (VCS) Recording changes

More information

nftables, far more than %s/ip/nf/g

nftables, far more than %s/ip/nf/g nftables, far more than %s/ip/nf/g Éric Leblond Nefilter Coreteam February 18, 2015 Éric Leblond (Nefilter Coreteam) nftables, far more than %s/ip/nf/g February 18, 2015 1 / 65 1 Introduction 2 Netfilter

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central

More information

LRU. Pseudo LRU A B C D E F G H A B C D E F G H H H C. Copyright 2012, Elsevier Inc. All rights reserved.

LRU. Pseudo LRU A B C D E F G H A B C D E F G H H H C. Copyright 2012, Elsevier Inc. All rights reserved. LRU A list to keep track of the order of access to every block in the set. The least recently used block is replaced (if needed). How many bits we need for that? 27 Pseudo LRU A B C D E F G H A B C D E

More information

Computer System Overview

Computer System Overview Computer System Overview Operating Systems 2005/S2 1 What are the objectives of an Operating System? 2 What are the objectives of an Operating System? convenience & abstraction the OS should facilitate

More information

Network stack virtualization for FreeBSD 7.0. Marko Zec

Network stack virtualization for FreeBSD 7.0. Marko Zec Network stack virtualization for FreeBSD 7.0 Marko Zec zec@fer.hr University of Zagreb Network stack virtualization for FreeBSD 7.0 slide 1 of 18 Talk outline Network stack virtualization what, why, and

More information

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2.

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2. BASIC ELEMENTS Simplified view: Processor Slide 1 Computer System Overview Operating Systems Slide 3 Main Memory referred to as real memory or primary memory volatile modules 2004/S2 secondary memory devices

More information

Memory Hierarchy Basics

Memory Hierarchy Basics Computer Architecture A Quantitative Approach, Fifth Edition Chapter 2 Memory Hierarchy Design 1 Memory Hierarchy Basics Six basic cache optimizations: Larger block size Reduces compulsory misses Increases

More information

Precision Time Protocol, and Sub-Microsecond Synchronization

Precision Time Protocol, and Sub-Microsecond Synchronization Linux Foundation End User Summit May 1, 2012 Precision Time Protocol, and Sub-Microsecond Synchronization Mike Kravetz IBM Linux Technology Center kravetz@us.ibm.com 2009 IBM Corporation Agenda Background/History

More information

QUIC. Internet-Scale Deployment on Linux. Ian Swett Google. TSVArea, IETF 102, Montreal

QUIC. Internet-Scale Deployment on Linux. Ian Swett Google. TSVArea, IETF 102, Montreal QUIC Internet-Scale Deployment on Linux TSVArea, IETF 102, Montreal Ian Swett Google 1 A QUIC History - SIGCOMM 2017 Protocol for HTTPS transport, deployed at Google starting 2014 Between Google services

More information

CS 147: Computer Systems Performance Analysis

CS 147: Computer Systems Performance Analysis CS 147: Computer Systems Performance Analysis Test Loads CS 147: Computer Systems Performance Analysis Test Loads 1 / 33 Overview Overview Overview 2 / 33 Test Load Design Test Load Design Test Load Design

More information

comma separated values .csv extension. "save as" CSV (Comma Delimited)

comma separated values .csv extension. save as CSV (Comma Delimited) What is a CSV and how do I import it? A CSV is a comma separated values file which allows data to be saved in a table structured format. CSVs look like normal spreadsheet but with a.csv extension. Traditionally

More information

Quality of Service Mechanism for MANET using Linux Semra Gulder, Mathieu Déziel

Quality of Service Mechanism for MANET using Linux Semra Gulder, Mathieu Déziel Quality of Service Mechanism for MANET using Linux Semra Gulder, Mathieu Déziel Semra.gulder@crc.ca, mathieu.deziel@crc.ca Abstract: This paper describes a QoS mechanism suitable for Mobile Ad Hoc Networks

More information

Caching Basics. Memory Hierarchies

Caching Basics. Memory Hierarchies Caching Basics CS448 1 Memory Hierarchies Takes advantage of locality of reference principle Most programs do not access all code and data uniformly, but repeat for certain data choices spatial nearby

More information

Distributed Systems 27. Process Migration & Allocation

Distributed Systems 27. Process Migration & Allocation Distributed Systems 27. Process Migration & Allocation Paul Krzyzanowski pxk@cs.rutgers.edu 12/16/2011 1 Processor allocation Easy with multiprocessor systems Every processor has access to the same memory

More information

Kernel maintainership: an oral tradition

Kernel maintainership: an oral tradition Embedded Linux Conference Europe 2015 Kernel maintainership: an oral tradition Gregory CLEMENT Bootlin gregory.clement@bootlin.com (Image credit: Andrew Cheal under license CC BY-ND 2.0) - Kernel, drivers

More information

Keeping Up With The Linux Kernel. Marc Dionne AFS and Kerberos Workshop Pittsburgh

Keeping Up With The Linux Kernel. Marc Dionne AFS and Kerberos Workshop Pittsburgh Keeping Up With The Linux Kernel Marc Dionne AFS and Kerberos Workshop Pittsburgh - 2015 The stage Linux is widely deployed as an AFS client platform OpenAFS client available in popular distributions Ubuntu,

More information

Networking Acronym Smorgasbord: , DVMRP, CBT, WFQ

Networking Acronym Smorgasbord: , DVMRP, CBT, WFQ Networking Acronym Smorgasbord: 802.11, DVMRP, CBT, WFQ EE122 Fall 2011 Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other

More information

Real Time BoF ELC 2012

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

netfilter/iptables/conntrack debugging

netfilter/iptables/conntrack debugging Networking Services Team, Red Hat June 2015 packets disappearing e.g. added some dnat-based port forwarding, but it doesn t seem to work How to debug that? netfilter tracing can be used to find wich rules

More information

[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France

[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France [Software Development] Development Tools Davide Balzarotti Eurecom Sophia Antipolis, France Version Control Version (revision) control is the process of tracking and recording changes to files Most commonly

More information

Digitalization of Kernel Diversion from the Upstream

Digitalization of Kernel Diversion from the Upstream Digitalization of Kernel Diversion from the Upstream To minimize local code modifications Hisao Munakata Linux Foundation Consumer Electronics working group April 4th 2016 1 / 52 Hisao Munakata Digitalization

More information

Elivepatch Flexible distributed Linux Kernel live patching. Alice Ferrazzi Takanori Suzuki

Elivepatch Flexible distributed Linux Kernel live patching. Alice Ferrazzi Takanori Suzuki Elivepatch Flexible distributed Linux Kernel live patching Alice Ferrazzi Takanori Suzuki 1 kernel :~ $ whoami Alice Ferrazzi Gentoo Gentoo Kernel Project Leader Gentoo Google Summer of Code administrator

More information

2/8/18. Overview. Project Management. The First Law. What is Project Management? What Are These Changes? Software Configuration Management (SCM)

2/8/18. Overview. Project Management. The First Law. What is Project Management? What Are These Changes? Software Configuration Management (SCM) Overview Project Management How to manage a project? What is software configuration management? Version control systems Issue tracking systems N. Meng, L. Zhang 2 What is Project Management? Effective

More information

Recall: Address Space Map. 13: Memory Management. Let s be reasonable. Processes Address Space. Send it to disk. Freeing up System Memory

Recall: Address Space Map. 13: Memory Management. Let s be reasonable. Processes Address Space. Send it to disk. Freeing up System Memory Recall: Address Space Map 13: Memory Management Biggest Virtual Address Stack (Space for local variables etc. For each nested procedure call) Sometimes Reserved for OS Stack Pointer Last Modified: 6/21/2004

More information

A solution to high latencies caused by I/O. Paolo Valente, Assistant professor, Linaro

A solution to high latencies caused by I/O. Paolo Valente, Assistant professor, Linaro A solution to high latencies caused by I/O Paolo Valente, Assistant professor, Linaro Content What s the job of an I/O scheduler? High latencies caused by I/O, and the bfq solution Hikey (LeMaker) board:

More information

Design and Performance of the OpenBSD Stateful Packet Filter (pf)

Design and Performance of the OpenBSD Stateful Packet Filter (pf) Usenix 2002 p.1/22 Design and Performance of the OpenBSD Stateful Packet Filter (pf) Daniel Hartmeier dhartmei@openbsd.org Systor AG Usenix 2002 p.2/22 Introduction part of a firewall, working on IP packet

More information

Exporting virtual memory as dmabuf. Nikhil Devshatwar Texas Instruments, India

Exporting virtual memory as dmabuf. Nikhil Devshatwar Texas Instruments, India 1 Exporting virtual memory as dmabuf Nikhil Devshatwar Texas Instruments, India 2 About author Embedded Linux developer @Texas Instruments Video subsystem Camera drivers Base port support Contributions

More information

Project Management. Overview

Project Management. Overview Project Management Overview How to manage a project? What is software configuration management? Version control systems Issue tracking systems N. Meng, L. Zhang 2 1 What is Project Management? Effective

More information

Tracking FreeBSD in a Commercial Environment

Tracking FreeBSD in a Commercial Environment Tracking FreeBSD in a Commercial Environment imp@freebsd.org The FreeBSD Project BSDCan 2009 Ottawa, Canada 8 May 2009 Outline Background and Context 1 Background and Context 2 Theory Reality 3 Upgrading

More information

Memory Hierarchy Basics. Ten Advanced Optimizations. Small and Simple

Memory Hierarchy Basics. Ten Advanced Optimizations. Small and Simple Memory Hierarchy Basics Six basic cache optimizations: Larger block size Reduces compulsory misses Increases capacity and conflict misses, increases miss penalty Larger total cache capacity to reduce miss

More information

Red Hat Summit 2009 Rik van Riel

Red Hat Summit 2009 Rik van Riel 1 The Turtle And The Hare A Tale of Two Kernels Rik van Riel Senior Software Engineer, Red Hat September 3, 2009 2 The Turtle And The Hare A Tale of Two Kernels Rik van Riel Senior Software Engineer, Red

More information