2007-01-15 11:07:54

by Soeren Sonnenburg

[permalink] [raw]
Subject: prioritize PCI traffic ?

Dear all,

is it possible to explicitly tell the kernel to prioritize PCI traffic
for a number of cards in pci slots x,y,z ?

I am asking as severe ide traffic causes lost frames when watching TV
using 2 DVB cards + vdr... This is simply due to the fact that the PCI
bus is saturated...

So, is any prioritizing of the PCI bus possible ?

Best
Soeren
--
Sometimes, there's a moment as you're waking, when you become aware of
the real world around you, but you're still dreaming.


2007-01-15 12:01:26

by Andreas Mohr

[permalink] [raw]
Subject: Re: prioritize PCI traffic ?

Hi,

On Mon, Jan 15, 2007 at 12:07:45PM +0100, Soeren Sonnenburg wrote:
> Dear all,
>
> is it possible to explicitly tell the kernel to prioritize PCI traffic
> for a number of cards in pci slots x,y,z ?
>
> I am asking as severe ide traffic causes lost frames when watching TV
> using 2 DVB cards + vdr... This is simply due to the fact that the PCI
> bus is saturated...
>
> So, is any prioritizing of the PCI bus possible ?

You probably need to adjust PCI latency settings via setpci:

http://www-128.ibm.com/developerworks/library/l-hw2.html

Not sure whether this is a LKML related question ;)

Andreas Mohr

2007-01-15 12:07:37

by Soeren Sonnenburg

[permalink] [raw]
Subject: Re: prioritize PCI traffic ?

On Mon, 2007-01-15 at 13:01 +0100, Andreas Mohr wrote:
> Hi,
>
> On Mon, Jan 15, 2007 at 12:07:45PM +0100, Soeren Sonnenburg wrote:
> > Dear all,
> >
> > is it possible to explicitly tell the kernel to prioritize PCI traffic
> > for a number of cards in pci slots x,y,z ?
> >
> > I am asking as severe ide traffic causes lost frames when watching TV
> > using 2 DVB cards + vdr... This is simply due to the fact that the PCI
> > bus is saturated...
> >
> > So, is any prioritizing of the PCI bus possible ?
>
> You probably need to adjust PCI latency settings via setpci:
>
> http://www-128.ibm.com/developerworks/library/l-hw2.html

Thanks, but I already tried this...

> Not sure whether this is a LKML related question ;)

Well I already tried to set maximum latencies etc to the cards to
prioritize to no avail... This did not make a difference though. Maybe
this is due to the fact that a lot more has to be transferred (not just
sound, but video data) and this is not possible in a single
transaction ... ?!

Soeren
--
Sometimes, there's a moment as you're waking, when you become aware of
the real world around you, but you're still dreaming.

2007-01-15 13:54:11

by Vaidyanathan Srinivasan

[permalink] [raw]
Subject: Re: prioritize PCI traffic ?


Soeren Sonnenburg wrote:
> Dear all,
>
> is it possible to explicitly tell the kernel to prioritize PCI traffic
> for a number of cards in pci slots x,y,z ?
>
> I am asking as severe ide traffic causes lost frames when watching TV
> using 2 DVB cards + vdr... This is simply due to the fact that the PCI
> bus is saturated...

How do you know that the bus is saturated?
Are you streaming data to/from the ide hard disks/CDROM?
Do you have DMAs 'ON' for the hard disks?
Is everything just fine if there are no IDE traffic?
Are you running 2.6 kernel with preempt 'ON'?
Are all hardware on the same IRQ line? (shared interrupts)

> So, is any prioritizing of the PCI bus possible ?

The drivers + application indirectly can control priority on the
bus. Just reduce the priority of the application that uses IDE and
see if adjusting nice values of applications can change the scenario.

--Vaidy

> Best
> Soeren
> --
> Sometimes, there's a moment as you're waking, when you become aware of
> the real world around you, but you're still dreaming.
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

2007-01-15 14:00:41

by Soeren Sonnenburg

[permalink] [raw]
Subject: Re: prioritize PCI traffic ?

On Mon, 2007-01-15 at 19:23 +0530, Vaidyanathan Srinivasan wrote:
> Soeren Sonnenburg wrote:
> > Dear all,
> >
> > is it possible to explicitly tell the kernel to prioritize PCI traffic
> > for a number of cards in pci slots x,y,z ?
> >
> > I am asking as severe ide traffic causes lost frames when watching TV
> > using 2 DVB cards + vdr... This is simply due to the fact that the PCI
> > bus is saturated...
>
> How do you know that the bus is saturated?

I simply dd if=/dev/sd? of=/dev/null from four brand new sata-harddisks.

> Are you streaming data to/from the ide hard disks/CDROM?

yes.

> Do you have DMAs 'ON' for the hard disks?

yes.

> Is everything just fine if there are no IDE traffic?

yes.

> Are you running 2.6 kernel with preempt 'ON'?

no: CONFIG_PREEMPT_NONE=y

> Are all hardware on the same IRQ line? (shared interrupts)

no: libata devices are on IRQ 16 and DVB devices on IRQ 20

> > So, is any prioritizing of the PCI bus possible ?
>
> The drivers + application indirectly can control priority on the
> bus. Just reduce the priority of the application that uses IDE and
> see if adjusting nice values of applications can change the scenario.

That unfortunately did not help... no change...

Soeren
--
Sometimes, there's a moment as you're waking, when you become aware of
the real world around you, but you're still dreaming.

2007-01-15 14:25:23

by Robert Hancock

[permalink] [raw]
Subject: Re: prioritize PCI traffic ?

Soeren Sonnenburg wrote:
> Dear all,
>
> is it possible to explicitly tell the kernel to prioritize PCI traffic
> for a number of cards in pci slots x,y,z ?
>
> I am asking as severe ide traffic causes lost frames when watching TV
> using 2 DVB cards + vdr... This is simply due to the fact that the PCI
> bus is saturated...
>
> So, is any prioritizing of the PCI bus possible ?

That would be chipset dependent. Some chipsets may be able to assign
different arbitration priorities to different slots, but certainly you
can't do this generically..

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from [email protected]
Home Page: http://www.roberthancock.com/

2007-01-15 14:54:33

by Vaidyanathan Srinivasan

[permalink] [raw]
Subject: Re: prioritize PCI traffic ?



Soeren Sonnenburg wrote:
> On Mon, 2007-01-15 at 19:23 +0530, Vaidyanathan Srinivasan wrote:
>> Soeren Sonnenburg wrote:
>>> Dear all,
>>>
>>> is it possible to explicitly tell the kernel to prioritize PCI traffic
>>> for a number of cards in pci slots x,y,z ?
>>>
>>> I am asking as severe ide traffic causes lost frames when watching TV
>>> using 2 DVB cards + vdr... This is simply due to the fact that the PCI
>>> bus is saturated...
>> How do you know that the bus is saturated?
>
> I simply dd if=/dev/sd? of=/dev/null from four brand new sata-harddisks.
>
>> Are you streaming data to/from the ide hard disks/CDROM?
>
> yes.
>
>> Do you have DMAs 'ON' for the hard disks?
>
> yes.

Good.

>> Is everything just fine if there are no IDE traffic?
>
> yes.

Good.

>> Are you running 2.6 kernel with preempt 'ON'?
>
> no: CONFIG_PREEMPT_NONE=y
>

Try CONFIG_PREEMPT=y it may help. It made the system more responsive
for me.

>> Are all hardware on the same IRQ line? (shared interrupts)
>
> no: libata devices are on IRQ 16 and DVB devices on IRQ 20

Watch the interrupt count (/proc/interrupts) and interrupt rate,
that may give some clue on what is happening on the PCI bus.

>
>>> So, is any prioritizing of the PCI bus possible ?
>> The drivers + application indirectly can control priority on the
>> bus. Just reduce the priority of the application that uses IDE and
>> see if adjusting nice values of applications can change the scenario.
>
> That unfortunately did not help... no change...

33Mhz 32-bit PCI bus on typical PC can do around 100MB/sec... watch
your individual disk transfer rates and data rate to each DVB.
dd from 4 new SATA drive will probably fillup the bus. However,
depending on your motherboard, the integrated SATA controllers may
be on a different PCI bus than the one for the slots.

You can watch the lspci output to determine which bus the devices
are located.

--Vaidy

>
> Soeren
> --
> Sometimes, there's a moment as you're waking, when you become aware of
> the real world around you, but you're still dreaming.

2007-01-17 20:22:51

by Hans-Peter Jansen

[permalink] [raw]
Subject: Re: prioritize PCI traffic ?

Am Montag, 15. Januar 2007 15:53 schrieb Vaidyanathan Srinivasan:
>
> 33Mhz 32-bit PCI bus on typical PC can do around 100MB/sec...

Substract roughly n * 5MB for VIA chipsets, where n is the age (1 <= n <=
4), and even more for SIS, ATI..

Pete

2007-01-27 00:32:42

by Lee Revell

[permalink] [raw]
Subject: Re: prioritize PCI traffic ?

On 1/17/07, Hans-Peter Jansen <[email protected]> wrote:
> Am Montag, 15. Januar 2007 15:53 schrieb Vaidyanathan Srinivasan:
> >
> > 33Mhz 32-bit PCI bus on typical PC can do around 100MB/sec...
>
> Substract roughly n * 5MB for VIA chipsets, where n is the age (1 <= n <=
> 4), and even more for SIS, ATI..

While developing the latency tracer in the -rt kernel, Ingo and others
discovered that some SATA controllers can produce very bad DMA
starvation at higher speeds. A latency trace of such an event looks
like the entire system is going in slow motion. Presumably, vendors
do this to improve benchmark scores.

Try forcing your drives to a lower speed.

Lee