sparse is a semantic parser for C, and is one of the static analysis tools avaliable to kernel devs.
Sparse is a powerful tool with good integration into the kernel build system. However, we suffer from warning overload - there are too many sparse warnings to spot the serious issues amongst the trivial. This makes it difficult to use, both for developers and maintainers.
In hopes of making sparse more useful, I've been slowly chipping away at the sparse warnings in
arch/powerpc over the last year.
This talk covers: * my experience doing this - what I've learned about the kernel and sparse * some stats and pretty pictures about the state of sparse warnings * where to from here - how to make sparse a useful part of the kernel dev workflow * tooling to make sparse more useful - assuming I manage to get it written before the talk!
Are you interested in kernel development and not sure where or how to start? This talk will cover how fixing sparse warnings can be used as a path into kernel development.
Daniel is an OpenPOWER performance engineer at IBM OzLabs. He works with containers, continuous integration, and performance optimisation - often all at the same time! He has a particular focus on the challenges of interpreted language behaviour and performance, as well as a growing interest in developing scalable continuous integration systems for the Power architecture.
He has also worked as a Linux kernel developer, where he worked on kernel support for IBM CAPI accelerator cards.
Before joining IBM he studied Engineering at ANU, and worked in web development. He also dabbled in embedded systems.
When not in front of a screen of some description, he enjoys walking around Canberra and spending time with his wife.