2017年7月16日

摘要: 1. 首先传到vfs的do_sys_open,在open.c中。 long do_sys_open(int dfd, const char __user *filename, int flags, umode_t mode) 此时,我们只知道open传递过来的一些参数,比如filename,open 阅读全文
posted @ 2017-07-16 11:28 longbigfish 阅读(617) 评论(0) 推荐(0)

2017年7月9日

摘要: 假设现在我们有100个数据项可以读写。有若干个线程,任何一个线程可能对任何一个数据项尽心读写。 但是,如果不同的线程在对同一个数据项进行读写,就可能发生错误。需要使用lock进行控制。 比如线程x要对数据项50进行写,那么首先他获取一个锁,如果获取不到则等待,获取到后,进行操作,然后释放锁。 这个锁 阅读全文
posted @ 2017-07-09 14:28 longbigfish 阅读(291) 评论(0) 推荐(0)

2017年5月21日

摘要: db/Keyspace.java 中的 apply 函数 中的 commitLogPosition = CommitLog.instance.add(mutation); 这一句确认是写log的代码。注销掉这一句,就不会产生log文件,空写时的吞吐率能够到达到几百K qps。 阅读全文
posted @ 2017-05-21 20:45 longbigfish 阅读(128) 评论(0) 推荐(0)

2017年5月13日

摘要: 1. driver和module的区别 https://unix.stackexchange.com/questions/47208/what-is-the-difference-between-kernel-drivers-and-kernel-modules 大体上可以这样认为,他们都是运行在k 阅读全文
posted @ 2017-05-13 11:26 longbigfish 阅读(369) 评论(0) 推荐(0)

2017年5月8日

摘要: 1. 在fuse/lib/fuse_kern_chan.c中有一个buffer设置 #define MIN_BUFSIZE 0x21000 //十进制132×1024 //为何不是128? 下面有一句 size_t bufsize = getpagesize() + 0x1000; 看来这多出来的  阅读全文
posted @ 2017-05-08 09:16 longbigfish 阅读(672) 评论(0) 推荐(0)

2017年4月28日

摘要: 1. 确定forward开启 # cat /proc/sys/net/ipv4/ip_forward1 2. 转发进来的包 iptables -t nat -A PREROUTING -d 111.111.111.111 -p tcp -m tcp --dport 16922 -j DNAT --t 阅读全文
posted @ 2017-04-28 22:20 longbigfish 阅读(237) 评论(0) 推荐(0)

2017年4月26日

摘要: (一) receive最终在fuse_kern_chan.c中的fuse_kern_chan_receive函数实现,使用系统调用读取 res = read(fuse_chan_fd(ch), buf, size); 其中fuse_chan_fd(ch)就是/dev/fuse, buf和size在f 阅读全文
posted @ 2017-04-26 22:18 longbigfish 阅读(391) 评论(0) 推荐(0)

2017年4月25日

摘要: fuse_loop_mt.c 中fuse_do_work函数使用while循环在后台不断运行,每一个while循环中,主要有两个操作。 1. fuse_session_receive_buf(mt->se, &fbuf, &ch); fuse_session.c 2. fuse_session_pr 阅读全文
posted @ 2017-04-25 19:43 longbigfish 阅读(333) 评论(0) 推荐(0)
摘要: 从helper.c中的fuse_main_common函数开始 fuse_main_common-> fuse_loop_mt(struct fuse *f) -> fuse_mt.c fuse_session_loop_mt(struct fuse_session *se) -> fuse_loo 阅读全文
posted @ 2017-04-25 16:10 longbigfish 阅读(320) 评论(0) 推荐(0)

2017年4月24日

摘要: (一) 参考 :https://unix.stackexchange.com/questions/18166/what-are-session-leaders-in-ps 命令: ps xao pid,ppid,pgid,sid,comm 显示所有ID,添加uid可以显示user id 或者名令:p 阅读全文
posted @ 2017-04-24 22:34 longbigfish 阅读(390) 评论(0) 推荐(0)

导航