Poor disk I/O, PIO instead of DMA???

  • Follow


I'm seeing ~1.8 MB/s write & ~4 MB/s read with dd(1) from /dev/zero & to 
/dev/null using 1024k blocks for 1 GB files.  I assume it's because I'm 
not configured to do DMA transfers.  This is on a Toshiba 1405-S151. 
Suggestions or pointers to RTFM?

BTW Many thanks to Sun.  With the free distribution of Solaris 10 & Sun 
Suite 11 for x86 I now have a real use for this thing. It's not "Big 
Endian like God intended", but neither Linux nor FreeBSD were quite up 
to my requirements for stability & function and a SPARC laptop is still 
a bit pricey.  But it *does* behave like my regular work machine :-)
0
Reply Reginald 12/13/2005 3:29:34 AM

Reginald Beardsley <pulaskite@yahoo.com> writes:

>I'm seeing ~1.8 MB/s write & ~4 MB/s read with dd(1) from /dev/zero & to 
>/dev/null using 1024k blocks for 1 GB files.  I assume it's because I'm 
>not configured to do DMA transfers.  This is on a Toshiba 1405-S151. 
>Suggestions or pointers to RTFM?

Check the following eeprom settings:

ata-dma-enabled=1
atapi-cd-dma-enabled=1

But the default for both is "1", so I'm a bit puzzled; it is possible
the system has determined that it can't do it on your hardware.


>BTW Many thanks to Sun.  With the free distribution of Solaris 10 & Sun 
>Suite 11 for x86 I now have a real use for this thing. It's not "Big 
>Endian like God intended", but neither Linux nor FreeBSD were quite up 
>to my requirements for stability & function and a SPARC laptop is still 

We like it too :-)

Casper
>a bit pricey.  But it *does* behave like my regular work machine :-)
-- 
Expressed in this posting are my opinions.  They are in no way related
to opinions held by my employer, Sun Microsystems.
Statements on Sun products included here are not gospel and may
be fiction rather than truth.
0
Reply Casper 12/13/2005 10:02:55 AM


Reginald Beardsley <pulaskite@yahoo.com> writes:

> I'm seeing ~1.8 MB/s write & ~4 MB/s read with dd(1) from /dev/zero &
> to /dev/null using 1024k blocks for 1 GB files.  I assume it's because
> I'm not configured to do DMA transfers.  This is on a Toshiba
> 1405-S151. Suggestions or pointers to RTFM?

Does the kernel log which DMA tranfer mode it is using with the disk / 
atapi devices?  Check the /var/adm/messages file.

You should find something like this:

  ...
  pcplusmp: ide (ata) instance 0 vector 0xe ioapic 0x2 intin 0xe is bound to cpu 1
        IDE device at targ 0, lun 0 lastlun 0x0
        model WDC WD1000BB-32CCB0
        ATA/ATAPI-5 supported, majver 0x3e minver 0x0
        ATAPI device at targ 1, lun 0 lastlun 0x0
        model IOMEGA  ZIP 250       ATAPI
  PCI-device: ide@0, ata0
  ata0 is /pci@0,0/pci-ide@7,1/ide@0
        MultiwordDMA mode 0 selected                    <<<<<<<<<<<<<<<<<<<<<
        UltraDMA mode 5 selected                        <<<<<<<<<<<<<<<<<<<<<
  Disk1:    <Vendor 'Gen-ATA ' Product 'WDC WD1000BB-32C'>
  cmdk1 at ata0 target 0 lun 0
  cmdk1 is /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0
  ...


In case DMA is not used, the kernel should report why DMA isn't
usable.
0
Reply Juergen 12/13/2005 10:56:57 AM

In article <439e9c4f$0$11075$e4fe514c@news.xs4all.nl>,
Casper H.S. Dik  <Casper.Dik@Sun.COM> wrote:
>Reginald Beardsley <pulaskite@yahoo.com> writes:
>
>>I'm seeing ~1.8 MB/s write & ~4 MB/s read with dd(1) from /dev/zero & to 
>>/dev/null using 1024k blocks for 1 GB files.  I assume it's because I'm 
>>not configured to do DMA transfers.  This is on a Toshiba 1405-S151. 
>>Suggestions or pointers to RTFM?
>
>Check the following eeprom settings:
>
>ata-dma-enabled=1
>atapi-cd-dma-enabled=1
>
>But the default for both is "1", so I'm a bit puzzled; it is possible
>the system has determined that it can't do it on your hardware.

atapi-cd-dma-enabled if off by default on Solaris 10.
This changed with Solaris 11...

-- 
EMail:joerg@schily.isdn.cs.tu-berlin.de (home) J�rg Schilling D-13353 Berlin
      js@cs.tu-berlin.de		(uni)  
      schilling@fokus.fraunhofer.de	(work) Blog: http://schily.blogspot.com/
URL:  http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
0
Reply js 12/13/2005 12:20:35 PM

Joerg Schilling wrote:
> In article <439e9c4f$0$11075$e4fe514c@news.xs4all.nl>,
> Casper H.S. Dik  <Casper.Dik@Sun.COM> wrote:
> 
>>Reginald Beardsley <pulaskite@yahoo.com> writes:
>>
>>
>>>I'm seeing ~1.8 MB/s write & ~4 MB/s read with dd(1) from /dev/zero & to 
>>>/dev/null using 1024k blocks for 1 GB files.  I assume it's because I'm 
>>>not configured to do DMA transfers.  This is on a Toshiba 1405-S151. 
>>>Suggestions or pointers to RTFM?
>>
>>Check the following eeprom settings:
>>
>>ata-dma-enabled=1
>>atapi-cd-dma-enabled=1
>>
>>But the default for both is "1", so I'm a bit puzzled; it is possible
>>the system has determined that it can't do it on your hardware.
> 
> 
> atapi-cd-dma-enabled if off by default on Solaris 10.
> This changed with Solaris 11...
> 
Joerg, do you know of any Solaris utilities that will, or soon, may 
support dual-layer DVD burning?

cdrw apparently doesn't support the 8.5Gb dual-layer disks from my 
attempts earlier today.
0
Reply Wes 12/13/2005 10:21:23 PM

In article <DPHnf.23565$8d.2123@tornado.tampabay.rr.com>,
Wes Williams  <wes@classiarius.com> wrote:

>> atapi-cd-dma-enabled if off by default on Solaris 10.
>> This changed with Solaris 11...
>> 
>Joerg, do you know of any Solaris utilities that will, or soon, may 
>support dual-layer DVD burning?
>
>cdrw apparently doesn't support the 8.5Gb dual-layer disks from my 
>attempts earlier today.

AFAIK, cdrw is no longer supported 

a recent cdrecord-ProDVD will allow you to write dual layer disks
although there is not official support yet.

You may need to use -force in order to help cdrecord believe that
a write speed > 1 is possible.

Cdrecord does not yet support to set the layer break location.
This will change once I did put SchilliX into a state useful for the
desktop and I have a bit more time to work on cdrecord.


-- 
EMail:joerg@schily.isdn.cs.tu-berlin.de (home) J�rg Schilling D-13353 Berlin
      js@cs.tu-berlin.de		(uni)  
      schilling@fokus.fraunhofer.de	(work) Blog: http://schily.blogspot.com/
URL:  http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
0
Reply js 12/13/2005 10:25:35 PM

Joerg Schilling wrote:
> In article <DPHnf.23565$8d.2123@tornado.tampabay.rr.com>,
> Wes Williams  <wes@classiarius.com> wrote:
> 
> 
>>>atapi-cd-dma-enabled if off by default on Solaris 10.
>>>This changed with Solaris 11...
>>>
>>
>>Joerg, do you know of any Solaris utilities that will, or soon, may 
>>support dual-layer DVD burning?
>>
>>cdrw apparently doesn't support the 8.5Gb dual-layer disks from my 
>>attempts earlier today.
> 
> 
> AFAIK, cdrw is no longer supported 
> 
> a recent cdrecord-ProDVD will allow you to write dual layer disks
> although there is not official support yet.
> 
> You may need to use -force in order to help cdrecord believe that
> a write speed > 1 is possible.
> 
> Cdrecord does not yet support to set the layer break location.
> This will change once I did put SchilliX into a state useful for the
> desktop and I have a bit more time to work on cdrecord.
> 
> 
Thanks!
0
Reply Wes 12/13/2005 11:09:00 PM


Juergen  & Caspar (and anyone else w/ insightful comments)

eeprom(1) reports:

[snip]

ata-dma-enabled=1
atapi-cd-dma-enabled=0


/var/adm/messages reports:

[snip]

Dec  9 17:23:01 tosh genunix: [ID 936769 kern.info] scsi_vhci0 is /scsi_vhci
Dec  9 17:23:01 tosh unix: [ID 406534 kern.info] ACPI detected: 2 13 0 0
Dec  9 17:23:01 tosh rootnex: [ID 349649 kern.info] pci0 at root: space 
0 offset 0
Dec  9 17:23:01 tosh genunix: [ID 936769 kern.info] pci0 is /pci@0,0
Dec  9 17:23:01 tosh genunix: [ID 640982 kern.info]     IDE device at 
targ 0, lun 0 lastlun 0x0
Dec  9 17:23:01 tosh genunix: [ID 846691 kern.info]     model TOSHIBA 
MK4026GAX
Dec  9 17:23:01 tosh genunix: [ID 479077 kern.info]     ATA/ATAPI-6 
supported, majver 0x7e minver 0x0
Dec  9 17:23:03 tosh pci: [ID 370704 kern.info] PCI-device: ide@0, ata0
Dec  9 17:23:03 tosh genunix: [ID 936769 kern.info] ata0 is 
/pci@0,0/pci-ide@4/ide@0
Dec  9 17:23:03 tosh genunix: [ID 935449 kern.info]     ATA DMA off: 
cntrl sharing DMA engine between channels
Dec  9 17:23:03 tosh genunix: [ID 882269 kern.info]     PIO mode 4 selected
Dec  9 17:23:03 tosh gda: [ID 243001 kern.info] Disk0:  <Vendor 'Gen-ATA 
' Product 'TOSHIBA MK4026GA'>
Dec  9 17:23:03 tosh ata: [ID 496167 kern.info] cmdk0 at ata0 target 0 lun 0
Dec  9 17:23:03 tosh genunix: [ID 936769 kern.info] cmdk0 is 
/pci@0,0/pci-ide@4/ide@0/cmdk@0,0
Dec  9 17:23:05 tosh swapgeneric: [ID 308332 kern.info] root on 
/pci@0,0/pci-ide@4/ide@0/cmdk@0,0:a fstype ufs
Dec  9 17:23:06 tosh pci: [ID 370704 kern.info] PCI-device: 
pci10b9,5247@1, pci_pci0
Dec  9 17:23:06 tosh genunix: [ID 936769 kern.info] pci_pci0 is 
/pci@0,0/pci10b9,5247@1
Dec  9 17:23:06 tosh rootnex: [ID 349649 kern.info] isa0 at root

I'm guessing from the message that both the CD-RW & the disk on are on 
the same controller channel. Can anyone point me to additional 
information about controlling the DMA settings on Solaris 10.

ata(7d) is not completely helpful, but if found this in ata.conf:

#
# for PIO performance upgrade - set block factor to 0x10
#
drive0_block_factor=0x1;
drive1_block_factor=0x1;

#
# some laptop systems require setting this flag
#
timing_flags=0x0;

I recognize the block factor for PIO mode, but the timing flag is a bit 
mysterious.

I will shutdown and check the jumpers on the drives.  I'd be surprised 
if they were not set correctly, but it's tough to interpret the note 
about shared DMA in messages.

Thanks,

Reg

BTW wading through the mass of stuff that apropos(1) generates for 
"disk" &  "dma" is difficult, it would be very easy to miss something 
important. So RTFM comments pointing to the correct entry are greatly 
appreciated.


0
Reply Reginald 12/14/2005 12:38:32 AM

Reginald Beardsley wrote:
> 
> 
> Juergen  & Caspar (and anyone else w/ insightful comments)
> 
> eeprom(1) reports:
> 
> [snip]
> 
> ata-dma-enabled=1
> atapi-cd-dma-enabled=0
> 

Command to enable DMA on CD drives, as root (requires reboot):

#  eeprom atapi-cd-dma-enabled=1
0
Reply Wes 12/14/2005 1:09:48 AM

Reginald Beardsley <pulaskite@yahoo.com> writes:



>Juergen  & Caspar (and anyone else w/ insightful comments)

>eeprom(1) reports:

>Dec  9 17:23:03 tosh genunix: [ID 936769 kern.info] ata0 is 
>/pci@0,0/pci-ide@4/ide@0
>Dec  9 17:23:03 tosh genunix: [ID 935449 kern.info]     ATA DMA off: 
>cntrl sharing DMA engine between channels
>Dec  9 17:23:03 tosh genunix: [ID 882269 kern.info]     PIO mode 4 selected
>Dec  9 17:23:03 tosh gda: [ID 243001 kern.info] Disk0:  <Vendor 'Gen-ATA 
>' Product 'TOSHIBA MK4026GA'>


Ok, this means you have what's called a "simplex" ata controller which
uses a single DMA channel for both drives.  We do not support DMA at
all for such controllers (perhaps only if there's one drive).

In this particular case, we could easily support it as the DMA
for the CD is off.   I think someone had a working prototype for
such as sytem once, but I don't know what happened to it and
what priority it has.  (It's a very limited set of older systems,
mostly laptops).

But on these slow systems, DMA is a huge benefit.  The new VIA Nehemiah
system I have does 60MB/s with DMA and only 2MB/s with PIO.
But on fast CPUs with high bandwidth, this is apparently much less
noticable except in CPU use.

Casper
-- 
Expressed in this posting are my opinions.  They are in no way related
to opinions held by my employer, Sun Microsystems.
Statements on Sun products included here are not gospel and may
be fiction rather than truth.
0
Reply Casper 12/14/2005 9:50:16 AM

Casper,

Thanks.  I've been away from comp.unix.sun for several years.  Using 
Solaris at work almost exclusively, but running Tru64, FreeBSD & Linux 
at home, though there *is* a 1+ around here somewhere still ;-)  A 
pleasant surprise to see you were still around.

A few more questions if I may:

How would I disable the CD? (aside from taking the system apart) For the 
rare cases where I really need the CD, I can live w/ rebooting.

Have you any suggestions for a good low end (<$1500US)laptop to run 
Solaris 10 x86 on? (once it gets close to the price of a SPARC laptop, 
I'd *much* rather have that)

How do I track down more info on the interrupt conflict noted in 
messages? I doubt that I will ever use the PCMIA slot, so again if 
disabling it will improve performance I'd like to do it.

pcic: [ID 772001 kern.info] pcic_init_assigned: no available property or 
pcmcia
pci: [ID 370704 kern.info] PCI-device: pci1179,1@11, pcic0 pcic: [ID 
772001 kern.info] pcic_init_assigned: no available property for pcmcia
pci: [ID 370704 kern.info] PCI-device: pci1179,1@11,1, pcic1
unix: [ID 954099 kern.info] NOTICE: IRQ11 is being shared by drivers 
with different interrupt levels.
This may result in reduced system performance.
unix: [ID 954099 kern.info] NOTICE: IRQ11 is being shared by drivers 
with different interrupt levels.
This may result in reduced system performance.

What's a good place to get detailed information on things like Solaris 
logical & physical device conventions, kernel logging levels, etc?  I've 
got plenty of sys admin experience, but very little w/ Solaris. On 
Solaris I've always had a sys admin to take care of the details.  All 
the Solaris books I've found so far emphasize the basics too much to be 
helpful.

And thanks again. I'd forgotten how much fun it was to chat w/ someone 
that has a real understanding of the system internals :-)

Reg
0
Reply Reginald 12/14/2005 10:54:55 PM

In article <3p1of.40115$D13.32901@newssvr11.news.prodigy.com>,
 Reginald Beardsley <pulaskite@yahoo.com> wrote:

> 
> And thanks again. I'd forgotten how much fun it was to chat w/ someone 
> that has a real understanding of the system internals :-)
> 
> Reg

You can download OpenSolaris and wander around the source code.  Or you 
could (shameless plug[tm]) buy Rich Teer's Solaris Internals book:

http://www.rite-group.com/rich/#books

-- 
DeeDee, don't press that button!  DeeDee!  NO!  Dee...



0
Reply Michael 12/15/2005 12:57:50 AM

[Absolutely shameless plug, but what the heck...]

Rich Teer's book is not Solaris Internals. It is Solaris Systems
Programming
(and it is very good).

Solaris Internals was written Richard McDougall and Jim Mauro.
The 2nd edition, updated extensively for Solaris 10, is wrapping up and
will be available early 2006 (March we hope).

In fact, I should be working on it now, and reading
comp.unix.solaris...

:^)

/jim

(like I said...shameless).

0
Reply jim 12/15/2005 3:15:20 AM

Reginald Beardsley <pulaskite@yahoo.com> writes:

>A few more questions if I may:

>How would I disable the CD? (aside from taking the system apart) For the 
>rare cases where I really need the CD, I can live w/ rebooting.

I'm not 100% confident that that will help.  But I really don't
think there's a software way of doing this.

>Have you any suggestions for a good low end (<$1500US)laptop to run 
>Solaris 10 x86 on? (once it gets close to the price of a SPARC laptop, 
>I'd *much* rather have that)

I think there are now a few low end Turion64 laptops which offer
64 bit computing for Solaris.

>How do I track down more info on the interrupt conflict noted in 
>messages? I doubt that I will ever use the PCMIA slot, so again if 
>disabling it will improve performance I'd like to do it.

It's usually nothing to be alarmed about.

>What's a good place to get detailed information on things like Solaris 
>logical & physical device conventions, kernel logging levels, etc?  I've 
>got plenty of sys admin experience, but very little w/ Solaris. On 
>Solaris I've always had a sys admin to take care of the details.  All 
>the Solaris books I've found so far emphasize the basics too much to be 
>helpful.

Difficult to see where to start; you can alway search
"cvs.opensolaris.org" to see where error messages came from.

Casper
-- 
Expressed in this posting are my opinions.  They are in no way related
to opinions held by my employer, Sun Microsystems.
Statements on Sun products included here are not gospel and may
be fiction rather than truth.
0
Reply Casper 12/15/2005 10:45:26 AM

In article <43a14946$0$11074$e4fe514c@news.xs4all.nl>,
Casper H.S. Dik  <Casper.Dik@Sun.COM> wrote:
>I think there are now a few low end Turion64 laptops which offer
>64 bit computing for Solaris.

I believe the Gateway MX7515 is the successor of the eMachines M680x
series.
<URL:http://www.bestbuy.com/site/olspage.jsp?skuId=7454122&type=product&productCategoryId=pcmcat39100050016&id=1125464966640>

It should mostly work. The Broadcom wireless NIC will need to be replaced.

Perhaps someone will visit a Bestbuy with a Schillix Live Demo CD and
a USB stick to get the output of prtconf(1M) or scanpci(1).

John
groenveld@acm.org
0
Reply groenvel 12/15/2005 8:15:42 PM

Michael Vilain <vilain@spamcop.net> wrote:
> In article <3p1of.40115$D13.32901@newssvr11.news.prodigy.com>,
> Reginald Beardsley <pulaskite@yahoo.com> wrote:
> 
>> 
>> And thanks again. I'd forgotten how much fun it was to chat w/ someone 
>> that has a real understanding of the system internals :-)
>> 
>> Reg
> 
> You can download OpenSolaris and wander around the source code.

To the original question: The ata driver hasn't been released as source
yet.

-- 
Daniel
0
Reply Daniel 12/15/2005 10:40:43 PM

15 Replies
417 Views

(page loaded in 6.093 seconds)

Similiar Articles:

















7/23/2012 4:24:07 AM


Reply: