Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Nov 2009 03:38:52 -0600
From:      CyberLeo Kitsana <cyberleo@cyberleo.net>
To:        James Phillips <anti_spam256@yahoo.ca>
Cc:        CyberLeo <cyberleo@cyberleo.net>, freebsd-questions@freebsd.org
Subject:   Re: [FreeBSD Questions] Filesystem image as root
Message-ID:  <4B011DAC.1090504@cyberleo.net>
In-Reply-To: <620008.37163.qm@web65501.mail.ac4.yahoo.com>
References:  <620008.37163.qm@web65501.mail.ac4.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
James Phillips wrote:
> 
> --- On Sun, 11/15/09, CyberLeo Kitsana <cyberleo@cyberleo.net> wrote:
>> James Phillips wrote:
>>>> Date: Sat, 14 Nov 2009 20:29:59 -0600
>>>> From: CyberLeo Kitsana <cyberleo@cyberleo.net>
>>>> Subject: [FreeBSD Questions] Filesystem image as
>> root
>>>> The single IDE connector is accessible via the
>> legacy ISA
>>>> ports, and is
>>>> thus limited to PIO modes (about 1.6MB/sec max,
>> even with
>>>> an actual hard
>>>> drive instead of a CF card).
>>> You are off by an order of magnitude (base 2 or 10):
>>> Pio mode 0 is ~3.3 MB/s
>>> Pio mode 4 is ~16.7 MB/s
>>>
>>> http://www.pcguide.com/ref/hdd/if/ide/modesPIO-c.html
>>>
>>> You can probably set PIO mode 4 for with:
>>> # atacontrol mode ad0 PIO4
>> If only that were true in this case.
>>
>> (85eef1f3)[root@ss4200 ~]# atacontrol mode ad0 PIO4
>> current mode = PIO2
>> (85eef1f3)[root@ss4200 ~]# atacontrol mode ad0 PIO4
>> current mode = PIO2
>> (85eef1f3)[root@ss4200 ~]# dd if=/dev/ad0 of=/dev/null
>> bs=4096 count=4096
>> 4096+0 records in
>> 4096+0 records out
>> 16777216 bytes transferred in 10.111748 secs (1659181
>> bytes/sec)
>>
>> Nothing I've tried seems to boost the throughput, hence the
>> desire to
>> use a compressed cached filesystem image.
>>
>> Thanks for the suggestions, though!
> Ouch!
> 
> I thought the laptop I was "fixing" last week was bad: running Vista with a 10MB/s transfer rate :P
> 
> The drive in my Pentium 166 gets 11-12MB/s.
> 
> I actually looked up both the PIO modes:
> http://en.wikipedia.org/wiki/Programmed_input/output
> 
> And the spec sheet (assuming Tom's hardware was wrong) before composing my original reply:
> Intel® Entry Storage System SS4200-E
> Technical product specification [PDF]
> http://download.intel.com/support/motherboards/server/ss4200-e/sb/ss4200e_tps_11.pdf
> 
> I noted that the ATA port is not listed as a feature, which is not a good sign. It does appear in the block-diagram labeled:DOM
> Glossary definition: Disk On Module

The model I have is the SS-4200EHW. Identical, save the lack of a DOM
and firmware. And price.

> If I had to guess: Intel did something "weird" or "non-standard" to the port, so the standard BSD driver does not work properly.
> Have you read the ata(4) manual page?
> The following  /boot/device.hints are suggested for ISA:
> hint.ata.0.at="isa"
> hint.ata.0.port="0x1f0"
> hint.ata.0.irq="14"

This is actually how I got the amd64 build to recognize the port. These
lines were present in x86, but missing in amd64 device.hints.

> . . . port '1' probably not needed
> I had a thought: it could just as easily be "pc98" if they don't intend for you to touch the "firmware."

Hm. This might be something to look into.

> The firmware has source code available under a GPL license.
> EMCLifeLineOEMSW-1.0-GPLComponents.tar.gz
> Ver:1.0	Date:9/24/2009	Size:125585 (KB)
> 
> EMCLifeLineOEMSW-1.1-GPLComponents.tar.gz
> Ver:1.1	Date:9/24/2009	Size:244406 (KB)

I checked previously, and Linux has the same limitations. The port is
recognized as a legacy ISA IDE port by the ide-generic driver, and maxes
out at a ludicrously low throughput. The official firmware gets around
this by preloading filesystems into RAM.

> If you are worried about license contamination, you may have to get somebody to look through that and document any changes (to the ATA interface). Hopefully it is based on a well-know code-base like Linux and the "diff" utility can be used.
> 
> Of course, the term "components" implies they only expose a HAL of some kind.
> 
> Regards,
> 
> James Phillips
> 
> PS:"# atacontrol mode ad0" will simply print out the current mode.

-- 
Fuzzy love,
-CyberLeo
Technical Administrator
CyberLeo.Net Webhosting
http://www.CyberLeo.Net
<CyberLeo@CyberLeo.Net>

Furry Peace! - http://wwww.fur.com/peace/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B011DAC.1090504>