Hallo,
i'm back with my DPC latency problem: i'm testing my driver on an SMP
machine, and 4 or 5 times every second when in the isr i request the
dpc, i find that the old request is still in queue.
When I start the OS with the /onecpu option, this behaviour disappears
and the DPC is never delayed too much (>1ms).
Does anyone have some clue for solving this problem ?
I don't understand why the dpc handling seems to slow down so much on a
SMP machine.

Thanks,

e.

Re: DPC has high latency only with SMP by ernie

ernie
Tue Aug 17 11:24:48 CDT 2004

I'm more and more puzzled: if I launch some CPU intensive application,
the problem with the DPC longly waiting on queue disappears.
Does anyone have some ideas on what could cause this behaviour ?
Could HT be part of the problem ?

Thanks,

e.

> Hallo,
> i'm back with my DPC latency problem: i'm testing my driver on an SMP
> machine, and 4 or 5 times every second when in the isr i request the
> dpc, i find that the old request is still in queue.
> When I start the OS with the /onecpu option, this behaviour disappears
> and the DPC is never delayed too much (>1ms).
> Does anyone have some clue for solving this problem ?
> I don't understand why the dpc handling seems to slow down so much on a
> SMP machine.
>
> Thanks,
>
> e.

Re: DPC has high latency only with SMP by Stephan

Stephan
Tue Aug 17 12:55:10 CDT 2004

I did not watch any of your earlier threads. Any chance you have the
wrong HAL installed (we had DELL machines here that came with the UP
HAL installed on HT)? Or the HAL has a bug? Can you try a machine from
a different vendor?

Stephan
---
On Tue, 17 Aug 2004 16:05:48 +0200, ernie <ernie@gmx.net> wrote:

>Hallo,
>i'm back with my DPC latency problem: i'm testing my driver on an SMP
>machine, and 4 or 5 times every second when in the isr i request the
>dpc, i find that the old request is still in queue.
>When I start the OS with the /onecpu option, this behaviour disappears
>and the DPC is never delayed too much (>1ms).
>Does anyone have some clue for solving this problem ?
>I don't understand why the dpc handling seems to slow down so much on a
>SMP machine.
>
>Thanks,
>
> e.

Re: DPC has high latency only with SMP by Don

Don
Tue Aug 17 13:19:41 CDT 2004

Another question is are you playing any games with processor affinity in
your application or driver? A DPC runs on the processor it is queued on, if
you queue the DPC on processor 2 and get your interrupts on processor 1 you
will see a degradation in performance.


--
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Remove StopSpam from the email to reply

"Stephan Wolf [MVP]" <stewo68@hotmail.com> wrote in message
news:2fh4i0pl9kqhqd9vn266bbh6c53bjd475r@4ax.com...
> I did not watch any of your earlier threads. Any chance you have the
> wrong HAL installed (we had DELL machines here that came with the UP
> HAL installed on HT)? Or the HAL has a bug? Can you try a machine from
> a different vendor?
>
> Stephan
> ---
> On Tue, 17 Aug 2004 16:05:48 +0200, ernie <ernie@gmx.net> wrote:
>
> >Hallo,
> >i'm back with my DPC latency problem: i'm testing my driver on an SMP
> >machine, and 4 or 5 times every second when in the isr i request the
> >dpc, i find that the old request is still in queue.
> >When I start the OS with the /onecpu option, this behaviour disappears
> >and the DPC is never delayed too much (>1ms).
> >Does anyone have some clue for solving this problem ?
> >I don't understand why the dpc handling seems to slow down so much on a
> >SMP machine.
> >
> >Thanks,
> >
> > e.



Re: DPC has high latency only with SMP by ernie

ernie
Wed Aug 18 04:55:12 CDT 2004

Hallo,
thank you for your insights.
I'm not setting any processor affinity, but I think I will try soon: in
the system monitor I've noticed that when both the cpu's are 'free' the
interrupts and the dpc are mostly queued on the cpu 0 (cpu 0 handles
almost about 1000 dpc and interrupts per second, while the cpu 1 handles
about 50 interrupts and dpcs per sec.), while when I run a cpu
intensive application the load is a little better distributed (in terms
of 2/3 on cpu0 and 1/3 on cpu1, HT is disabled at the moment since I
wanted to restrict the variables number); thus I'm thinking of targeting
the dpcs to the existing processors in round robin, just to see what
happens.
I'm not sure of what HAL I have, I've installed Win2003 from scratch on
the dual processor with HT activated, so I hope it chose the correct
one, anyway how can I check ?
Another thing: HT doesn't seem to have influence on this behaviour: both
with HT activated and deactivated I have some DPC sleeping on queue for
more than 1ms until any of the CPUs has some heavy load.
I'm setting up a dual processor from another vendor, to give it a try.
Finally if it's a bugged HAL I think we're in troubles but again I
really don't know how to verify.

e.

Don Burn wrote:

> Another question is are you playing any games with processor affinity in
> your application or driver? A DPC runs on the processor it is queued on, if
> you queue the DPC on processor 2 and get your interrupts on processor 1 you
> will see a degradation in performance.
>
>

"Stephan Wolf [MVP]" <stewo68@hotmail.com> wrote in message
news:2fh4i0pl9kqhqd9vn266bbh6c53bjd475r@4ax.com...

>> I did not watch any of your earlier threads. Any chance you have the
>> wrong HAL installed (we had DELL machines here that came with the UP
>> HAL installed on HT)? Or the HAL has a bug? Can you try a machine from
>> a different vendor?
>>
>> Stephan