天天看點

Linux likely和unlikely的使用

一、源代碼

#include <linux/init.h>

#include <linux/module.h>

static int __init hello_init(void)

{

    int a = 10;

    int b = 6;

    printk(KERN_INFO "hello_init.\n");    

    if(likely(a > b))

        printk(KERN_INFO "a > b\n");

    printk(KERN_INFO "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

    if(unlikely(a > b))

        printk(KERN_INFO "a > b\n");

    return 0;    

}

static void __exit hello_exit(void)

{

    printk(KERN_INFO "hello_exit.\n");    

}

module_init(hello_init);

module_exit(hello_exit);

MODULE_LICENSE("GPL");

二、Makefile

PWD := $(shell pwd)

KERN_VER = $(shell uname -r)

KERN_DIR = /lib/modules/$(KERN_VER)/build    

繼續閱讀