2008年2月14日 星期四

linux直立螢幕該怎麼設定

分成兩個部份:
1.xorg
看driver有沒有支援。nvidia有支援,所以很好設,可以man nv得到說明。
2.console
設定framebuffer,kernel要編,nvidia的是nvidiafb。
在menu.lst上設定成
kernel /boot/vmlinuz root=/dev/hda2 video=nvidiafb:1280x1024 fbcon=rotate:3
解析度目前設定不成功,但rotate有成功。

2008年1月16日 星期三

Deadlock的問題

面試很愛的問題之ㄧ~
之前都不會回答 , 實在是沒什麼感覺 :P

直到前幾天, 我可愛的minix 一值hang在某各位置, 看assembly發現它schedule到idle,
這表示qeueue裡面沒有東西可以跑了, 表示大家都跑去睡覺了........表示Deadlock了!!

pg->tty->pg(睡覺中).....tty也去睡覺....然後deadlock....

2008年1月13日 星期日

performance update

100000 times fork(241):
15.68 1.00 7.93
15.41 1.35 7.78
15.51 1.06 8.08
15.63 1.16 7.95
15.75 1.33 7.85
==============================
重新安裝minix,全部重測
(3.1.2a):
fork:
10.26 real 0.11 user 8.38 sys 33.45 0.43 27.63
10.30 real 0.20 user 8.40 sys 33.40 0.46 27.70
10.28 real 0.13 user 8.53 sys 33.46 0.53 27.66
10.30 real 0.13 user 8.56 sys 33.28 0.75 26.96
10.31 real 0.13 user 8.45 sys 33.28 0.48 27.98
10.30 real 0.15 user 8.28 sys
10.31 real 0.13 user 8.48 sys
matrix:
33.43 real 33.33 user 0.10 sys
33.41 real 33.40 user 0.01 sys
33.66 real 33.60 user 0.06 sys
33.65 real 33.61 user 0.03 sys
(v170 3.1.2ar0):
fork:
11.33 real 0.26 user 8.81 sys 38.46 0.83 31.26
11.31 real 0.21 user 9.00 sys 38.61 0.68 31.21
11.28 real 0.26 user 8.86 sys 38.36 0.68 30.98
11.28 real 0.18 user 9.13 sys 38.40 0.95 31.11
11.31 real 0.16 user 8.98 sys 38.40 0.63 31.56
matrix:
33.58 real 33.55 user 0.03 sys
33.56 real 33.55 user 0.01 sys
33.56 real 33.53 user 0.03 sys
(v182 3.1.2ar1)
fork:
12.73 real 0.45 user 10.36 sys 42.40 1.61 34.31
12.73 real 0.40 user 10.18 sys 42.41 1.31 34.31
12.75 real 0.36 user 10.25 sys 42.45 1.75 34.35
12.75 real 0.40 user 10.33 sys 42.46 1.26 35.40
12.76 real 0.38 user 10.18 sys 42.51 1.13 34.75
matrix
33.35 real 33.35
33.36 33.36
33.41 33.41
(nophys 3.1.2ar2) (nophys 3.1.2ar216)
fork: 100000 times:
4.63 real 0.30 user 2.48 sys
4.65 real 0.30 user 2.30 sys
4.66 real 0.26 user 2.45 sys
4.56 real 0.33 user 2.28 sys
4.65 real 0.30 user 2.06 sys
matrix
33.86 real 33.75 user 0.11 sys
33.86 real 33.81 user 0.05 sys
33.86 real 33.76 user 0.10 sys

==========================================================
今天發現wbinvd跟page內部的cache disable在我的程式中都是不必要的存在><"
拿掉wbinvd(release/3.1.2ar88 ,把大部分copy都交給pg做....)
30000 times fork()
real user sys
4.91 0.36 2.51
5.00 0.40 2.60
4.90 0.25 2.75
4.91 0.38 2.38
4.93 0.25 2.56
matrix
real user sys
33.35 33.18 0.15
33.43 33.36 0.06
33.45 33.40 0.05
33.51 33.26 025

===================================================
30000 times fork
pager+MM server:
1:17.76 5.81 41.81

matrix
36.03 34.03 1.96

2008年1月11日 星期五

svn上版本好亂...><"

svn://server170/test170 -->沒有page, 只有把mm移出來的stable版本
svn://server170/test174 version 182-->有page 的stable版本
svn://server170/test174 version 192-->加了linear copy 的stable版本, 但stack加大仍會爛的版本

matrix execution time

256x256 matrix multiplication run 1 times
MM server+ pager:(release/3.1.2ar12)
real usr sys
3.66 3.36 0.30
3.66 3.36 0.30
3.66 3.36 0.30
3.68 3.36 0.28
MM server:(release/3.1.2ar11)
real usr sys
3.36 3.35 0.01
3.36 3.35 0.01
3.36 3.35 0.01
3.38 3.36 0.01
original:(release/3.1.2a)
real usr sys
3.40 3.38 0.01
3.38 3.38 0.00
3.36 3.36 0.01
3.38 3.38 0.00
256x256 matrix multiplication run 10 times
MM server+ pager:(release/3.1.2ar12)
real usr sys
33.58 33.50 0.08
33.61 33.50 0.11
33.66 33.55 0.08
33.70 33.60 0.10
33.73 33.63 0.08
33.85 33.75 0.08
33.85 33.75 0.08
33.85 33.75 0.08
33.85 33.75 0.10

MM server:(release/3.1.2ar11)
real usr sys
33.46 33.45 0.00
33.48 33.48 0.00
33.53 33.51 0.01
33.56 33.56 0.00
33.60 33.56 0.03
33.61 33.61 0.00
33.65 33.63 0.01
33.66 33.66 0.00
33.70 33.65 0.01

original:(release/3.1.2a)
real usr sys
33.46 33.45 0.00
33.46 33.46 0.00
33.50 33.50 0.00
33.51 33.50 0.01
33.53 33.51 0.01

2008年1月6日 星期日

如何設定minix 3的環境

1. install all binary packge
1)insert the minix cd
2)enter 'packman'
3)choose what u want to install
2.setup net
1)create and edit /etc/rc.net
2)write down "ifconfig ...." directly in rc.net
3)or it will setup dhcp automaticallyss
3.recompile minix image
1)cd /usr/src/tools
2)enter 'make' can tell u options it has
3)u can change image in boot monitor by type 'image=boot/image/...'
4)then boot
4.how to setup openssh
1)/usr/local/etc/rc.d/sshd start

2008年1月5日 星期六

提升performace的方式 Jan.05

1. 利用page table entry內的global bit, 此需cr4的PGE被enable, 但minix 的assembler不認得cr4

2. 用memory mapping 方式更改page entry的值

3. 用 hardware-support的task switch 方式(TSS)