LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1568|回复: 19

硬盘的DMA无法开到最大

[复制链接]
发表于 2009-3-22 22:45:35 | 显示全部楼层 |阅读模式
最近刚买了320g的笔记本硬盘,WD 3200 BEVT.发现它虽然支持udma6,不过arch默认开启的是udma5。
  1. hdparm -i /dev/sda

  2. /dev/sda:

  3. Model=WDC WD3200BEVT-22ZCT0                   , FwRev=11.01A11, SerialNo=     WD-WXEY08FP0490
  4. Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
  5. RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50
  6. BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=?16?
  7. CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=625142448
  8. IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
  9. PIO modes:  pio0 pio3 pio4
  10. DMA modes:  mdma0 mdma1 mdma2
  11. UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 udma6
  12. AdvancedPM=yes: unknown setting WriteCache=enabled
  13. Drive conforms to: Unspecified:  ATA/ATAPI-1,2,3,4,5,6,7

  14. * signifies the current active mode
复制代码

messages.log中的出错信息
  1. Mar 21 21:54:35 archlinux ata3: SATA max UDMA/100 mmio m512@0xf8407000 tf 0xf8407080 irq 22
  2. Mar 21 21:54:35 archlinux ata4: SATA max UDMA/100 mmio m512@0xf8407000 tf 0xf84070c0 irq 22
  3. Mar 21 21:54:35 archlinux ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
  4. Mar 21 21:54:35 archlinux ata3.00: ATA-8: WDC WD3200BEVT-22ZCT0, 11.01A11, max UDMA/133
  5. Mar 21 21:54:35 archlinux ata3.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 0/32)
  6. Mar 21 21:54:35 archlinux ata3.00: configured for UDMA/100
  7. Mar 21 21:54:35 archlinux ata4: SATA link down (SStatus 0 SControl 310)
  8. Mar 21 21:54:35 archlinux scsi 2:0:0:0: Direct-Access     ATA      WDC WD3200BEVT-2 11.0 PQ: 0 ANSI: 5
  9. Mar 21 21:54:35 archlinux Driver 'sd' needs updating - please use bus_type methods
  10. Mar 21 21:54:35 archlinux sd 2:0:0:0: [sda] 625142448 512-byte hardware sectors (320073 MB)
  11. Mar 21 21:54:35 archlinux sd 2:0:0:0: [sda] Write Protect is off
  12. Mar 21 21:54:35 archlinux sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
  13. Mar 21 21:54:35 archlinux sd 2:0:0:0: [sda] 625142448 512-byte hardware sectors (320073 MB)
  14. Mar 21 21:54:35 archlinux sd 2:0:0:0: [sda] Write Protect is off
  15. Mar 21 21:54:35 archlinux sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
  16. Mar 21 21:54:35 archlinux sda: sda1 sda2 sda3 < sda5 sda6 >
  17. Mar 21 21:54:35 archlinux sd 2:0:0:0: [sda] Attached SCSI disk
复制代码

我的/etc/mkinitcpio.conf
  1. # vim:set ft=sh
  2. # MODULES
  3. # The following modules are loaded before any boot hooks are
  4. # run.  Advanced users may wish to specify all system modules
  5. # in this array.  For instance:
  6. #     MODULES="piix ide_disk reiserfs"
  7. MODULES="sata_sil"

  8. # BINARIES
  9. # This setting includes, into the CPIO image, and additional
  10. # binaries a given user may wish.  This is run first, so may
  11. # be used to override the actual binaries used in a given hook.
  12. # (Existing files are NOT overwritten is already added)
  13. # BINARIES are dependancy parsed, so you may safely ignore libraries
  14. BINARIES=""

  15. # FILES
  16. # This setting is similar to BINARIES above, however, files are added
  17. # as-is and are not parsed in anyway.  This is useful for config files.
  18. # Some users may wish to include modprobe.conf for custom module options,
  19. # like so:
  20. #    FILES="/etc/modprobe.conf"
  21. FILES=""

  22. # HOOKS
  23. # This is the most important setting in this file.  The HOOKS control the
  24. # modules and scripts added to the image, and what happens at boot time.
  25. # Order is important, and it is recommended that you do not change the
  26. # order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
  27. # help on a given hook.
  28. # 'base' is _required_ unless you know precisely what you are doing.
  29. # 'udev' is _required_ in order to automatically load modules
  30. # 'modload' may be used in place of 'udev', but is not recommended
  31. # 'filesystems' is _required_ unless you specify your fs modules in MODULES
  32. # Examples:
  33. #    This setup specifies all modules in the MODULES setting above.
  34. #    No raid, lvm2, or encrypted root is needed.
  35. #    HOOKS="base"
  36. #
  37. #    This setup will autodetect all modules for your system and should
  38. #    work as a sane default
  39. #    HOOKS="base udev autodetect pata scsi sata filesystems"
  40. #
  41. #    This is identical to the above, except the old ide subsystem is
  42. #    used for IDE devices instead of the new pata subsystem.
  43. #    HOOKS="base udev autodetect ide scsi sata filesystems"
  44. #
  45. #    This setup will generate a 'full' image which supports most systems.
  46. #    No autodetection is done.
  47. #    HOOKS="base udev pata scsi sata usb filesystems"
  48. #
  49. #    This setup assembles an pata raid array with an encrypted root FS.
  50. #    Note: See 'mkinitcpio -H raid' for more information on raid devices.
  51. #    HOOKS="base udev pata raid encrypt filesystems"
  52. #
  53. #    This setup loads an lvm2 volume group on a usb device.
  54. #    HOOKS="base udev usb lvm2 filesystems"
  55. HOOKS="base udev autodetect sata filesystems"
复制代码

哪位知道是怎么回事么?
发表于 2009-3-23 00:06:09 | 显示全部楼层
没注意,一会儿去看看~~~
回复 支持 反对

使用道具 举报

发表于 2009-3-23 00:14:03 | 显示全部楼层
show your lsmod
回复 支持 反对

使用道具 举报

发表于 2009-3-23 04:16:31 | 显示全部楼层
BEVT怎么只有1.5Gbps?
应该有3G的吧
回复 支持 反对

使用道具 举报

发表于 2009-3-23 09:10:06 | 显示全部楼层
关注此帖..
我本本也是.明明支持udma6.但是也只能开udma5
试过win下也udma5
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-23 09:50:36 | 显示全部楼层
Post by zhuqin_83;1964305
show your lsmod

  1. Module                  Size  Used by
  2. ipv6                  309952  12
  3. radeon                154144  2
  4. drm                   108768  3 radeon
  5. xfs                   564432  3
  6. nls_cp437               8960  1
  7. vfat                   14464  1
  8. fat                    56760  1 vfat
  9. ide_pci_generic         6788  0
  10. atiixp                  6404  0
  11. ide_core              119804  2 ide_pci_generic,atiixp
  12. joydev                 14208  0
  13. pcmcia                 39192  0
  14. usbhid                 41536  0
  15. hid                    49856  1 usbhid
  16. irtty_sir               7936  0
  17. sir_dev                15368  1 irtty_sir
  18. irda                  131044  1 sir_dev
  19. crc_ccitt               4096  1 irda
  20. serio_raw               8196  0
  21. ohci1394               34612  0
  22. psmouse                57116  0
  23. sdhci_pci              10624  0
  24. sdhci                  19588  1 sdhci_pci
  25. yenta_socket           28812  1
  26. rsrc_nonstatic         13312  1 yenta_socket
  27. pcmcia_core            39204  3 pcmcia,yenta_socket,rsrc_nonstatic
  28. mmc_core               54624  1 sdhci
  29. ieee1394               91392  1 ohci1394
  30. video                  22420  0
  31. output                  5248  1 video
  32. container               6144  0
  33. pata_atiixp             7936  0
  34. pata_acpi               7296  0
  35. k8temp                  7168  0
  36. ohci_hcd               28060  0
  37. ata_generic             8068  0
  38. ehci_hcd               41356  0
  39. i2c_piix4              12816  0
  40. i2c_core               26144  1 i2c_piix4
  41. sg                     31840  0
  42. usbcore               160432  4 usbhid,ohci_hcd,ehci_hcd
  43. acer_wmi               18664  0
  44. rfkill                 13776  2 acer_wmi
  45. led_class               6280  1 acer_wmi
  46. wmi                     8896  1 acer_wmi
  47. evdev                  13984  6
  48. thermal                20896  0
  49. fan                     7304  0
  50. button                  9504  0
  51. battery                14600  0
  52. ac                      7176  0
  53. snd_seq_oss            35584  0
  54. snd_seq_midi_event      9344  1 snd_seq_oss
  55. snd_seq                58336  4 snd_seq_oss,snd_seq_midi_event
  56. snd_seq_device          9364  2 snd_seq_oss,snd_seq
  57. snd_hda_intel         531252  0
  58. snd_hwdep              10632  1 snd_hda_intel
  59. snd_pcm_oss            45440  0
  60. snd_pcm                82952  2 snd_hda_intel,snd_pcm_oss
  61. snd_timer              24720  2 snd_seq,snd_pcm
  62. snd_page_alloc         11792  2 snd_hda_intel,snd_pcm
  63. snd_mixer_oss          18944  1 snd_pcm_oss
  64. snd                    65096  9 snd_seq_oss,snd_seq,snd_seq_device,snd_hda_intel,snd_hwdep,snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss
  65. soundcore               9632  1 snd
  66. r8169                  39428  0
  67. mii                     7296  1 r8169
  68. cpufreq_powersave       3840  0
  69. cpufreq_ondemand       10512  1
  70. powernow_k8            16516  1
  71. freq_table              6272  2 cpufreq_ondemand,powernow_k8
  72. processor              46648  2 thermal,powernow_k8
  73. rtc_cmos               14040  0
  74. rtc_core               21060  1 rtc_cmos
  75. rtc_lib                 4992  1 rtc_core
  76. ext3                  141328  1
  77. jbd                    57000  1 ext3
  78. mbcache                10244  1 ext3
  79. sd_mod                 29096  7
  80. sata_sil               11656  6
  81. libata                176224  4 pata_atiixp,pata_acpi,ata_generic,sata_sil
  82. scsi_mod              119256  3 sg,sd_mod,libata
复制代码
回复 支持 反对

使用道具 举报

发表于 2009-3-23 09:54:39 | 显示全部楼层
过虑了,事实上现在现在硬盘的瓶颈是内部存取速度,而不是传输速度。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-23 10:13:25 | 显示全部楼层
Post by pxbfeiniao;1964367
过虑了,事实上现在现在硬盘的瓶颈是内部存取速度,而不是传输速度。


能说的详细点么?你觉的这是硬件问题么?不过在winxp是udma6
回复 支持 反对

使用道具 举报

发表于 2009-3-23 11:11:35 | 显示全部楼层
udma是传输标准,尽管符合udama6就意味着能达到理论上150m/s的传输速度,但是现在一般的温氏硬盘内部存取速度能达到50m/s就不错了。
就好象一台功率一定的水泵,即使将连接在其上的水管加粗,也无法提高抽水效率。
回复 支持 反对

使用道具 举报

发表于 2009-3-23 11:15:54 | 显示全部楼层
我感觉,windows在对硬件初始化的时候,高度依赖bios,而linux内核在初始化硬件时只是将bios中的硬件信息作为参考。
另外:freebsd完全抛开了bios.

我的情况和你相反,windows下我的硬盘是udma5,在archlinux下是udma6
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表