Linux Foundation - English  Linux Foundation - Japanese  LINUXFOUNDATION.ORG | LINUX.COM | TRAINING | VIDEO Login LOGIN  Sign Up SIGN UP
Events Home

Platinum Sponsors
Hitachi LogoIBM LogoIntel LogoNEC Logo

Gold Sponsors
CE Linux Forum LogoFujitsu LogoHP LogoNovell Logo

Silver Sponsors
NTT Data LogoVA Linux Japan

Bronze Sponsors
Grape Systems LogoMiracle Linux LogoMontaVista LogoRenesas Logo

For information on sponsorship or exhibition opportunities at the Japan Linux Symposium, please contact Angela Brown at angela (at) linuxfoundation dot org.



Register for Japan Linux Symposium
Home  |   Slides  |   Sessions  |   Schedule  |   Sponsors  |   Hotel & Travel  |   FAQ

Not So C Constructs in the Linux KernelĀ 

Tejun Heo, Novell

Being a giant C program, the kernel has developed a lot of interesting programming constructs which isn't quite C. In some of them black magics including macros, assembly and linker play important roles such as in user memory access exception table and percpu variable access. In others, concepts are borrowed from high level languages but the application and implementation are often extensively compromised depending on the balance between the usefulness of the feature and implementation complexity. Examples of this type of constructs include try-catch blocks in user memory access, libata method inheritance and garbage collection via devres. This presentation takes a look at each of these constructs and show how they are designed and why.

The target audience is software engineers who are proficient in C but not higly experienced with the kernel and they can expect to learn about each construct and the general theme behind them.