linux内核API
-
同步机制 – Linux内核API read_seqretry
函数read_seqretry():读者在访问完被顺序锁s1保护的共享资源后需要调用该函数来检查,在读访问期间是否有写者访问了该共享资源,该检查是通过判断当前顺序锁…… -
同步机制 – Linux内核API read_seqbegin
函数read_seqbegin():读者访问共享资源前需要调用该函数,该函数实际并没有进行获得和释放锁的操作,它只是返回顺序锁sl的当前顺序号。如果顺序锁sl正被某一…… -
同步机制 – Linux内核API init_rwsem
宏init_rwsem()的功能是初始化读写信号量,将信号量的count字段设置为0, wait_lock自旋锁设置为未锁,将等待进程的链表wait_list置为空链表。关于读写信号量…… -
同步机制 – Linux内核API downgrade_write
函数downgrade_write()函数用来将写者降级为读者,这在有些情况下是很必要的。因为写者是排他性的,在写者保持读写信号量期间,其他任何读者或写者都不能获得…… -
同步机制 – Linux内核API down_write_trylock
函数down_write_trylock()是写者用来尝试得到读写信号量sem时调用的,它与down_write()的功能类似,只是它不会导致调用者睡眠,即调用该函数的进程在不能获取…… -
同步机制 – Linux内核API down_write
函数down_write()是写者用来得到读写信号量sem时调用的,如果该信号量被读者或写者所持有,则对该函数的调用会导致调用者的睡眠。 down_write文件包含 #inclu…… -
同步机制 – Linux内核API down_trylock
down_trylock()函数尝试原子地获取信号量sem,成功或不成功获取信号量,函数都将立即返回,而down()函数在不能成功获取时将进入睡眠状态而一直等待下去。函数…… -
同步机制 – Linux内核API down_timeout
down_timeout()函数的功能是在指定的时间timeout内获取信号量sem,成功获取信号量后,sem的计数器的值将减1。如果超时还未获取信号量则返回,不会继续等待下…… -
同步机制 – Linux内核API down_read_trylock
函数down_read_trylock()是读者用来尝试得到读写信号量sem时调用的,它与down_read()的功能类似,只是它不会导致调用者睡眠,即调用该函数的进程在不能获取信…… -
同步机制 – Linux内核API down_read
函数down_read()是读者用来得到读写信号量sem时调用的,如果该信号量在被写者所持有,则对该函数的调用会导致调用者的睡眠。通过该操作,多个读者可以获得读…… -
同步机制 – Linux内核API down_killable
down_killable()函数用来获取信号量,将信号量sem的计数器值减1,但它是可被致命信号杀死的,这一点与down()函数不同,down()不能被任何信号打断,也与down_i…… -
同步机制 – Linux内核API down_interruptible
down_interruptible()函数用来获取信号量,将信号量sem的计数器值减1,但它是可被信号中断的,这一点与down()函数不同。当有另外的内核控制路径给这个因为竞…… -
同步机制 – Linux内核API down
down()函数的功能是获取信号量,成功后信号量计数器将减1。由于获取不成功时,进程将进入睡眠状态而一直等待下去,因此一般不使用该函数,多数情况下使用down…… -
同步机制 – Linux内核API atomic_sub_return
函数atomic_sub_return()的功能是将原子类型的变量v的值原子地减去i,并返回减去i后的v的值。 atomic_sub_return文件包含 #include <asm/atomic.h> at…… -
同步机制 – Linux内核API atomic_sub_and_test
函数atomic_sub_and_test()的功能是将原子类型的变量v的值减去i,并判断其结果是否为0。 atomic_sub_and_test文件包含 #include <asm/atomic.h> atomi…… -
同步机制 – Linux内核API atomic_sub
函数atomic_sub()的功能是将原子类型的变量v的值原子地减少i。 atomic_sub文件包含 #include <asm/atomic.h> atomic_sub函数定义 在内核源码中的位置…… -
同步机制 – Linux内核API atomic_set
函数atomic_set()的功能是将原子类型的变量v的值设置为i atomic_set文件包含 #include <asm/atomic.h> atomic_set函数定义 在内核源码中的位置:linux…… -
同步机制 – Linux内核API atomic_read
函数atomic_read()的功能是对原子类型的变量v进行原子读操作,得到其值。 atomic_read文件包含 #include <asm/atomic.h> atomic_read函数定义 在内核…… -
同步机制 – Linux内核API atomic_inc_and_test
函数atomic_inc_and_test()的功能是将原子类型的变量v的值原子地增加1,并判断执行该操作后v的值是否为0。 atomic_inc_and_test文件包含 #include <asm/at…… -
同步机制 – Linux内核API atomic_inc
函数atomic_inc()的功能是将原子类型的变量v的值原子地递增1。 atomic_inc文件包含 #include <asm/atomic.h> atomic_inc函数定义 在内核源码中的位置…… -
同步机制 – Linux内核API atomic_dec_and_test
函数atomic_dec_and_test()的功能是将原子类型的变量v的值原子地递减1,并判断执行该操作后v的值是否为0。 atomic_dec_and_test文件包含 #include <asm/at…… -
同步机制 – Linux内核API atomic_dec
函数atomic_dec()的功能是将原子类型的变量v的值原子地递减1。 atomic_dec文件包含 #include <asm/atomic.h> atomic_dec函数定义 在内核源码中的位置…… -
同步机制 – Linux内核API atomic_cmpxchg
函数atomic_cmpxchg()的功能是首先将old与v所在的内存中的值相比较,如果相等,则将new存到v所表示的地址单元中,如果不相等,则该地址单元中的值不改变。 at…… -
同步机制 – Linux内核API atomic_add_unless
函数atomic_add_unless()通过调用函数__atomic_add_unless()实现其功能。在原子类型的变量v的值不为u的时候将整型值a加到v上,如果起初v的值即与u相等,则v将…… -
同步机制 – Linux内核API atomic_add_return
函数atomic_add_return()的功能是将原子类型的变量v的值原子地增加i,并返回增加i后的v的值。 atomic_add_return文件包含 #include <asm/atomic.h> at……