icache的一点疑问

10 views
Skip to first unread message

杨江华

unread,
Aug 4, 2013, 6:44:18 AM8/4/13
to clo...@googlegroups.com, harry...@gmail.com, kangh...@gmail.com
Hello all,
先自我介绍,我叫杨江华,毕业于南邮,目前从事文件系统开发的相关工作。
这2天接触到hlfs, 阅读了icache相关的API,有一些疑问。希望可以得到回复。
在cache api---> icache_insert_iblock()
代码:
  HLOG_DEBUG("--update exist iblock--");
  memcpy(_iblock->iblock, iblock_buf, icache_ctrl->iblock_size); 
.对已存在的block的内存更新在icache_ctrl->icache_mutex锁的保护之外,
而我又发现api --->  int icache_query_iblock(),
代码:
g_assert(iblock_no == iblock->iblock_no);
 memcpy(iblock_buf, iblock->iblock, icache_ctrl->iblock_size);
 icache_ctrl->icache_hit++;
获取iblock_no的内存值也在锁之外,这2处在SMP环境下,会出现cache
不一致性。请考虑。如果我的思考有问题,请指正。
 
Reply all
Reply to author
Forward
0 new messages