Post Job Free
Sign in

Senior Linux Engineer

Location:
Santa Cruz, CA
Posted:
July 02, 2017

Contact this candidate

Resume:

ATTN Recruiters: read this section first

• All work 1994-present is telecommute; 1990-2010 were contracts

• Unix/Linux kernel developer, not a storage specialist

• the RAID projects were porting, not developing a RAID stack

END Recruiter section

Paul Littrell 408-***-****

>> SUMMARY <<

32 years UNIX kernel development Linux / NetBSD / Solaris / BSD 4.x / System V. Kernel porting / bringup, multi-threading, MP/startup, prom interactions, performance and profiling, filesystems, VM, TCP/IP, 32/64-bit support, security, device drivers, boot loaders, system utilities and libraries.

>> EDUCATION << >> LANGUAGES <<

UC – Bachelor's Degree Computer Science 1985 C, ARM, PPC, SPARC, x86,

UC Extension – Design of the UNIX OS PERL, csh/ksh/bash, yacc/lex,

Sun Microsystems – Writing Device Drivers PHP, HTML & CSS, Javascript

PILLAR DATA SYSTEMS, San Jose 2010 – present (now Oracle, Inc)

§ Developed kernel and library services for DDR3 Non-Volatile DIMMs with Linux 2.6.39 running on Intel x86_64 Sandy Bridge / Patsburg. Summary: GPIO setup for NMI routing, optimized NMI callback for fast system shutdown and saving DIMM content to onboard flash, custom fast access to PCI config space, framework and memory controller setup for accessing NVDIMM embedded controllers, isolated multi-vendor NVDIMM services, sysfs layer plus user library interface to major NVDIMM operations. Ported all NVDIMM services for newer generation DDR4 with Linux 4.1.12 running on Intel x86_64 Haswell / Wellsburg.

§ Developed an automated test suite to confirm NVDIMM save & restore operations between NVDIMMs and on-board flash, along with a config driven multi-threaded utility with optimized Intel AVX block R/W for testing cache-flush timing and NVDIMM performance.

§ Developed a multi-threaded binary replacement for all system startup scripts and the interpreting shell along with a mini-language and build-time translator, primarily designed for performance during regular boot and kexec.

§ Developed a third-generation auto-profiling service for Linux kernel and user processes with function-level tracking, selective sorting, and multi-format reporting.

§ Developed Solaris kernel services for a new storage product and memory-mapped ring-buffer services for shared user kernel access. Ported RAID product from ARM-11 mini-OS to x86 Linux 2.6.32; added parallel-build support, serial and network I/O, timers, and multi-threading framework; ported ARM assembly routines to x86_64 / SSE2; reworked GCC tool set and ported product to 64-bit.

§ Ongoing side-project: optimized several parts of the Pillar FS1 / FS2 distributed product build infrastructure. Developed a custom tracking library to profile the entire build workload, later eliminated wide-spread redundancies and many race conditions, replaced numerous serial tasks with regulated parallel support, added a fast parallel utility for gathering server workloads, new build-server selection services, and greater distributed concurrency. Combining all improvements: the total build times, server load averages, and total processes were all reduced by more than half.

ACCESS COMPANY, Sunnyvale 2009

Developed performance optimizations for embedded Linux software running on T.I. OMAP3430 hardware (Monolith). Developed custom profiling tools to add automated function tracking into generated ARM assembly; ported tool set for x86 assembly.

WIND RIVER, Alameda 2007 – 2008

§ Developed and ported W.R. Lab Diagnostics product to NetBSD on x86: ported Linux-based Sensorpoint library and utilities; developed LKM for writing Sensorpoints into kernel text and several thread handling methods to work with ptrace, libpthread and scheduler activations.

§ Developed system trap vectors handling kernel Sensorpoints for NetBSD running on PPC e500.

§ Ported Lab Diagnostics product to ENEA OSE running on PPC. Development tasks: complete Sensorpoint Coordinator plus a CLI to drive the product; system trap vectors to support full 4GB access to Sensorpoints; message-based services traded between components; Cygwin based front-end for the Sensorpoint Compiler; Makefiles and Green-Hills build environments for components and system releases; linker scripts and library isolation to eliminate 6x-8x excess for all components. Extensive work with Sensorpoint library startup and process handling; dual product development and support for OSE 4.4.3 and 4.6.1 revs. Regular project and technical interaction with primary end-customers.

3LEAF NETWORKS, Santa Clara 2006

Kernel development for 32- & 64-bit Red Hat / CentOS / SuSE Linux systems. Projects focused on a client/server virtual block driver using RDMA over Infiniband to support fast remote access to disks, loopback & ram devices, plus multipath support for beta releases.

UNM, Santa Clara 2004 – 2005

Developed TCP/IP kernel software for Red Hat Linux running on x86 machines and for PegOS running on PCI embedded hardware. Sustaining, standards compliance, and inter-OS communication for product beta release.

SUN MICROSYSTEMS, Mountain View & Menlo Park 1994 – 2003

3 Kernel development contracts over 9 years with Solaris 2.4 through 2.10:

Filesystems: Performance, data integrity, panic resolution in UFS, HSFS, tmpfs, specfs, pcfs.

General: Multi-threading, 32/64-bit porting and driver development, standards compliance, resolving deadlocks & panic conditions, plus security improvements. SPARC V9 ABI performance work with floating-point & integer register allocation.

Desktop/Volume Systems: Extensive development for OS save/restore services over several product releases. Much of the work involved system- & machine-dependent adaptation for a fast growing matrix of new hardware, firmware, subsystems & major kernel enhancements. Example projects: 32/64-bit support, complete standalone redesign, custom profiling, custom memory management & TLB handling, specialized prom interaction, and a wide range of enhancements designed to maximize performance & compatibility.

HEWLETT PACKARD, Cupertino 1993

Developed a multi-threaded disk driver for HP-UX 10.0 converged I/O subsystem and a translation layer for merging several disk layouts from workstation & server product lines.

ABBOTT DIAGNOSTICS, Milpitas 1993

Developed a loadable driver for a high-speed serial HDLC board on x86 machines running LynxOS 2.2.

VISUAL HARMONICS, Los Altos 1993

Developed a Photoshop plug-in to support a patented method of re-coloring digital images.

STEP ENGINEERING, Sunnyvale 1992

Developed a SBus loadable driver for a SPARC ICE running on SunOS 4.1.4.

UNISYS, San Jose 1991 – 1992

TCP/IP development and sustaining work for SVR4 UNIX running on x86 SMP machines. The larger performance project was developing a multi-threaded loadable streams module to replace network daemon I/O, and redesigning rlogin & telnet services. This combination supports a much larger client load and gained a top-ranking for TPC-A benchmarks.

MICRONICS, Fremont 1991

Added UNIX symbolic-link lookup & traversal to Micronics NFS for product release.

SOLARIX SYSTEMS, Fremont 1990 – 1991

SunOS 4.0.3 kernel porting and bringup on an MBus-based SPARCstation compatible machine with a reference SPARC chipset. Porting projects: SunMon boot prom; serial keyboard, ethernet, and graphic standalone drivers; UFS boot block & boot loader; kadb kernel debugger, and SunOS kernel.

OMNI SOLUTIONS, Mountain View 1989 – 1990

Worked in a UNIX kernel group developing a variable geometry, high-performance filesystem based on UFS for SUN servers. Performance projects: inode logging, data block pre-allocation & read-ahead, fast symbolic links. New feature development: virtual partition driver supporting much larger filesystems and dynamic resizing. Also developed several filesystem utilities, and ported all services to newer SunOS releases; product release & support.

ATHERTON TECHNOLOGIES, Sunnyvale 1989

Redesigned remote backup utilities and internal ethernet for Unix and network security.

TOLERANT SYSTEMS, San Jose 1988 – 1989

Worked in a UNIX kernel group developing a multi-processor, distributed OS based on 4.2 BSD. General kernel projects: developing & extending process management and protection, signal handling, shared memory, multiplexed IPC, and an extent-based filesystem. Porting projects: 4.3-tahoe TCP/IP, network daemons, utilities & libraries.

INFORMIX SOFTWARE, Menlo Park 1985 – 1988

Network and admin utility development and porting on several versions of UNIX running on SUN, AT&T, DEC, Plexus, and SGI hardware. Development projects: porting standard UNIX utilities between System V and BSD variants, system performance and resource monitoring tools. Initial contract work: OS installation & upgrades, plus implementing corporate dialup, local ethernet, and X.25 networks.



Contact this candidate