Kernel driver maintenance : Upstream vs. Industry
|
|
- Charla Jefferson
- 5 years ago
- Views:
Transcription
1 1 Kernel driver maintenance : Upstream vs. Industry Brice Goglin RMLL Talence /07/08
2 Industry contributing to the Linux kernel? 2 Linux developed by people on their free time? 750,000 lines changed in , who's paying? No employer or unknown < 20% Broadcom 7.7% Intel 4.5% Chelsio 1.9% IBM 1.9% Qlogic 1.8% Samsung 1.7% TI 1.5% Many others
3 Why do these company contribute to Linux? 3 Linux widely used Companies want their hardware to work out of the box Need proper support from the operating system No need for users to download drivers manually No need for companies to adapt drivers to kernel changes Community support Actually, it's not that simple
4 What do companies want? 4 They want customers to buy their products Customers must be happy Hardware must work well and easily Management people point of view What's important is money, customers must be happy :) More important than using the right coding style More important than being portable More important than being friendly
5 Timing 5 Current Linux kernel is expected within a month (2-3-month release cycle) Many distributions use (stable kernel release) Debian, Ubuntu, Fedora, «professional» distributions use much older kernels Redhat EL 5 : SLES 11 :
6 Timing (2/2) 6 Production sites don't want to upgrade Things work fine, upgrading is too risky Some sites still run Redhat EL 4 (based on 2.6.9) How long between merging a driver in Linux and having it in the kernel of production sites? Years?
7 Example of company dealing with community work 7 Intel releases a graphics stack for Linux every 3 months Intel 2009Q3 graphics package is made of 2D driver: xf86-video-intel release 3D driver: mesa 7.6 release Kernel: release LIBDRM: libdrm release (xserver is recommended to use with this package) These components work fine together for real Validated on various platform
8 Example of company dealing with community work (2/2) 8 Releases for these components aren't synchronized Bug fixes and stable branches not managed the same Release schedules are different Intel adds an interesting comment «Multiple fixes (need rc1+ kernel) to make the driver stable for 8xx chipsets» Would you use a rc1 kernel?
9 Code lifecycle Who's doing what? 9 Company Linux Kernel Distributions Bug Fixes Bug Fixes Bug Fixes Hardware support Features Features Performance Performance Cleanups Backports
10 Bug fixes 10 Somebody in the company or in the community finds a bug in the driver Fix is pushed to next official kernel If important, pushed to next stable kernel releases too Management checks whether the bug is important Does it matter for customer? If fix needed on production sites as soon as possible? Make sure the fix goes in professional distributions Make sure the fix goes in stable kernel releases
11 How to ship new features 11 New features are only added in new kernels Not backported in stable kernel releases What if management wants the new feature to be available on production sites? Ask professional distribution to backport it? Often requires a lot of work, and may be hard to certify
12 How to ship new features early? 12 Ship a custom kernel module that includes the new feature for every kernel Maintain a custom version of the driver aside of the official one in the Linux kernel?! «The version of the driver included in the Linux kernel unfortunately does not include several features which are present in our driver distribution. These features include Large Receive Offload, which is critical for good 10GbE performance with standard frames. Until these features are accepted into the Linux kernel, we suggest you use our driver distribution.»
13 Is it worth maintaining a custom external module? 13 Enables latest features and performance improvements for many kernels, even old ones When compatibility is possible... The kernel interface changes a lot Need to cope with kernel interface changes Need to incorporate upstream kernel changes back Bug fixes, Customers must rebuild/reinstall it manually
14 Adapting to kernel interface changes : Looking at kernel version (bad idea) 14 If a new feature may help your code Find out manually which kernel introduced it Conditionally use it depending on the kernel version #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) Very easy! Applicable to other interface changes? No, because of backports Many distributions backport new features in their kernel Especially professional distributions Adding a patch to a certified kernel is easier than certifying a whole new kernel
15 Adapting to kernel interface changes : Checking feature availability 15 If the feature was backported, checking the kernel version will not work And you don't want to list all existing backports Check in the source if the new interface is available? Easy, configure can do that! AC_CHECK_FUNC(...) Not really, the kernel build system is very different CFLAGS, build system, We need to check manually...
16 Adapting to kernel interface changes : Checking feature availability (2/3) Sometimes you're lucky A #define was added together with the new feature 16 pgd = pgd_offset(mm, addr);... #ifdef PUD_SHIFT pud = pud_offset(pgd, addr);... pmd = pmd_offset(pud, addr); #else pmd = pmd_offset(pgd, addr); #endif Unfortunately, it's often more difficult No way to check in preprocessor (no relevant #define) Need manual detection before build (grep,...)
17 Adapting to kernel interface changes : Checking feature availability (2/3) Detecting before building if grep for_each_netdev linux/netdevice.h ; then if grep "for_each_netdev *(.*,.*)" linux/netdevice.h ; then echo "#define HAVE_FOR_EACH_NETDEV 1" >> else echo "#define HAVE_FOR_EACH_NETDEV_WITHOUT_NS 1" >> Using detection result during build #ifdef HAVE_FOR_EACH_NETDEV #define my_for_each_netdev(ifp) for_each_netdev(&init_net, ifp) #elif defined HAVE_FOR_EACH_NETDEV_WITHOUT_NS #define my_for_each_netdev(ifp) for_each_netdev(_fp) #else #define my_for_each_netdev(ifp) for(ifp=dev_base; ifp!=null ; #endif my_for_each_netdev(...)
18 Maintaining external modules 18 So, you really want to maintain two drivers?! One in the kernel and another one outside? How to keep their code in sync? Kernel driver is usually a subpart of the external one Extract the kernel one from the external one? Only keep support for latest kernel interface Replace abstraction layers with official kernel interface Remove ugly stuff that kernel people don't want (see later)
19 Extracting kernel driver from external driver 19 cat myexternaldriver.c unifdef -DPUD_SHIFT -DNETIF_F_TSO -DNETIF_F_GRO -UMY_UGLY_STUFF... sed -r -e 's/my_for_each_netdev/for_each_netdev/' -e 's/my_func\(([^\)]+)\)/func(\&(\1)->napi)/g' > mykerneldriver.c Removes the need to maintain two source codes The extracting script may become harder to maintain that the code itself Complex API changes imply complex rewriting rules Indentation changes hard to follow Kernel coding style isn't really applied Indentation may vary with new patches, the extracting script would have to reindent manually
20 Maintaining external modules (2/2) 20 Maintaining our own external module doesn't mean the kernel will wait for us before modifying its copy We need to incorporate upstream kernel changes back in our external module When we send a patch to the kernel, we must generate it against the latest kernel code Needs monitoring of the kernel trees (obviously) Is all this really doable? Not when people start cleaning up the kernel tree Addition of random new helpers, reindentation, Things that make the code highly different The extracting script would be horrible
21 Developing directly in a git clone instead? 21 The official way is to clone Linus git tree and directly develop there Or even development trees New networking stuff go to the net-next-2.6 tree first Immediate usage/dependency on latest programming interfaces Our code is not compatible with earlier kernels Early testing requires experimental kernels Hard do deploy Open to bugs, security issues not fixed early...
22 So what? 22 You probably want to use a mix of both models Develop directly in git trees when the driver is mature Maintain an external module until the official driver reaches distribution and/or production sites Only support old kernels there? Less kernel versions to support = Less interface changes to manage Need to maintain two source codes One for old kernels (external module), one for latest kernel (official module)
23 Performance hacks 23 Management people want best performance for their customer Why bother being portable if 99% of customers use x86? Hardware is full of bugs Kernel is full of work-arounds PCI quirks, DMI quirks, «I know this PCI chipset does this thing wrong, so I enable this hack in my driver to get good performance anyway.»
24 Performance hacks (2/2) 24 If one chipset/server/... is widely used, getting optimal performance out of it will be important for management People tend to add performance hacks to drivers Don't care about portability, maintainability,... Kernel people won't accept this You should expose the «feature» of the hardware in its own driver and have a clean way to use it in your driver How long before this arrives on production sites? Performance hacks end up in external drivers as a way to improve performance until the clean solution arrives
25 Summary 25 Many companies now contribute to Linux Nice initiatives such as Free Linux driver development or the Staging tree encourage them Even if they don't know how to write a driver Management and kernel people have very different requirements Finding a tradeoff may be hard for some developers Getting your work on production sites may take time
26 26 Thanks for your attention! Questions?
Flatpak and your distribution. Simon McVittie
Flatpak and your distribution Simon McVittie smcv@{collabora.com,debian.org} 2018-02-04 Introduction to Flatpak tl;dr edition A sandboxed app framework for desktop Linux GUI, desktop apps, as in /usr/share/applications,
More informationIncreasing Automation in the Backporting of Linux Drivers Using Coccinelle
Increasing Automation in the Backporting of Linux Drivers Using Coccinelle Luis R. Rodriguez, (SUSE Labs) Julia Lawall (Inria/LIP6/UPMC/Sorbonne University-Whisper) January, 2015 (Unpublished work) What
More informationIncreasing Automation in the Backporting of Linux Drivers Using Coccinelle
1 Increasing Automation in the Backporting of Linux Drivers Using Coccinelle Luis R. Rodriguez, (SUSE Labs) Julia Lawall (Inria/LIP6/UPMC/Sorbonne Universités) September 10, 2015 What is backporting? Linux
More informationLinux Kernel Evolution. OpenAFS. Marc Dionne Edinburgh
Linux Kernel Evolution vs OpenAFS Marc Dionne Edinburgh - 2012 The stage Linux is widely deployed as an OpenAFS client platform Many large OpenAFS sites rely heavily on Linux on both servers and clients
More informationThe 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 informationKeeping 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 informationCLOSE ENCOUNTERS OF THE UPSTREAM RESOURCE
CLOSE ENCOUNTERS OF THE UPSTREAM RESOURCE HISAO MUNAKATA RENESAS SOLUTIONS CORP hisao.munakata.vt(at)renesas.com who am I Work for Renesas (semiconductor provider) Over 15 years real embedded Linux business
More informationUpstreaming Hardware Enablement
Upstreaming Hardware Enablement December 8th 2011 Anthony Wong Project Manager, Hardware Enablement Team Agenda Introduction to Hardware Enablement Team Difficulties of Hardware Enablement on Linux How
More informationUnderstanding Browsers
Understanding Browsers What Causes Browser Display Differences? Different Browsers Different Browser Versions Different Computer Types Different Screen Sizes Different Font Sizes HTML Errors Browser Bugs
More informationUsing 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 informationWhat is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)
1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?
More informationChapter 21a Other Library Issues
Chapter 21a Other Library Issues Nick Maclaren http://www.ucs.cam.ac.uk/docs/course-notes/un ix-courses/cplusplus This was written by me, not Bjarne Stroustrup Function Objects These are not the only way
More informationGit Workflows. Sylvain Bouveret, Grégory Mounié, Matthieu Moy
s Sylvain Bouveret, Grégory Mounié, Matthieu Moy 2017 [first].[last]@imag.fr http://recherche.noiraudes.net/resources/git/git-workflow-slides.pdf 1 / 16 Goals of the presentation Global history: multiple
More informationSetup Error Code 404 Spotify Won't
Setup Error Code 404 Spotify Won't I was getting the "no internet connection available" error even tho everything else was using the internet fine. Googling Google that and I'm supposed to uninstall and
More informationHostless Xen Deployment
Hostless Xen Deployment Xen Summit Fall 2007 David Lively dlively@virtualiron.com dave.lively@gmail.com Hostless Xen Deployment What Hostless Means Motivation System Architecture Challenges and Solutions
More informationReleasing and Testing Free Opensource Graphics Drivers: the case of Mesa3D
Releasing and Testing Free Opensource Graphics Drivers: the case of Mesa3D Emil Velikov (emil.velikov@collabora.com) Juan A. Suárez (jasuarez@igalia.com) with PierreLoup Griffais (pgriffais@valvesoftware.com)
More informationkpatch Have your security and eat it too!
kpatch Have your security and eat it too! Josh Poimboeuf Senior Software Engineer, Red Hat LinuxCon North America August 22, 2014 Agenda What is kpatch? Why use kpatch? Demo How it works Features & Limitations
More informationContribute To Linux Mainline
Contribute To Linux Mainline Wu Zhangjin / Falcon wuzhangjin@gmail.com Tiny Lab 泰晓实验室 http://tinylab.org June 3, 2013 Outline 1 About Linux Kernel Development 2 Upstream your source code 3 Reference 4
More informationTracking 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 informationTDDC88 Lab 4 Software Configuration Management
TDDC88 Lab 4 Software Configuration Management Introduction "Version control is to programmers what the safety net is to a trapeze artist. Knowing the net is there to catch them if they fall, aerialists
More informationCPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management
CPSC 491 Lecture 19 & 20: Source Code Version Control VCS = Version Control Software SCM = Source Code Management Exercise: Source Code (Version) Control 1. Pretend like you don t have a version control
More informationBasic Fiction Formatting for Smashwords in OpenOffice L. Leona Davis. Copyright 2012 L. Leona Davis All Rights Reserved
Basic Fiction Formatting for Smashwords in OpenOffice L. Leona Davis Copyright 2012 L. Leona Davis All Rights Reserved Cover Photo by Dmitry Maslov Cover Design by L. Leona Davis Smashwords Edition June
More informationA Survivor's Guide to Contributing to the Linux Kernel
A Survivor's Guide to Contributing to the Linux Kernel Javier Martinez Canillas Samsung Open Source Group javier@osg.samsung.com Samsung Open Source Group 1 Agenda Motivation Linux development process
More informationGit. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015
Git all meaningful operations can be expressed in terms of the rebase command -Linus Torvalds, 2015 a talk by alum Ross Schlaikjer for the GNU/Linux Users Group Sound familiar? add commit diff init clone
More informationHow to git with proper etiquette
How to git with proper etiquette Let's start fixing how we use git here in crew so our GitHub looks even more awesome and you all get experience working in a professional-like git environment. How to use
More informationOpenEmbedded in the Real World
OpenEmbedded in the Real World Scott Murray Senior Staff Software Engineer Konsulko Group http://konsulko.com Who am I? Long time Linux user (over 20 years) Have done Linux software development for over
More informationKernel 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 informationGetting Perl modules into Debian
Getting Perl modules into Debian Debian s Perl team from an end-user perspective 11th September 2010 HantsLUG @ IBM Hursley What is the Debian Perl team? Maintain about 2000 Perl packages within Debian
More informationStructure and Config
Ubuntu Linux Server Structure and Config interlab at AIT Network Management Workshop March 11 Hervey Allen What's Our Goal? A bit of Debian & Ubuntu philosophy Differences from the Red Hat world Package
More informationARC infrastructure and releases. Anders Wäänänen, NBI
ARC infrastructure and releases Anders Wäänänen, NBI Overview Source code repository Binary repository ARC release status Legal stuff Globus issues 0.6 11/08/06 www.knowarc.eu 2 Software development Need
More informationBelle II - Git migration
Belle II - Git migration Why git? Stash GIT service managed by DESY Powerful branching and merging capabilities Resolution of (JIRA) issues directly be map to branches and commits Feature freeze in pre-release
More informationA Guide to the Linux Kernel Development Process. Jonathan Corbet LWN.net
A Guide to the Linux Kernel Development Process Jonathan Corbet LWN.net corbet@lwn.net 1 Agenda Why participation matters Guiding principles Trees Some tips 2 For more information ldn.linuxfoundation.org/book/
More informationGetting Things GNOME! Documentation
Getting Things GNOME! Documentation Release 0.3.1 The GTG Team December 20, 2015 Contents 1 Contents 3 1.1 Contributing to GTG........................................... 3 2 Man pages 5 2.1 gtg(1)...................................................
More informationAtrium Webinar- What's new in ADDM Version 10
Atrium Webinar- What's new in ADDM Version 10 This document provides question and answers discussed during following webinar session: Atrium Webinar- What's new in ADDM Version 10 on May 8th, 2014 Q: Hi,
More informationDisclaimer. This talk vastly over-simplifies things. See notes for full details and resources.
Greg Kroah-Hartman Disclaimer This talk vastly over-simplifies things. See notes for full details and resources. https://github.com/gregkh/presentation-spectre Spectre Hardware bugs Valid code can be tricked
More informationLinux. What is it? What s good about it? What s bad about it?
Linux What is it? What s good about it? What s bad about it? History Minix by Tanenbaum in late 1980s Linus Torvalds started Linux as a hobby project to improve on Minix First official public version late
More informationctio Computer Hygiene /R S E R ich
Computer Hygiene Protect Yourself You don't want to be part of the problem If there is a serious attack, you want your systems to be clean You rely on your systems on the air these days Packet NBEMS Logging
More informationClient Code - the code that uses the classes under discussion. Coupling - code in one module depends on code in another module
Basic Class Design Goal of OOP: Reduce complexity of software development by keeping details, and especially changes to details, from spreading throughout the entire program. Actually, the same goal as
More informationBuilding a home lab : From OK to Bada$$$ By Maxime Mercier
Building a home lab : From OK to Bada$$$ By Maxime Mercier Disclaimer The following presentation is a generic guideline on building a home lab. It should not be used for production servers without proper
More informationTransparent Hugepage Support
Transparent Hugepage Support Red Hat Inc. Andrea Arcangeli aarcange at redhat.com KVM Forum 2010 Boston Copyright 2010 Red Hat Inc. 9 Aug 2010 Benefit of hugepages Enlarge TLB size TLB is separate for
More informationFileWave 10 Webinar Q&A
FileWave 10 Webinar Q&A When will 10 be released? October 14 th, but you can sign up today to get into the beta program. Link: www.filewave.com/beta-program How stable is the beta? Should we use it for
More informationOpen Enterprise & Open Community opensuse & SLE Empowering Each Other. Richard Brown opensuse Chairman
Open Enterprise & Open Community & SLE Empowering Each Other Richard Brown Chairman rbrown@opensuse.org Contents Introduction to the Project Looking Back - 2014 and before Rolling into the Future with
More informationRed Hat Fedora as a model for irods Community Architecture Ray Idaszak Director Collaborative Environments
@RENCI: Red Hat Fedora as a model for Community Architecture Ray Idaszak Director Collaborative Environments Fedora Fedora Fedora Linux (Red Hat) http://fedoraproject.org/ Fedora Digital Repository http://fedora-commons.org/
More informationUpdate Manual Ios 7.1 Iphone 4s Wont >>>CLICK HERE<<<
Update Manual Ios 7.1 Iphone 4s Wont ios 7.1.2 has caused some problems for some iphone, ipad and ipod touch users. Here's how you can That way, if anything goes wrong, at least you won't lose any data.
More informationParallels Workstation 4.0 Extreme Read Me
Parallels Workstation 4.0 Extreme Read Me Welcome to Parallels Workstation Extreme build 4.0.6740. This document contains the information you should know to successfully install Parallels Workstation Extreme
More informationBuilding X 2D rendering acceleration with OpenGL. Eric Anholt Intel Open Source Technology Center
Building X 2D rendering acceleration with OpenGL Eric Anholt Intel Open Source Technology Center How 2D has worked X has always implemented graphics acceleration in a hardware specific driver Acceleration
More informationmanifold Documentation
manifold Documentation Release 0.0.1 Open Source Robotics Foundation Mar 04, 2017 Contents 1 What is Manifold? 3 2 Installation 5 2.1 Ubuntu Linux............................................... 5 2.2
More informationDo you think you'll be using a computer with the Windows 8 operating system on it anytime soon?
Do you think you'll be using a computer with the Windows 8 operating system on it anytime soon? No Yes 53.1% 46.9% Do you think you'll be using a computer with the Windows 8 operating system on it anytime
More informationProject 1. Fast correction
Project 1 Fast correction Project #1 waitpid vs wait WEXITSTATUS Memory leaks! fflush after the >, before the fork Why? Because the children and the parent can run in any order When piping a list of commands
More informationWhy you should care about hardware locality and how.
Why you should care about hardware locality and how. Brice Goglin TADaaM team Inria Bordeaux Sud-Ouest Agenda Quick example as an introduction Bind your processes What's the actual problem? Convenient
More informationCS 520: VCS and Git. Intermediate Topics Ben Kushigian
CS 520: VCS and Git Intermediate Topics Ben Kushigian https://people.cs.umass.edu/~rjust/courses/2017fall/cs520/2017_09_19.zip Our Goal Our Goal (Overture) Overview the basics of Git w/ an eye towards
More informationHow To Repair Win 7's Boot Loader After You Install Xp
How To Repair Win 7's Boot Loader After You Install Xp Here we're installing XP Professional on the new partition. This is due to XP writing it's bootloader over Windows 7's. After getting the bootloader
More informationCase study on PhoneGap / Apache Cordova
Chapter 1 Case study on PhoneGap / Apache Cordova 1.1 Introduction to PhoneGap / Apache Cordova PhoneGap is a free and open source framework that allows you to create mobile applications in a cross platform
More informationMy Favorite bash Tips and Tricks
1 of 6 6/18/2006 7:44 PM My Favorite bash Tips and Tricks Prentice Bisbal Abstract Save a lot of typing with these handy bash features you won't find in an old-fashioned UNIX shell. bash, or the Bourne
More informationBy Arjan Van De Ven, Senior Staff Software Engineer at Intel.
Absolute Power By Arjan Van De Ven, Senior Staff Software Engineer at Intel. Abstract: Power consumption is a hot topic from laptop, to datacenter. Recently, the Linux kernel has made huge steps forward
More informationSUSE at the Point of Service. Joachim Werner Senior Product Manager
SUSE at the Point of Service Joachim Werner Senior Product Manager joe@suse.com Agenda Introduction Product Overview SUSE Linux Enterprise Point of Service 11 Typical Configuration SUSE Linux Enterprise
More informationTDF Infra Overview. from developers' perspective
Introduction Christian Lohmaier AKA cloph on irc/elsewhere part of the project since the very beginning (infra side) since a few years employed by TDF initially part-time as infrastructure administrator
More informationSoftware configuration management
Software Engineering Theory Software configuration management Lena Buffoni/ Kristian Sandahl Department of Computer and Information Science 2017-03-27 2 Maintenance Requirements System Design (Architecture,
More informationOverview. 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 informationBoot Camp. Dave Eckhardt Bruce Maggs
Boot Camp Dave Eckhardt de0u@andrew.cmu.edu Bruce Maggs bmm@cs.cmu.edu 1 This Is a Hard Class Traditional hazards 410 letter grade one lower than other classes All other classes this semester: one grade
More informationClose Your File Template
In every sale there is always a scenario where I can t get someone to respond. No matter what I do. I can t get an answer from them. When people stop responding I use the Permission To. This is one of
More informationMost of the class will focus on if/else statements and the logical statements ("conditionals") that are used to build them. Then I'll go over a few
With notes! 1 Most of the class will focus on if/else statements and the logical statements ("conditionals") that are used to build them. Then I'll go over a few useful functions (some built into standard
More informationWorking with GIT. Florido Paganelli Lund University MNXB Florido Paganelli MNXB Working with git 1/47
Working with GIT MNXB01 2017 Florido Paganelli Lund University florido.paganelli@hep.lu.se Florido Paganelli MNXB01-2017 - Working with git 1/47 Required Software Git - a free and open source distributed
More informationWindows 7 Manual Update Install Clean Disk. Space >>>CLICK HERE<<<
Windows 7 Manual Update Install Clean Disk Space How to Clean up the WinSxS Directory and Free Up Disk Space on Windows Server 2008 -andfree-up-disk-space-with-a-new-update-for-windows-7-sp1-clients.aspx
More informationEasyHook: Down & Dirty with Microsoft Windows
EasyHook: Down & Dirty with Microsoft Windows By Aaron Grothe/NEbraskaCERT 03/17/2010 LibSafe Has anybody heard of it? Very interesting little library for Linux written by Avaya Did function call interceptions
More informationHow to decide Linux Kernel for Embedded Products. Tsugikazu SHIBATA NEC 20, Feb Embedded Linux Conference 2013 SAN FRANCISCO
How to decide Linux Kernel for Embedded Products Tsugikazu SHIBATA NEC 20, Feb. 2013 Embedded Linux Conference 2013 Parc55 @ SAN FRANCISCO Agenda Points to be considered to decide Linux kernel version
More informationWindows 7 Will Not Load On My Computer Says I'm
Windows 7 Will Not Load On My Computer Says I'm There are various programs which will allow you to make a copy of your entire apply to my computer even though it does say it works for this issue in Windows
More informationHow Rust views tradeoffs. Steve Klabnik
How Rust views tradeoffs Steve Klabnik 03.04.2019 What is a tradeoff? Bending the Curve Overview Design is about values Case Studies BDFL vs Design By Committee Stability Without Stagnation Acceptable
More informationLINUX KERNEL UPDATES FOR AUTOMOTIVE: LESSONS LEARNED
LINUX KERNEL UPDATES FOR AUTOMOTIVE: LESSONS LEARNED TOM MCREYNOLDS, VLAD BUZOV AUTOMOTIVE SOFTWARE OCTOBER 15TH, 2013 Why kernel upgrades : the problem Linux Kernel cadence doesn t match Automotive s
More informationMaintaining an Out-of-Tree Driver and an Upstream Driver Simultaneously (with minimal pain)
Maintaining an Out-of-Tree Driver and an Upstream Driver Simultaneously (with minimal pain) Catherine Sullivan Intel LinuxCon 2015 Me Intel ND Linux Ethernet drivers 40G product line A little 10G Network
More informationgit-flow Documentation
git-flow Documentation Release 1.0 Johan Cwiklinski Jul 14, 2017 Contents 1 Presentation 3 1.1 Conventions............................................... 4 1.2 Pre-requisites...............................................
More informationReboot adieu! Online Linux kernel patching. Udo Seidel
Reboot adieu! Online Linux kernel patching Udo Seidel Agenda Who & Why? How? Players & Show! And? Me :-) Teacher of mathematics and physics PhD in experimental physics Started with Linux in 1996 Linux/UNIX
More informationManual Update To Ios 7 Ipad 3 Won't >>>CLICK HERE<<<
Manual Update To Ios 7 Ipad 3 Won't Even if you manage to manually install the software it probably won't even turn on Is there a jailbreak to trick it to see the ipad as running ios7 or 8 just don't want
More informationReview of the Stable Realtime Release Process
Review of the Stable Realtime Release Process An unscientific, slightly opinionated stab at the current status... With the intent of generating some discussion. Frank Rowand, Sony Network Entertainment
More informationProduced by. Mobile Application Development. Eamonn de Leastar
Mobile Application Development Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie Introducing
More informationDisclaimer. This talk vastly over-simplifies things. See notes for full details and resources.
Greg Kroah-Hartman Disclaimer This talk vastly over-simplifies things. See notes for full details and resources. https://github.com/gregkh/presentation-spectre Spectre Hardware bugs Valid code can be tricked
More informationSALOME Maintenance Procedure. Frédéric Pons (Open Cascade) Roman Nikolaev (Open Cascade)
SALOME Maintenance Procedure Frédéric Pons (Open Cascade) Roman Nikolaev (Open Cascade) Back Office Back Office Organization Back Office Tasks Continuous integration Production and Qualification of Released
More informationmid=81#15143
Posted by joehillen - 06 Aug 2012 22:10 I'm having a terrible time trying to find the Lightworks source code. I was under the impression that Lightworks was open source. Usually that means that it's possible
More informationHome Page. Title Page. Contents. Page 1 of 17. Version Control. Go Back. Ken Bloom. Full Screen. Linux User Group of Davis March 1, Close.
Page 1 of 17 Version Control Ken Bloom Linux User Group of Davis March 1, 2005 Page 2 of 17 1. Version Control Systems CVS BitKeeper Arch Subversion SVK 2. CVS 2.1. History started in 1986 as a bunch of
More information1 Getting used to Python
1 Getting used to Python We assume you know how to program in some language, but are new to Python. We'll use Java as an informal running comparative example. Here are what we think are the most important
More informationManaging build infrastructure of a Debian derivative
Managing build infrastructure of a Debian derivative Andrej Shadura 4 February 2018 Presentation Outline Who am I Enter Apertis Build infrastructure Packaging workflows Image builds Andrej Shadura contributing
More informationERICH PRIMEHAMMER REFACTORING
ERICH KADERKA @ PRIMEHAMMER REFACTORING WHAT IS REFACTORING? Martin Fowler: Refactoring is a controlled technique for improving the design of an existing code base. Its essence is applying a series of
More informationAurelien Jarno 26/02/2006 FOSDEM. Debian GNU/kFreeBSD. Aurelien Jarno. What? Why? Status. The future. How to help?
aurel32@debian.org FOSDEM 26/02/2006 What is? port FreeBSD kernel (kfreebsd for short) kfreebsd 5.4 experimental version of kfreebsd 6.0 GNU userland GNU libc Cool tools (dpkg, apt,...) A Gentoo port has
More informationT Mobile Manual Contract Deals Iphone 5s Work In India
T Mobile Manual Contract Deals Iphone 5s Work In India cheap. I saw that the Apple Store in Canada was selling them unlocked. I bought the no-contract T-mobile iphone 6 from Apple's website and am using
More informationWho am I? I m a python developer who has been working on OpenStack since I currently work for Aptira, who do OpenStack, SDN, and orchestration
Who am I? I m a python developer who has been working on OpenStack since 2011. I currently work for Aptira, who do OpenStack, SDN, and orchestration consulting. I m here today to help you learn from my
More informationHow to Connect & Share your Internet Connection (Wired & Wireless)
How to Connect & Share your Internet Connection (Wired & Wireless) I have Ubuntu 12.04 on a HP 430 notebook and this has a single wired internet connection and I would like to share this with a LG Optimus
More informationLinked Lists. What is a Linked List?
Linked Lists Along with arrays, linked lists form the basis for pretty much every other data stucture out there. This makes learning and understand linked lists very important. They are also usually the
More informationHTTP/2 Out Of The Box
HTTP/2 Out Of The Box Can you get it with stable Linux? Sergej Kurakin HTTP/2 was published at May 14, 2015 HTTP 1.1 was standardized in 1997 - it s 18 years old! HTTP/2 was published at May 14, 2015
More informationAzon Master Class. By Ryan Stevenson Guidebook #5 WordPress Usage
Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #5 WordPress Usage Table of Contents 1. Widget Setup & Usage 2. WordPress Menu System 3. Categories, Posts & Tags 4. WordPress
More informationEmbedded in 2010: An End to the Entropy? Matt Asay COO, Canonical
Embedded in 2010: An End to the Entropy? Matt Asay COO, Canonical 1 ...and where smart meets bankruptcy 2 Remember these? 3 The Past ARMv1 ARMv3 ARMv4 Obsolete: Not powerful enough to run Linux. Some very
More informationHow to Work with Mercurial
How to Work with Mercurial Author: Organization: Sjoerd Mullender CWI, MonetDB B.V. Abstract The MonetDB repository has moved from CVS on Sourceforge to Mercurial on dev.monetdb.org. In this document,
More informationAgenda How DPDK can be used for your Application DPDK Ecosystem boosting your Development Meet the Community Challenges
SPEED MATTERS. All rights reserved. All brand names, trademarks and copyright information cited in this presentation shall remain the property of its registered owners. Agenda How DPDK can be used for
More informationGit tips. Some tips to use Git.
Some tips to use Git. Summary I.... 1. Add remote repository on a project and how to use it... 2. Squash commits... 3. Rewrite a project history... 4. Reset a branch on a precise commit... p. 3 p. 3 p.
More informationAdafruit's Raspberry Pi Lesson 1. Preparing an SD Card for your Raspberry Pi
Adafruit's Raspberry Pi Lesson 1. Preparing an SD Card for your Raspberry Pi Created by Simon Monk Last updated on 2013-07-08 12:15:38 PM EDT Guide Contents Guide Contents Overview You Will Need Downloading
More informationInstant Keyword Riches
Instant Keyword Riches Instant Keyword Riches Table of Contents Introduction... 3 Preliminary Keyword Research... 4 Keyword Assessment... 6 Keywords in SEO... 10 Domain Names... 10 URLs... 11 Heading Tags...
More informationcontribution-guide.org Release
contribution-guide.org Release August 06, 2018 Contents 1 About 1 1.1 Sources.................................................. 1 2 Submitting bugs 3 2.1 Due diligence...............................................
More informationCptS 360 (System Programming) Unit 3: Development Tools
CptS 360 (System Programming) Unit 3: Development Tools Bob Lewis School of Engineering and Applied Sciences Washington State University Spring, 2018 Motivation Using UNIX-style development tools lets
More informationManual Update Java 7 25 Mac Windows Xp
Manual Update Java 7 25 Mac Windows Xp This release will be the last Oracle JDK 7 publicly available update. JavaFX SDK is now included in JDK 7 for Windows, Mac OS X, and Linux x86/x64. 5.3.1 Java Control
More informationSMB3 and Linux Seamless POSIX file serving. Jeremy Allison Samba Team.
SMB3 and Linux Seamless POSIX file serving Jeremy Allison Samba Team jra@samba.org Isn't cloud storage the future? Yes, but not usable for many existing apps. Cloud Storage is a blob store Blob stores
More informationQUIZ Friends class Y;
QUIZ Friends class Y; Is a forward declaration neeed here? QUIZ Friends QUIZ Friends - CONCLUSION Forward (a.k.a. incomplete) declarations are needed only when we declare member functions as friends. They
More information