Question: what is asm linkage in linux kernel code? 

Answer: asmlinkage tells the compiler to put call arguments on the stack instead of in registers (which is what kernel sys calls expect). This is done to disable optimizations done by some compilers that could mess things up.
This question from the Yahoo Q&A forum is categorized in the topic: Computers & Internet