Aiur – ZelluX 的技术博客

Security, Kernel, Virtualization, Programming Languages

2009-02-19 Notes

119 views | with one comment

今天下午真是惊悚,我想把机房的winxp分区删了,ftp上好放点美剧,结果winxp的那个分区是扩展分区,删掉后导致linux的几个分区都消失了。赶紧把硬盘拆下来装到实验室用Disk Genius修复了下,数据基本没什么损坏,分区表还是有点问题。差一点俺就见不到这个博客了 =_=

然后把昨天折腾了一晚上没搞定的debian 4安装搞定了,关键在于netinst.iso的版本号要和hd-media的完全一致,4.0r7。

1. 编译xen/linux所需的包
apt-get install gettext zlib1g-dev python-dev libncurses-dev libssl-dev libx11-dev bridge-utils iproute gawk

另外 initrd文件的生成需要安装initrd-tools包

2. kernel中memory barrier的实现很简单,barrier宏展开后就是
asm volatile(“” : : : “memory”)
这样就保证了在barrier()执行后,cpu不会直接读取寄存器中cache的内存值。

3. 生成initrd
mkinitramfs -o /boot/initrd-2.6.18.8-xen.img 2.6.18.8-xen

4. syscall和m2_fastcall的性能测试
测的是getpid()函数,当然为了保证m2_fastcall不在运行逻辑上吃亏,它的对应功能仅仅是返回current->pid,第一次测出来的结果是syscall明显由于m2_fastcall。宋大牛指出很有可能是glibc做了缓存,果然,自己用汇编发软中断后的数据就正常了。

Related Posts

Written by zellux

February 19th, 2009 at 8:52 pm

Posted in Computer System

Tagged with

One Response to '2009-02-19 Notes'

Subscribe to comments with RSS or TrackBack to '2009-02-19 Notes'.

  1. Orz。膜拜大牛。

    [Reply]

    felix021

    14 Jul 09 at 11:43 am

Leave a Reply

FireStats icon Powered by FireStatsBetter Tag Cloud