LinuxSir.cn,穿越时空的Linuxsir!

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

hdparm优化,dma设置不成功(已解决)

[复制链接]
发表于 2006-12-19 02:57:06 | 显示全部楼层 |阅读模式
我不知道是那里处理问题,清帮我看看。
我也不太懂我的这快硬盘有那些应该优化,那些不应该,该有优化的最好优化到什么程度?
我在网上搜了一些帖子,外加看了hdparm的帮助,下面是我硬盘的一些信息,和我的操作,清帮我看看我的问题在那里?


  1. # dmesg|grep hda:|more
  2. hda: ST380011A, ATA DISK drive
  3. hda: max request size: 128KiB
  4. hda: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16/63
  5. hda: cache flushes supported
  6. hda: hda1 hda2 hda3 < hda5 hda6 hda7 hda8 >
复制代码


  1. # lspci|grep -i ide
  2. 00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2)
复制代码


  1. # hdparm -I /dev/hda

  2. /dev/hda:

  3. ATA device, with non-removable media
  4.         Model Number:       ST380011A
  5.         Serial Number:      5JV8V08L
  6.         Firmware Revision:  3.04
  7. Standards:
  8.         Used: ATA/ATAPI-6 T13 1410D revision 2
  9.         Supported: 6 5 4 3
  10. Configuration:
  11.         Logical         max     current
  12.         cylinders       16383   16383
  13.         heads           16      16
  14.         sectors/track   63      63
  15.         --
  16.         CHS current addressable sectors:   16514064
  17.         LBA    user addressable sectors:  156301488
  18.         device size with M = 1024*1024:       76319 MBytes
  19.         device size with M = 1000*1000:       80026 MBytes (80 GB)
  20. Capabilities:
  21.         LBA, IORDY(can be disabled)
  22.         bytes avail on r/w long: 4      Queue depth: 1
  23.         Standby timer values: spec'd by Standard
  24.         R/W multiple sector transfer: Max = 16  Current = 16
  25.         Recommended acoustic management value: 128, current value: 254
  26.         DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
  27.              Cycle time: min=120ns recommended=120ns
  28.         PIO: pio0 pio1 pio2 pio3 pio4
  29.              Cycle time: no flow control=240ns  IORDY flow control=120ns
  30. Commands/features:
  31.         Enabled Supported:
  32.            *    READ BUFFER cmd
  33.            *    WRITE BUFFER cmd
  34.            *    Host Protected Area feature set
  35.            *    Look-ahead
  36.            *    Write cache
  37.            *    Power Management feature set
  38.                 Security Mode feature set
  39.                 SMART feature set
  40.            *    Mandatory FLUSH CACHE command
  41.            *    Device Configuration Overlay feature set
  42.            *    Automatic Acoustic Management feature set
  43.                 SET MAX security extension
  44.            *    DOWNLOAD MICROCODE cmd
  45.            *    SMART self-test
  46.            *    SMART error logging
  47. Security:
  48.                 supported
  49.         not     enabled
  50.         not     locked
  51.         not     frozen
  52.         not     expired: security count
  53.         not     supported: enhanced erase
  54. HW reset results:
  55.         CBLID- below Vih
  56.         Device num = 0 determined by CSEL
  57. Checksum: correct
复制代码


  1. # hdparm -Tt /dev/hda

  2. /dev/hda:
  3. Timing cached reads:   1516 MB in  2.00 seconds = 757.67 MB/sec
  4. Timing buffered disk reads:   10 MB in  3.40 seconds =   2.94 MB/sec
复制代码


  1. # hdparm -m16 /dev/hda

  2. /dev/hda:
  3. setting multcount to 16
  4. multcount    = 16 (on)

  5. # hdparm -Tt /dev/hda

  6. /dev/hda:
  7. Timing cached reads:   1452 MB in  2.00 seconds = 725.79 MB/sec
  8. Timing buffered disk reads:   10 MB in  3.02 seconds =   3.31 MB/sec

复制代码


  1. # hdparm -c1 /dev/hda

  2. /dev/hda:
  3. setting 32-bit IO_support flag to 1
  4. IO_support   =  1 (32-bit)

  5. # hdparm -Tt /dev/hda
  6. /dev/hda:
  7. Timing cached reads:   1504 MB in  2.00 seconds = 751.74 MB/sec
  8. Timing buffered disk reads:   20 MB in  3.05 seconds =   6.56 MB/sec

复制代码


  1. # hdparm -d1 /dev/hda

  2. /dev/hda:
  3. setting using_dma to 1 (on)
  4. HDIO_SET_DMA failed: Operation not permitted
  5. using_dma    =  0 (off)
  6. # hdparm -Tt /dev/hda

  7. /dev/hda:
  8. Timing cached reads:   1272 MB in  2.00 seconds = 634.83 MB/sec
  9. Timing buffered disk reads:   20 MB in  3.07 seconds =   6.51 MB/sec

复制代码


是我内核不支持吗?

  1. # grep DMA /usr/src/linux-2.6.18-gentoo-r4/.config |grep -v ^#
  2. CONFIG_GENERIC_ISA_DMA=y
  3. CONFIG_ISA_DMA_API=y
  4. CONFIG_BLK_DEV_IDEDMA_PCI=y
  5. CONFIG_IDEDMA_PCI_AUTO=y
  6. CONFIG_BLK_DEV_IDEDMA=y
  7. CONFIG_IDEDMA_AUTO=y
复制代码
发表于 2006-12-19 09:16:06 | 显示全部楼层
搭车问一下,sata需要是用hdparm优化吗?
回复 支持 反对

使用道具 举报

发表于 2006-12-19 09:24:19 | 显示全部楼层
try
hdparm -c3 /dev/hda
回复 支持 反对

使用道具 举报

发表于 2006-12-19 10:03:30 | 显示全部楼层
前几天也遇到该问题,重编内核解决
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-19 17:29:28 | 显示全部楼层
  1. # cat /boot/config-2.6.18-gentoo-r4-new | grep DMA
  2. CONFIG_GENERIC_ISA_DMA=y
  3. CONFIG_ISA_DMA_API=y
  4. CONFIG_BLK_DEV_IDEDMA_PCI=y
  5. # CONFIG_BLK_DEV_IDEDMA_FORCED is not set
  6. CONFIG_IDEDMA_PCI_AUTO=y
  7. # CONFIG_IDEDMA_ONLYDISK is not set
  8. CONFIG_BLK_DEV_IDEDMA=y
  9. # CONFIG_IDEDMA_IVB is not set
  10. CONFIG_IDEDMA_AUTO=y
  11. # DMA Engine support
  12. # CONFIG_DMA_ENGINE is not set
  13. # DMA Clients
  14. # DMA Devices
复制代码
重编内核,还是不行
回复 支持 反对

使用道具 举报

发表于 2006-12-19 17:48:46 | 显示全部楼层
关键是要将主板芯片编入内核
dma。。。。availe yes(记不清了)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-19 19:56:18 | 显示全部楼层
Post by freethirsty
关键是要将主板芯片编入内核
dma。。。。availe yes(记不清了)


还是不知道是那一项?
我的内核似乎没有编译成模块的,出了声卡,和网卡。
回复 支持 反对

使用道具 举报

发表于 2006-12-20 00:35:37 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2006-12-20 00:47:20 | 显示全部楼层
Device Drivers---ATA/ATAPI/MFM/RLL support-----
<*>     generic/default IDE chipset support

  •      PCI IDE chipset support
    <*>       Generic PCI IDE Chipset Support

  •        Generic PCI bus-master DMA support

  •          Use PCI DMA by default when available
    <*>         Silicon Image chipset support(我的芯片组)
  • 回复 支持 反对

    使用道具 举报

     楼主| 发表于 2006-12-20 11:11:27 | 显示全部楼层
    多谢freethirsty,问题已经解决

    原来是主板芯片选错了,这个才是我的正确配置:
    1. Device Drivers---ATA/ATAPI/MFM/RLL support-----
    2. [*] PCI IDE chipset support
    3. <*> Generic PCI IDE Chipset Support
    4. [*] Generic PCI bus-master DMA support
    5. [*] Use PCI DMA by default when available
    6. <*> AMD and nVidia IDE support(我的芯片组)
    复制代码

    驱动正确安装以后,要用hdparm修改的参数都已经自动打开:
    1. # hdparm -v /dev/hda
    2. /dev/hda:
    3. multcount    =  0 (off)
    4. IO_support   =  1 (32-bit)
    5. unmaskirq    =  1 (on)
    6. using_dma    =  1 (on)
    7. keepsettings =  0 (off)
    8. readonly     =  0 (off)
    9. readahead    = 256 (on)
    10. geometry     = 65535/16/63, sectors = 156301488, start = 0
    复制代码

    原来startx超级慢,而且硬盘嘎嘎的之叫唤。现在机器反应速度明显提高了,startx非常快,硬盘也不和我抗议了,看看现在的速度:
    1. # hdparm -tT /dev/hda
    2. /dev/hda:
    3. Timing cached reads:   1440 MB in  2.00 seconds = 718.74 MB/sec
    4. Timing buffered disk reads:  150 MB in  3.02 seconds =  49.59 MB/sec
    复制代码
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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