asmlinkageについて

パッケージスケジューラの実装である
kernel/sched.hにおいて

2941 /*
2942  * schedule() is the main scheduler function.
2943  */
2944 asmlinkage void __sched schedule(void)
2945 {
2946         long *switch_count;

先頭についているasmlinkageって何なの?って気になった。

以下のところに書いてあった。
http://search.luky.org/fol.1998/msg08529.html
http://d.hatena.ne.jp/hyoshiok/20060320#p1

"asmlinkage" という単語そのものには
実行コードに影響を与えるような意味は無いと思われます。

ただ、どうも見ているとアセンブラコードからリンクされている (または
呼び出されている) 関数にこの単語がつけられている例が多いようなので
開発者 (あるいは保守担当者) がコードを読む際に、
「この関数はアセンブラコードからリンクされている」ということが
すぐにわかるようにする、という意味でつけられているのではないかと
思います。

http://www.nk.rim.or.jp/~jun/lxasm/asm04.html

この辺をちゃんと読めば、理解が深まりそう。マジでもう眠い。。