- 博客(29)
- 资源 (8)
- 收藏
- 关注
原创 Xen 4.x + Linux 3.x
咳咳,linux 3.x作为driver domain,一定要把memory support开到64GB,也就是打开PAE,不然没法做Dom0的
2012-02-01 00:40:00
2347
原创 Xen 4.1.2 + Linux 3.1.6
花了两天时间,终于搞定Xen 4.1.2 + Linux 3.1.6 (both dom0 and domU),真是麻烦啊。。有时间贴tutorial。不过貌似这种tutorial等新新版本的发布后就成为垃圾了。。不过说真的,解决问题的能力才是最重要的,这样版本咋变都不怕
2012-01-05 15:13:52
2269
转载 通过对i8042 键盘控制器编程控制鼠标
转自: http://hi.baidu.com/g_d_h/blog/item/786823ce663af93fb700c816.htmlPS/2协议其实支持两种设备,一种是键盘,一种是鼠标,它是由IBM公司制定的,协议的本身定义了键盘与鼠标同主机进行通迅的规则,
2011-08-13 14:39:39
5992
转载 Linux内核抢占-2
转自: http://www.shangshuwu.cn/index.php/Linux%E5%86%85%E6%A0%B8%E6%8A%A2%E5%8D%A0%E6%9C%BA%E5%88%B6(preempt)Linux内核抢占机制(preempt)
2011-08-11 00:22:44
2216
转载 Linux内核抢占-1
转自: http://blog.youkuaiyun.com/sailor_8318/article/details/2870184Linux内核抢占实现机制分析 1 内核抢占概述2.6新的可抢占式内核是指内核抢占,即当进程位于内核空间时,有一个更高优
2011-08-11 00:19:46
3473
原创 Xen PV Guest interrupt
当在PV Guest里运行cat /proc/interrupts查看中断设置情况是,会发现中断号不是从0开始的,而是从256开始的。典型的如下: CPU0 256: 111925 Dynamic-irq timer0 (VM只有一个VCPU,若是SMP-VM,则有timer1, timer2, ...)257: 0 Dynamic-irq resched0258: 0 Dynamic-ir
2011-05-12 00:02:00
3338
原创 Xen的PV Guest如何wake up
问题:一个PV guest如果一直block,当其内部有任务需要运行的时候,如果让VMM知道呢?Xen的PV guest想要wake up,一定要通过外部事件。比如,当有network request进来的时候,Xen VMM会给guest传递event,类似于virtual IRQ。当PV guest由于内部无任务运行的时候,它会运行idle process,被改写过的idle process通过hypercall调用SCHED_block达到释放CPU的目的。可是,何时能再得到CPU的运行权呢?看str
2011-05-10 21:26:00
2941
原创 Xen的idle domain到底在干啥
Xen的4.xxx之后,引入了tasklet的概念,以下以Xen-4.10为具体例子,分析Xen如何进入idle domain的:raise_softirq(SCHEDULE_SOFTIRQ) |schedule(void) | // 注意,如果next是Idle domain的话,原来的sched timer是不被set的...坏了...context_switch(prev, next); // 这里的ne
2011-05-10 12:37:00
3027
转载 Google 经验
<br /><br />一些经验和数据:<br />1-5% of your disk drives will die<br />Servers will crash at least twice (2-4% failure rate)<br />一些每个人都应该知道的数据:<br />L1 cache reference 0.5 ns<br />Branch mispredict 5 ns<br />L2 cache reference 7 ns<br />Mutex lock/unlock 25 ns<
2011-01-29 06:14:00
2245
转载 /var/lock/subsys目录的作用
<br /><br />很多程序需要判断是否当前已经有一个实例在运行,这个目录就是让程序判断是否有实例运行的标志,比如说xinetd,如果存在这个文件,表示已经有xinetd在运行了,否则就是没有,当然程序里面还要有相应的判断措施来真正确定是否有实例在运行。通常与该目录配套的还有/var/run目录,用来存放对应实例的PID,如果你写脚本的话,会发现这2个目录结合起来可以很方便的判断出许多服务是否在运行,运行的相关信息等等。<br /> <br />实际上,判断是否上锁就是判断这个文件,所以文件存在与否也就
2011-01-22 07:36:00
2873
原创 How does Xen's Guest Domain wake up..?
叫醒Guest Domain,别总睡啦,Xen喊你干活啦!!void vcpu_unblock(struct vcpu *v){if ( !test_and_clear_bit(_VPF_blocked, &v->pause_flags) )return;/* Polling period ends when a VCPU is unblocked. */if ( unlikely(v->poll_evtchn != 0) ) {v->poll_evtchn = 0;/** We *must* re-cle
2010-12-29 23:03:00
2509
原创 Xen Guest Domain中的Idle Process
在traditional operating system中,有一个Idle Process:当OS里面没有任何task的时候,就靠Idle Process来空转CPU在virtualization的环境下,如果还这么“空转”,显然是对CPU cycles的一种浪费。很自然的想法:当Guest Domain不需要CPU的时候,自动让出CPU给其他domain使用。这也是work-conserving的一种methodology。Xen对Guest Domain里的Idle Process进行了改写,调用hy
2010-12-29 20:54:00
2775
原创 Xen Disk I/O: from guest domain to real devices
static struct block_device_operations xlvbd_block_fops ={.owner = THIS_MODULE,.open = blkif_open,.release = blkif_release,.ioctl = blkif_ioctl,.getgeo = blkif_getgeo};
2010-12-29 12:27:00
2690
原创 给domain传递新参数
<br />在create domain的时候,给domain传递一个新的参数,由vm config file中指定<br />初步成功,稍后奉上详细细节:)
2010-12-29 10:09:00
2193
原创 Upgrade CentOS 5 x86_64 Xen
<br />cd /etc/yum.repos.d/<br />wget http://www.gitco.de/repo/GITCO-XEN3.4.2_x86_64.repo<br /> <br /> <br />yum groupremove Virtualization<br />yum groupinstall Virtualization<br /> <br />
2010-12-28 09:07:00
2089
转载 Xen的domain0无法启动xorg的问题
<br />http://lists.xensource.com/archives/html/xen-users/2008-09/msg00379.htmlI solved this problem. It was the problem of xorg.conf.The orginal file of xorg.conf is:------Section "Device"<br /> Identifier "Videocard0"<br /> Driver "Intel"<br />E
2010-12-28 09:00:00
2545
转载 Xen 4.0安装 (收集)
http://www.vpsee.com/2010/04/install-xen-on-centos-from-source/http://hi.baidu.com/%B0%B5%D4%C2%C1%F7%B9%E2/blog/item/684ccf95fff60113d21b70d2.htmlCONFIG_SYSFS_DEPRECATED_V2 改成CONFIG_SYSFS_DEPRECATED_V2=y
2010-12-28 08:53:00
3693
转载 centos 5 源码安装 xen 3.4.2
http://hi.baidu.com/%B7%E3%BE%ED%B2%D0%D4%CF/blog/item/06032797f8b7796155fb96c0.html(转帖+修改)1 下载源码包,解压[root@localhost source]# tar zxf xen-3.4.2.tar.gz [root@localhost source]# tar zxf linux-2.6.18-xen-3.4.2.tar.gz 2 把对应的linux内核源码包放到xen的目录下,改成linux-2.6.18
2010-12-28 08:47:00
3058
转载 Scheduling for I/O
http://hi.baidu.com/%B0%B5%D4%C2%C1%F7%B9%E2/blog/item/deaabad20614cdd2a9ec9adf.html(没来得及仔细研究呢,貌似很attractive,呵呵)所谓的Gang schedule是用在高性能计算里面的,不很适合普通的应用。现在xen里面的credit调度算法,每个物理cpu对应一个运行队列(runq),runq之间没有什么关系。当一个物理cpu上的运行队列为空时,会执行负载均衡算法(load balance)从另外一个队列中“偷”
2010-12-28 08:31:00
3077
转载 xen中外部中断处理分析
http://hi.baidu.com/%B0%B5%D4%C2%C1%F7%B9%E2/blog/item/995e9c2bdfdf5696023bf60a.html一个search代码的好命令:grep "common_interrupt" . -nR说明:自己所用系统为xen3.4 x86-64简略笔记:XEN1.xen中断处理的公共入口为common_interrupt2.common_interrupt中对中断现场进行保存之后,调用do_IRQ函数具体对中断进行处理。do_IRQ函数返回后调用中断
2010-12-28 08:28:00
2016
转载 VMM CPU Scheduling in Xen
http://hi.baidu.com/%B0%B5%D4%C2%C1%F7%B9%E2/blog/item/0f68f850e5af7215377abe5d.html(有时间我会给原版打个patch,让其更完整:)1、SCHEDULE_SOFTIRQ这个软中断用于触发调度器的执行。在调度器初始化的时候初始化,中断服务例程是调度函数schedule。代码:935 /* Initialise the data structures. */936 void __init scheduler_init(void)
2010-12-28 08:27:00
1328
转载 xentrace使用教程
<br />http://hi.baidu.com/%B0%B5%D4%C2%C1%F7%B9%E2/blog/item/f33968a5463648fa9052eef3.html<br /> <br />(非常不错的文章)<br /> <br />介绍:<br /><br />NAME <br />xentrace - capture Xen trace buffer data<br /><br />SYNOPSIS <br />xentrace [ OPTIONS ] [ FILE ]<br /><br
2010-12-28 08:24:00
1767
转载 event-channel代码分析
http://hi.baidu.com/%B0%B5%D4%C2%C1%F7%B9%E2/blog/item/1bf581167edaa605c83d6d01.html(记住,event就相当于硬件的interrupt)event-channel初始化/xen/common/event_channel.c1018 int evtchn_init(struct domain *d)1019 {1020 spin_lock_init(&d->event_lock);1021 if ( get_f
2010-12-28 08:22:00
1743
转载 半虚拟化下网络数据包的处理过程
http://hi.baidu.com/%B0%B5%D4%C2%C1%F7%B9%E2/blog/item/2c21d0231c03dbffd7cae2eb.html(Note: 先要理解Xen的split driver model,之后再看这篇文章)(1)网络设备后端代码分析linux中网络数据包处理流程:R3 应用程序数据包发送~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~. TCP/IP协议栈处理. vR0
2010-12-28 08:19:00
1714
转载 xen串口调试配置(双机)
<br />http://hi.baidu.com/%B0%B5%D4%C2%C1%F7%B9%E2/blog/item/057202918eb3e086a877a455.html<br /> <br />(原来一直用SecureCRT,对PuTTY不太感冒,读过这篇文章,试下PuTTY居然很爽)<br /> <br />我们在启动xen的时候,刚开始的输出都是直接输出到屏幕上,但是domain0启动之后xen里面调试信息的输出就看不到了(应该是为了防止domain0的输出和xen中的输出混杂着吧),但是我
2010-12-28 08:15:00
1415
转载 Comparison of the Three CPU Schedulers in Xen
http://hi.baidu.com/ctgu_xujie/blog/item/af5b67d4b61d3f2306088b26.htmlNote: Mostly From the paper: Comparison of the Three CPU Schedulers in XenXen的CPU调度算法主要有3种,BVT(borrowed virtual time)调度算法、SEDF(simple earliest deadline first)调度算法、以及Credit调度算法。一、BVT调度算法
2010-12-28 07:54:00
700
原创 Xen Domain的创建过程
Trace Source code: Xen-3.4.2xm create vm-config-fileFrom: xen-3.4.2/tools/python/xxx(1) main.py(2) create.py(3) XendDomain.pydomain_create(4) XendDomainInfo.py: createvm.startXenDomainInfo.constructDomain(5) lowlevel/xc/xc.cpyxc_domain_create(6) libxc/xc_d
2010-12-28 07:40:00
1117
转载 动态修改Xen netback 的rate limit
http://blog.youkuaiyun.com/wanjia19870902/archive/2010/10/26/5967467.aspx接着昨天的写,由于detach,attach,重新建立后端和前端握手,对于Linux来说无所谓,windows的话,有点问题。所以采用第二种方法,register xenwatch,callback里面去重新read rate limit。废话少说,直接贴代码。--- ../dom0_kernel_netback_rate/drivers/xen/netback/xenbus
2010-12-28 07:13:00
1210
1
Cloud Computing:Implementation, Management, and Security
2010-01-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人