- 论坛徽章:
- 0
|
原帖由 塑料袋 于 2006-12-23 00:09 发表
1)你想说什么?并发不并发到底是另一个问题?还是以前count++和--之间状态不变的依据?
你迷惑的地方不就是并发吗?并且你确时对并发也不了解,我前面已经抓拍了.呵呵......我早就提醒你要想好了再说.但你不听啊.iput释放自旋锁后,唯一的并发可能就是多CPU有可能会在同步inode时存在并发,但只有一个CPU会真正进入到__sync_one()函数中,随后想进入的CPU会因为dirty位的清除而避免.原因就是__sync_one()是带锁进入的,谁获得了inode_lock谁就可以进入__sync_one(),在清空掉dirty位后会释放inode_lock,即使其它CPU此时等到了inode_lock,但因为dirty被清掉也就不会再次进入__syn_one()函数.这么经典的互斥你确一点都看不出来,但不知道你现在体会到了没有!!我一直都在解释count++和--之间状态不变的原因,看你的问题2
再次抓拍,少有的经典白痴言论!
我的流程走到这里的时候i_count都为零了,ms_active位也清了,你怎么可能还通过一个dentry直接获得这个inode?
[ 本帖最后由 secworld 于 2006-12-24 16:22 编辑 ] |
|