linux
文章平均质量分 76
wanjia19870902
cloud computing
展开
-
sysbench压测directio+fsync时的问题
准备release一个新版本的kernel, 里面收了一些优化的patch和bugfix, 在regression 的时候,在dom0上用sysbench压测磁盘IO, 在多台VM上用ltp压测networkstress时,出现了kernel panic的问题,加一些warning的日志,由于几个corruption都在ext4_end_io_dio的地方,基本上可以定位到里面的list_add_tail有问题,大致有两处list_del_init的地方,一个在work func(ext4_end_aio原创 2013-07-17 21:53:18 · 2566 阅读 · 1 评论 -
pv ticketlock解决虚拟环境下的spinlock问题
spinlock在非虚拟化的环境下,它是可以认为cpu不会被抢占的,所以A拿锁干活,B死等A,A干完自己的活,就释放了,中间不会被调度。但是在虚拟化下,cpu对应到vcpu, 每个vcpu跟之前裸机上的进程调度一样,所以A拿锁干活,并不一定不会被抢占,很有可能被调度走了,因为cpu这时候还不知道vcpu在干嘛。B死等A,但是A被调度了,运行了C,C也要死等A, 在一些设计不够好的系统里面,这样就会变得很糟糕。原创 2013-09-15 20:55:09 · 2375 阅读 · 1 评论 -
xen中dom0的cpu hotplug问题
之前在grub里面配置了一些参数,导致机器后续不能动态滴做一些调整,后续为了更好滴可扩展,打算试试cpu的hotplug功能。写了个简单的hotplug脚本,就echo 0 > /sys/device/system/cpu/cpu9/online 这类的, 一跑机器就hang住了,message里面有一些错误信息,诸如:ERROR: domain->groups does not contai原创 2013-07-23 16:06:59 · 2026 阅读 · 0 评论 -
dom0的cpu hotplug【续】
上一篇说到,手动xm vcpu-pin住,在hotplug就好了。本质上,还是因为代码有bug,导致vcpu offline的时候,信息没有清理干净,有残留,当vcpu online的时候,如果调度到不是它之前的pcpu上,重建关系的时候就会出错。还说明了一个问题,如果dom0的vcpu的affinity没有pin住到最开始的pcpu上,那么hotplug后,pcpu可能变原创 2013-12-12 23:27:14 · 1488 阅读 · 0 评论 -
xen credit scheduler and policy
最近在研究xen的vcpu 调度和cpu qos策略,现在默认的scheduler是credit, 对应的代码是sched_credit.cxen支持好几种控制策略,效果最好的当选pin, 灵活性最好的是weight, 控制和灵活兼备的就是cap,据说人家amazon在06年推ecu的时候就是用了类似的技术。pin的实现比较好了解,也就是set affinity,个人对cap,weight原创 2013-12-13 00:30:16 · 2912 阅读 · 0 评论 -
real-time scheduler in xen--sedf
大致看完scheduler_credit的代码后,开始想了解下其他的scheduler的实现,新的scheduler有credit2,老一点的有sedf, bvt之类。由于scheduler_sedf在3.0之后一直都存在代码中,就先来看看sedf吧。sedf--simple earliest deadline first, 从名字上来看类似于io scheduler里面的deadli原创 2013-12-17 14:31:39 · 1693 阅读 · 0 评论 -
opencontrail学习(一)
从某位大牛的微博上看到了对opencontrail的评价,引起了我的兴趣,点开有人为其翻译的中文文档学习了下,把之前一些零碎的东西,比较系统性地串起来了,感觉很爽,所以决定把src下下来八一八。下载了contrail-vrouter的代码,因为刚好在做底层类似的东西,可以对比学习下原创 2015-02-02 00:33:55 · 4393 阅读 · 0 评论