2004-10-07 14:15:24

by Brian McGrew

[permalink] [raw]
Subject: PCI Burst and Overall System Speed (XEON)

I have a question about the PCI Bursting and overall processing speed on a dual Xeon box; but first I have to give a slight bit of background, (all of it relevant to the question) I'll try and keep it short.

We take a Dell PE1600 box that's Dual Xeons and drop in two proprietary frame grabbers and attach a large format (2K x 2K) camera to each frame grabber. The system fly's along and acquires images at the rate of about 15 frames per second per camera. We use our dot plate for testing, it's a 16" x 12" glass plate with 1/8", 1/4" and 1/2" dots on it, primarily used for calibration.

It we load up a dot plate and use one camera, we can inspect it in about 66 seconds. Turn on both cameras and that time is almost cut in half, to about 37 seconds (to be expected) but either way, one or two cameras, we pause our inspection several times because our frame buffers fill up to 100% and we have to wait while we work off the images (we won't start another scan until there enough available frames in the frame buffer).

If we turn on PCI Bursting for reading, we can shave another eight to ten seconds off of each inspection, not bad but here's where the question comes in and keep in mind I discovered this by accident!

If I switch to a different desktop and come back, the inspection times goes down by a couple seconds. If I do something else on the system, like run the calculator, run up solitaire or xeyes, the inspection time goes down. So just for the hell of it, I went to a different terminal on a different desktop and did the proverbial 'while true do; echo "wtf"; done and let it run while the machine was inspecting. The inspection time was cut in half. With two cameras, on a dot plate with PCI Burst turned on, I was right around 14 to 16 seconds. During the inspection, we don't even pause. The system is working off the load so fast that our frame buffers never get above 10% loaded.

I have been able to reproduce these same results on multiple machines running inspections on real circuit boards instead of just dot plates. So what I'm really wondering is, I think that I've shown that with PCI Bursting turned on, and something else going on in the background that forces both processors to be at 100% utilization, the data moving across the bus is much faster and consistent.

Does anyone know what I'm talking about and can someone who knows a bit more about hardware/kernel/pci than I explain a bit? I'm not a hardware guy and I just dove into the PCI stuff very recently.

TIA,

-brian

Brian D. McGrew { [email protected] || [email protected] }
---
> YOU! Off my planet!


2004-10-07 14:30:58

by Arjan van de Ven

[permalink] [raw]
Subject: Re: PCI Burst and Overall System Speed (XEON)

On Thu, 2004-10-07 at 16:12, Brian McGrew wrote:
> I have a question about the PCI Bursting and overall processing speed on a dual Xeon box; but first I have to give a slight bit of background, (all of it relevant to the question) I'll try and keep it short.


can you try adding "idle=poll" to the kernel commandline ?


Attachments:
signature.asc (189.00 B)
This is a digitally signed message part

2004-10-07 18:01:26

by Davide Rossetti

[permalink] [raw]
Subject: Re: PCI Burst and Overall System Speed (XEON)

Brian McGrew wrote:

>I have a question about the PCI Bursting and overall processing speed on a dual Xeon box; but first I have to give a slight bit of background, (all of it relevant to the question) I'll try and keep it short.
>
>
>
what do you mean by "PCI Bursting" ?? are you using DMA (PCI card Mem
Write Multiple) or MMIO read (CPU Mem Read Line) ?

anyway on my system, 2 CPU Xeon 2.6GHz GC-LE + a custom PCI-X 100MHz
card, I get
- 440.755 MByte/s, only 1 process
- 424.683 MByte/s, the process below running:
sh -c 'while true ; do echo miao ; done' > /dev/null

it's:
Linux xeino 2.4.22-1.2199.nptlsmp #1 SMP Wed Aug 4 11:48:29 EDT 2004
i686 i686 i386 GNU/Linux

what is your kernel version?

regards