Senior Software Designer
Ottawa, Canada Area
- Designed and maintained software for Linux kernel as part of the Nortel Carrier Grade Linux group for multiple blades (Intel x86, ARM, PowerPC, MIPS processors) and Open Source environments- Responsible for the development and maintenance of kernel device drivers such as persistent memory for kernel crash dumps and logs, watchdog timers, fault detection and handling (EDAC) for processor, memory, and PCI faults.- Debugged numerous kernel issues in Linux 2.6.x series kernels in areas such as SCTP and TIPC protocols, RAID1, XFS. Often, this required the use of various assemblers (x86, PPC32, PPC64, ARM v7, MIPS64)- Led a Mumbai-based team of contract developers to triage, diagnose, and resolve kernel issues from customers.- Delivered carrier-grade linux and HA-middleware training to external customers- Lead designer and maintainer of VxWorks-based bootrom software for custom MIPS (Broadcom SB1250) and PowerPC boards.- Implemented bootrom support for Compactflash and USB Mass Storage devices (OHCI and EHCI) to be used as boot devices for the router payload images.- Spearheaded the development of a release-management process for bootrom loads including strict versioning of releases as well as vaulting and tracking of all released loads.- Integrated bootrom and payload software loads into engineering change orders (ECOs) delivered to manufacturing. Worked closely with manufacturing teams to ensure validation of bootrom and payload software prior to customer ship.- Extended the existing class-based process scheduler of the proprietary SOS operating system from a single processor system to a shared-memory multiprocessor system.- Implemented and maintained mutual exclusion mechanisms, collision-detection and arbitration mechanisms for concurrent transactions operating on shared memory.- Exploited cache-control features of the PowerPC 604e and PowerPC 7400 to increase performance and reduce latency in an RTOS.