performance issues: linux aic7xxx, 29160, Radion IFT-7200

Eric Dantan Rzewnicki rzewnickie at rfa.org
Wed Mar 13 11:08:19 PST 2002


Ok,

I added these printk lines in aic7xxx_core.c:

printk("DEBUG: before ahc->user_discenable = discenable ... %u\n",
ahc->user_discenable);
ahc->user_discenable = discenable;
printk("DEBUG: after ahc->user_discenable = discenable ... %u\n",
ahc->user_discenable);

which produced this:

DEBUG: before ahc->user_discenable = discenable ... 0
DEBUG: after ahc->user_discenable = discenable ... 65535


newbunyan:~# cat /proc/scsi/aic7xxx/0
Adaptec AIC7xxx driver version: 6.2.5
aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
Channel A Target 0 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
        Goal: 160.000MB/s transfers (80.000MHz DT, offset 63, 16bit)
        Curr: 160.000MB/s transfers (80.000MHz DT, offset 63, 16bit)
        Channel A Target 0 Lun 0 Settings
                Commands Queued 1173
                Commands Active 0
                Command Openings 253
                Max Tagged Openings 253
                Device Queue Frozen Count 0
Channel A Target 1 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
        Goal: 160.000MB/s transfers (80.000MHz DT, offset 62, 16bit)
        Curr: 160.000MB/s transfers (80.000MHz DT, offset 62, 16bit)
        Channel A Target 1 Lun 0 Settings
                Commands Queued 55
                Commands Active 0
                Command Openings 253
                Max Tagged Openings 253
                Device Queue Frozen Count 0
Channel A Target 2 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 3 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 4 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 5 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 6 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 7 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 8 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
        Goal: 40.000MB/s transfers (20.000MHz, offset 15, 16bit)
        Curr: 40.000MB/s transfers (20.000MHz, offset 15, 16bit)
        Channel A Target 8 Lun 0 Settings
                Commands Queued 1
                Commands Active 0
                Command Openings 1
                Max Tagged Openings 0
                Device Queue Frozen Count 0
Channel A Target 9 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 10 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 11 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 12 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 13 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 14 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 15 Negotiation Settings
        User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)


I've asked my manager about the possibilities of either renting a SCSI
bus analyzer or shipping our hardware to you. He's out today, so I
probably won't get a response until tomorrow.


-Eric 


"Justin T. Gibbs" wrote:
> 
> >"Justin T. Gibbs" wrote:
> >>
> >> >Hello again,
> >>
> >> I wonder if for some reason we have disconnection disabled?  I get much
> >> better performance than that talking to a plain old 10K RPM disk.  Can
> >> you go into aic7xxx.c, search for ahc->user_discenable and print out the
> >> contents of that variable?
> >
> >linux-2.4.18/drivers/scsi/aic7xxx/aic7xxx.c
> >(not-patched, so this is version 6.2.4)
> >line 4547
> >ahc->user_discenable = discenable;
> 
> I meant insert a printf to display the actual value of the variable
> after it is set. 8-)
> 
> >same in 2.4.16 ( I guess that's the same version so that would make
> >sense, of course...)
> >
> >after patching the 2.4.18 sources for aic7xxx 6.2.5 the file names in
> >drivers/scsi/aic7xxx/ are different. Which one should I be looking at
> >there?
> 
> aic7xxx_core.c
> 
> >> >Is there something else I can do to try to get better performance with
> >> >the new driver?
> >>
> >> If I understood why the performance was bad, I'd tell you. 8-)
> >> Any chance you can rent a SCSI bus analyzer for a day and capture
> >> some traces?
> >
> >umm, I'll check with the boss, but I doubt it. Where would a person rent
> >such a thing?
> 
> Check the yellow pages under electronic test equipment rentals.  This
> is the same place you'd go to rent a logic analyzer or scope for a few
> days.  You could also see if Verisys, Ancot, or Innotec, would allow
> you to "demo" their SCSI analyzer products.
> 
> >Ok, so probably very few people would ever care only about sequential
> >performance? We will have up to 4 streams of current broadcasts writing
> >to disk and potentially 'many' users streaming via http or copying via
> >http or smb from the archive. And for a time, someone will be copying
> >the past archives off CDs onto the raid via a samba share.
> >
> >Can hdparm be used to measure non-sequential performance? is there a way
> >to quantify this?
> 
> hdparam is a very poor benchmark in general.  Doug Ledford lists some
> other benchmarking tools on his web site that might be of interest,
> but I have never tried them personally.
> 
> I'm still very perplexed by the difference in performance.  Can you
> also provide a cat of /proc/scsi/aic7xxx/0 <- or whatever bus number
> happens to have this device on it.
> 
> --
> Justin
> 
> To Unsubscribe: send mail to majordomo at FreeBSD.org
> with "unsubscribe aic7xxx" in the body of the message

To Unsubscribe: send mail to majordomo at FreeBSD.org
with "unsubscribe aic7xxx" in the body of the message




More information about the aic7xxx mailing list