David S. Miller

Last updated
David Stephen Miller
DaveMiller.jpg
Born (1974-11-26) November 26, 1974 (age 49)
Other namesDaveM
Occupation Programmer
Employer Red Hat
Known for Linux Kernel, GCC

David Stephen Miller (born November 26, 1974) is an American software developer working on the Linux kernel, where he is the primary maintainer of the networking subsystem [1] [2] and individual networking drivers, [3] the SPARC implementation, [4] [5] and the IDE subsystem. [6] With other people, he co-maintains the crypto API, [7] KProbes, [8] IPsec, [9] and is also involved in other development work.

Contents

He is also a founding member of the GNU Compiler Collection (GCC) steering committee. [10]

Work

As of January 2022, Miller is #1 in "non-author signoff" patches, [11] which are Linux kernel modifications reviewed by the subsystem maintainer who ultimately applies them. He's been in the top gatekeepers for years since kernel 2.6.22 in 2007. [12]

He worked at the Rutgers University Center for Advanced Information Processing, [13] at Cobalt Microserver, [14] and then Red Hat since 1999. [15] [16]

SPARC porting

Miller ported the Linux kernel to the Sun Microsystems SPARC in 1996 [13] with Miguel de Icaza. He has also ported Linux to the 64-bit UltraSPARC machines, including UltraSPARC T1 in early 2006 [17] and later the T2 and T2+. As of 2010 he continues to maintain the sparc port (both 32-bit and 64-bit). [4]

In April 2008, Miller contributed the SPARC port of gold, a from-scratch rewrite of the GNU linker. [18] [19]

Linux networking

Miller is one of the maintainers of the Linux TCP/IP stack [1] and has been key in improving its performance in high load environments. [20] He also wrote and/or contributed to numerous network card drivers in the Linux kernel. [21] [22]

eBPF

Miller is currently working on Linux's dynamic tracing technology, called eBPF. [23]

Speeches

David delivered the keynote at netdev 0.1 on February 16, 2015, in Ottawa. [24] He also delivered the keynote at Ottawa Linux Symposium in 2000, [25] and another keynote at Linux.conf.au in Dunedin in January 2006. [26]

He gave a talk on "Multiqueue Networking Developments in the Linux Kernel" at the July 2009 meeting of the New York Linux Users Group. [27]

Related Research Articles

<span class="mw-page-title-main">Device driver</span> Software interface to attached devices

In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details about the hardware being used.

<span class="mw-page-title-main">Executable and Linkable Format</span> Standard file format for executables, object code, shared libraries, and core dumps.

In computing, the Executable and Linkable Format is a common standard file format for executable files, object code, shared libraries, and core dumps. First published in the specification for the application binary interface (ABI) of the Unix operating system version named System V Release 4 (SVR4), and later in the Tool Interface Standard, it was quickly accepted among different vendors of Unix systems. In 1999, it was chosen as the standard binary file format for Unix and Unix-like systems on x86 processors by the 86open project.

<span class="mw-page-title-main">Miguel de Icaza</span> Mexican free software developer (born 1972)

Miguel de Icaza is a Mexican-American programmer, best known for starting the GNOME, Mono, and Xamarin projects.

<span class="mw-page-title-main">GoboLinux</span> Linux distribution

GoboLinux is a Linux distribution whose most prominent feature is a reorganization of the traditional Linux file system. Rather than following the Filesystem Hierarchy Standard like most Unix-like systems, each program in a GoboLinux system has its own subdirectory tree, where all of its files may be found. Thus, a program "Foo" has all of its specific files and libraries in /Programs/Foo, under the corresponding version of this program at hand. For example, the commonly known GCC compiler suite version 8.1.0, would reside under the directory /Programs/GCC/8.1.0.

<span class="mw-page-title-main">DragonFly BSD</span> Free and open-source Unix-like operating system

DragonFly BSD is a free and open-source Unix-like operating system forked from FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and FreeBSD developer between 1994 and 2003, began working on DragonFly BSD in June 2003 and announced it on the FreeBSD mailing lists on 16 July 2003.

Netfilter is a framework provided by the Linux kernel that allows various networking-related operations to be implemented in the form of customized handlers. Netfilter offers various functions and operations for packet filtering, network address translation, and port translation, which provide the functionality required for directing packets through a network and prohibiting packets from reaching sensitive locations within a network.

sysfs is a pseudo file system provided by the Linux kernel that exports information about various kernel subsystems, hardware devices, and associated device drivers from the kernel's device model to user space through virtual files. In addition to providing information about various devices and kernel subsystems, exported virtual files are also used for their configuration.

Crypto API is a cryptography framework in the Linux kernel, for various parts of the kernel that deal with cryptography, such as IPsec and dm-crypt. It was introduced in kernel version 2.5.45 and has since expanded to include essentially all popular block ciphers and hash functions.

<span class="mw-page-title-main">NDISwrapper</span> Driver wrapper for Windows devices used on Linux

NDISwrapper is a free software driver wrapper that enables the use of Windows XP network device drivers on Linux operating systems. NDISwrapper works by implementing the Windows kernel and NDIS APIs and dynamically linking Windows network drivers to this implementation. As a result, it only works on systems based on the instruction set architectures supported by Windows, namely IA-32 and x86-64.

<span class="mw-page-title-main">PulseAudio</span> Sound server for Unix-like operating systems

PulseAudio is a network-capable sound server program distributed via the freedesktop.org project. It runs mainly on Linux, including Windows Subsystem for Linux on Microsoft Windows and Termux on Android; various BSD distributions such as FreeBSD, OpenBSD, and macOS; as well as Illumos distributions and the Solaris operating system. It serves as a middleware in between applications and hardware and handles raw PCM audio streams.

<span class="mw-page-title-main">Greg Kroah-Hartman</span> American Linux kernel developer

Greg Kroah-Hartman is a major Linux kernel developer. As of April 2013, he is the Linux kernel maintainer for the -stable branch, the staging subsystem, USB, driver core, debugfs, kref, kobject, and the sysfs kernel subsystems, Userspace I/O, and TTY layer. He also created linux-hotplug, the udev project, and the Linux Driver Project. He worked for Novell in the SUSE Labs division and, as of 1 February 2012, works at the Linux Foundation.

<span class="mw-page-title-main">Kernel-based Virtual Machine</span> Virtualization module in the Linux kernel

Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007. KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V. KVM has also been ported to other operating systems such as FreeBSD and illumos in the form of loadable kernel modules.

<span class="mw-page-title-main">OpenBSD</span> Operating system

OpenBSD is a security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by forking NetBSD 1.0. The OpenBSD project emphasizes portability, standardization, correctness, proactive security, and integrated cryptography.

<span class="mw-page-title-main">Alan Cox (computer programmer)</span> British computer programmer

Alan Cox is a British computer programmer who has been a key figure in the development of Linux. He maintained the 2.2 branch of the Linux kernel and continues to be heavily involved in its development, an association that dates back to 1991. He lives in Swansea, Wales, where he lived with his wife Telsa Gwynne, who died in 2015 and now lives with author Tara Neale, whom he married in 2020. He graduated with a BSc in Computer Science from Swansea University in 1991 and received an MBA from the same university in 2005.

<span class="mw-page-title-main">Linux kernel</span> Free Unix-like operating system kernel

The Linux kernel is a free and open source, UNIX-like kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the kernel for the GNU operating system (OS) which was created to be a free replacement for Unix. Since the late 1990s, it has been included in many operating system distributions, many of which are called Linux. One such Linux kernel operating system is Android which is used in many mobile and embedded devices.

<span class="mw-page-title-main">Illumos</span> Free software implementation of the Solaris kernel

Illumos is a partly free and open-source Unix operating system. It is based on OpenSolaris, which was based on System V Release 4 (SVR4) and the Berkeley Software Distribution (BSD). Illumos comprises a kernel, device drivers, system libraries, and utility software for system administration. This core is now the base for many different open-sourced Illumos distributions, in a similar way in which the Linux kernel is used in different Linux distributions.

<span class="mw-page-title-main">NetBSD</span> Free and open-source Unix-like operating system

NetBSD is a free and open-source Unix-like operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems.

Device Mapper Multipath Input Output often shortened to DM-Multipathing and abbreviated as DM-MPIO provides input-output (I/O) fail-over and load-balancing by using multipath I/O within Linux for block devices. By utilizing device-mapper, the multipathd daemon provides the host-side logic to use multiple paths of a redundant network to provide continuous availability and higher-bandwidth connectivity between the host server and the block-level device. DM-MPIO handles the rerouting of block I/O to an alternate path in the event of a path failure. DM-MPIO can also balance the I/O load across all of the available paths that are typically utilized in Fibre Channel (FC) and iSCSI SAN environments. DM-MPIO is based on the device mapper, which provides the basic framework that maps one block device onto another.

perf is a performance analyzing tool in Linux, available from Linux kernel version 2.6.31 in 2009. Userspace controlling utility, named perf, is accessed from the command line and provides a number of subcommands; it is capable of statistical profiling of the entire system.

References

  1. 1 2 "Linux kernel MAINTAINERS file as of 4.17, section NETWORKING [GENERAL]".
  2. "Linux kernel MAINTAINERS file as of 4.17, section NETWORKING [IPv4/IPv6]".
  3. "Linux kernel MAINTAINERS file as of 4.17, section NETWORKING DRIVERS".
  4. 1 2 "Linux kernel MAINTAINERS file as of 4.17, section SPARC + UltraSPARC (sparc/sparc64)".
  5. "Linux kernel MAINTAINERS file as of 4.17, section SPARC SERIAL DRIVERS".
  6. "Linux kernel MAINTAINERS file as of 4.17, section IDE SUBSYSTEM)".
  7. "Linux kernel MAINTAINERS file as of 4.17, section CRYPTO API)".
  8. "Linux kernel MAINTAINERS file as of 4.17, section KPROBES)".
  9. "Linux kernel MAINTAINERS file as of 4.17, section NETWORKING [IPSEC])".
  10. "GCC steering committee". The GCC team / Free Software Foundation. 2009-04-27. Retrieved 2010-04-18.
  11. Jonathan Corbet. LWN.net (ed.). "Some 5.16 kernel development statistics".
  12. Jonathan Corbet. LWN.net (ed.). "Some 5.6 kernel development statistics".
  13. 1 2 David S. Miller, Rutgers CAIP & Miguel de Icaza, Instituto de Ciencias Nucleares, Universidad Nacional Autonoma de Mexico (1997). "The SPARC Port of Linux". Usenix Proceedings. USENIX Association. Retrieved 2010-04-18.{{cite web}}: CS1 maint: multiple names: authors list (link)
  14. "1998 Atlanta Linux Showcase Speakers". The Atlanta Linux Showcase. 1998-10-24. Archived from the original on 2011-09-28. Retrieved 2010-04-19. David S. Miller is an engineer at Cobalt Networks, he's been a member of the Linux kernel developer team for nearly 5 years now, and has ported it to various Sparc and MIPS platforms. He is also the current primary maintainer of the IP networking layer in the kernel and an active contributor to the EGCS compiler project.
  15. "Excerpt from a Red Hat (RHAT) SEC S-1 filing". June 4, 1999. Archived from the original on July 8, 2008. Retrieved 2010-04-19.
  16. Interview with David Miller of Red Hat. 8th Annual Linux Kernel Summit. The Linux Foundation. September 14–18, 2008. Archived from the original on October 10, 2009. Retrieved 2010-04-19.
  17. "First Niagara/Linux SMP boot..." David Miller's Blog. February 17, 2006. Archived from the original on 2010-06-11. Retrieved 2010-04-18.
  18. David S. Miller (2008-04-11). "RFC PATCH: Sparc gold support". binutils at sourceware.org (Mailing list). binutils project. Retrieved 2010-04-19.
  19. "revision history of the sparc source file". The Gold CVS repository. April 2008 – March 2010. Retrieved 2010-04-19.
  20. David S. Miller (1997-03-03). "Socket hashing patches, 5th and final installment". Linux kernel mailing list (Mailing list). lkml.org. Retrieved 2010-04-19.
  21. "Source file for the sunhme kernel module". Linux Kernel . Archived from the original on 2005-09-23. Retrieved 2010-04-19.
  22. "Source file for the tg3 kernel module". Linux Kernel . Archived from the original on 2005-09-23. Retrieved 2010-04-19.
  23. "#ebpf You Cannot Stop This" (PDF).
  24. "State of the union on Linux kernel networking". netdev01.org. 2015. Archived from the original on 2015-02-19. Retrieved 2015-02-19.
  25. "Linux Weekly News 2000 OLS report". Linux Weekly News . 2002. Retrieved 2010-04-19.
  26. "Linux.conf.au 2006 programme". Linux.conf.au. 2006. Archived from the original on 2008-10-10. Retrieved 2008-10-30.
  27. "NYLUG - July 2009 Meeting". New York Linux Users Group. 2009-06-15. Archived from the original on 2009-08-28. Retrieved 2009-08-01.