This event has ended. Create your own event → Check it out
This event has ended. Create your own
Don’t miss this great event - register now! 
View analytic
Friday, August 26 • 12:00pm - 12:45pm
Atomic.h weapons: The C11 Memory Model and QEMU - Paolo Bonzini, Red Hat

Sign up or log in to save this to your schedule and see who's attending!

C gained its popularity because of its flexibility and the ability to function as a "high-level assembler". However, due to the growing complexity of programming both languages and code bases, compiler writers need to extract more and more information from the source code, causing behavior that the programmer did not expect---the dreaded "undefined behavior".

This is even more true for multithreaded programs. As soon as the comfort of pthread APIs is left, compiler writers and users must speak a common language (a "memory model") in order to express the semantics of a multithreaded program. In this talk I will explain: some key concepts of the C11 memory model; how they form the basic API in QEMU's "atomic.h" header file; how a subset of C11 atomics was chosen, and how it might grow in the future; how a theoretical understanding of the model makes code easier to write and understand.

avatar for Paolo Bonzini

Paolo Bonzini

Sr. Software Engineer, Principal Software Engineer
Paolo Bonzini works on virtualization for Red Hat, where he is a Senior Principal Software Engineer. He is currently the maintainer of the KVM hypervisor and a contributor and submaintainer for QEMU.

Friday August 26, 2016 12:00pm - 12:45pm
Harbour A

Attendees (13)