Chinaunix首页 | 论坛 | 博客
  • 博客访问: 728927
  • 博文数量: 39
  • 博客积分: 10290
  • 博客等级: 上将
  • 技术积分: 1500
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-16 15:05
文章分类
文章存档

2011年(15)

2010年(2)

2009年(8)

2008年(14)

我的朋友

分类: LINUX

2008-03-03 22:43:46

    嗯,之前提到过本本上的linux有点古怪,明明本本里面的硬盘是并口的,装好发行版之后识别出来却是sda,而且一直碰到什么libata的东东。后来编译内核的时候就把ide驱动编进内核了,在配置文件中貌似是CONFIG_IDE项目。再后来升级内核到23以后,发现启动的时候总是有错误信息:

ata_piix0000:00:14.1:no available native port

    然后在系统运行的过程中总感觉硬盘的速度好慢,而且一拷贝东西就cpu的占用率超级高,今天终于忍不住测试了一下,过程如下:
    用dd命令产生空文件,第一次的速度正常,大概是40Mb/s,同样的命令再次运行,速度降低明显,连续运行几次之后,写入速度居然稳定在2Mb/s,郁闷。

    网上查到的方法有:
    1.加启动参数:ide0=noprobe ide1=noprobe
    2.重编内核,把CONFIG_IDE设置为N

    试验的结果,这两种方式都可以。硬盘的速度恢复正常。

    看看资料,大致看出来原来linux为了支持新出现的sata,出现的libata主要是支持sata,为了“backward compatibility”,也就带了pata的驱动,在22以后的内核里面,ide驱动和libata不合了,不能再像之前那样和平共处了,如果都编译了,会打架,造成硬盘性能低下了。

    看看
    提到的解决方式有:
  • Recommended (where BIOS permits): Change BIOS IDE mode from "legacy" or "combined" mode to "AHCI" (recommended), "RAID" or "native".
  • Boot with the kernel commandline parameter "combined_mode=libata" or "combined_mode=ide" to allow the specified driver to claim all IDE ports.
  • Disable libata (CONFIG_ATA) entirely, and enable CONFIG_BLK_DEV_IDE_SATA.
  • (newer choice, with less field testing) Disable CONFIG_IDE, and permit libata to run all your IDE and SATA ports.
    可以看出,可能的解决方案还有两种。

    关于libata的链接如下列几个有价值的:
    1.~tjuerges/ALMA/Kernel/libata/
    2.
    3.

    相信其他的还有很多了。暂时就这些吧。
   


阅读(2078) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Thunderbird的imap设置备忘

给主人留下些什么吧!~~