DPCs vs System/Kernel Threads

Hello,

I have written a driver that communicates with a
polled device. Initially I used a System Thread to
“talk” with the hardware. I wanted a lightweight
entity and also a means that would decouple i/o
processing from the I/O manager when talking to a
polled device. However, my driver couldn’t pass WHQL
so I was forced to use a framework. The new version of
the driver is a pig (or at least I suspect the
driver). In the new driver, DPCs are used as a means
to “simulate” something like a thread. This is
necessary because there are several IRP queues to
handle PnP state machine transitions and Power
Management state machine transitions. Of course, there
are many “variables” between the two driver models,
but I would like to ask how expensive is the DPC model
compared to the System Thread model in terms of CPU
usage??

Regards, Vasili


Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook™.
http://calendar.yahoo.com

Vasili,
Can you explain a little more why your driver couldn’t pass WHQL?
Are you saying creating a system thread failed the WHQL?

-Srin.

-----Original Message-----
From: Galchin Vasili [mailto:xxxxx@yahoo.com]
Sent: Friday, June 13, 2003 6:06 PM
To: NT Developers Interest List
Cc: xxxxx@yahoo.com
Subject: [ntdev] DPCs vs System/Kernel Threads

Hello,

I have written a driver that communicates with a
polled device. Initially I used a System Thread to
“talk” with the hardware. I wanted a lightweight
entity and also a means that would decouple i/o
processing from the I/O manager when talking to a
polled device. However, my driver couldn’t pass WHQL
so I was forced to use a framework. The new version of
the driver is a pig (or at least I suspect the
driver). In the new driver, DPCs are used as a means
to “simulate” something like a thread. This is
necessary because there are several IRP queues to
handle PnP state machine transitions and Power
Management state machine transitions. Of course, there
are many “variables” between the two driver models,
but I would like to ask how expensive is the DPC model
compared to the System Thread model in terms of CPU
usage??

Regards, Vasili


Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook™.
http://calendar.yahoo.com


You are currently subscribed to ntdev as: xxxxx@nai.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

The system thread wasn’t the cause. The original
boileplate using the system thread was not complete
enough in terms of WDM. Then I switched to a framework
that uses DPCs and the driver passes HCT, but the
driver is using too much CPU time. My question is
simply a question comparing system threads vs DPCs in
terms of CPU usage!

REgards, Vasili

xxxxx@NAI.com wrote:

Vasili,
Can you explain a little more why your driver
couldn’t pass WHQL?
Are you saying creating a system thread failed the
WHQL?

-Srin.

-----Original Message-----
From: Galchin Vasili [mailto:xxxxx@yahoo.com]
Sent: Friday, June 13, 2003 6:06 PM
To: NT Developers Interest List
Cc: xxxxx@yahoo.com
Subject: [ntdev] DPCs vs System/Kernel Threads

Hello,

I have written a driver that communicates with a
polled device. Initially I used a System Thread to
“talk” with the hardware. I wanted a lightweight
entity and also a means that would decouple i/o
processing from the I/O manager when talking to a
polled device. However, my driver couldn’t pass WHQL
so I was forced to use a framework. The new version
of
the driver is a pig (or at least I suspect the
driver). In the new driver, DPCs are used as a means
to “simulate” something like a thread. This is
necessary because there are several IRP queues to
handle PnP state machine transitions and Power
Management state machine transitions. Of course,
there
are many “variables” between the two driver models,
but I would like to ask how expensive is the DPC
model
compared to the System Thread model in terms of CPU
usage??

Regards, Vasili


Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to
Outlook™.
http://calendar.yahoo.com


You are currently subscribed to ntdev as:
xxxxx@nai.com
To unsubscribe send a blank email to
xxxxx@lists.osr.com


You are currently subscribed to ntdev as:
xxxxx@yahoo.com
To unsubscribe send a blank email to
xxxxx@lists.osr.com


Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

> but I would like to ask how expensive is the DPC model

compared to the System Thread model in terms of CPU

DPC model is better then system thread model, since it does not
require context switches.

DPC model is what usually used for most kinds of devices, nearly for
any DDK samples except floppy.

Max

One can think of a DPC as a lightweight thread, in that the setup is
probably modest in cost relative to a real thread’s. I don’t think,
therefore, that doing this stuff in a DPC repeatedly rescheduled is
likely to be more expensive than doing it in a thread.

But I don’t understand why you are using DPCs (and what kind of DPCs?
Timer-related, I would guess). DPCs are not guaranteed to be executed
quickly after being queued (there was a discussion of this point in the
last few days), so if that’s your reason, you may wish to reconsider.
DPCs have the downside of preventing thread execution as long as they
running on a CPU, so one should be careful lest they hog CPUs. Finally,
even with your second posting, it’s not at all clear why a system-thread
solution would not work, if you were to try to solve the WDM
incompleteness you alluded to.

An aside: Letting WHQL be the cause of revising a design is troublesome
when one has not taken time to understand why WHQL failed one’s
solution. As I understand WHQL, it is intended to uncover dubious
practices, to enforce some good practices and lastly, I suspect,
introduce something like a set of standards or family of practices in
various areas. I would imagine that good thought and experience have
gone into WHQL, and to regard it as just an obstacle or a hoop to jump
through is a mistake. The probability is that a particular failure in
passing WHQL is due to a shortcoming in the design or the design’s
execution. One should explore that possibility first. If upon reflection
one decides WHQL is mistaken, it may be worthwhile to try to convince
Microsoft that WHQL itself needs a change. I don’t believe a
designer/coder’s reaction to failing at WHQL ought to be to seek the
first available alternative that promises to get by WHQL. I don’t cliam
that this was your situation. The present discussion merely brings this
phenomenon to mind.


If replying by e-mail, please remove “nospam.” from the address.

James Antognini

Hi James and others,

I agree with your viewpoint vis-a-vis WHQL but I
have managers who don’t see things that way and they
have gun at my head. Anyway … when you say
“preventing threads” from running … are you saying
Windows threads (user space) plus System Threads??

Regards, Vasili

— James Antognini
wrote:
> One can think of a DPC as a lightweight thread, in
> that the setup is
> probably modest in cost relative to a real thread’s.
> I don’t think,
> therefore, that doing this stuff in a DPC repeatedly
> rescheduled is
> likely to be more expensive than doing it in a
> thread.
>
> But I don’t understand why you are using DPCs (and
> what kind of DPCs?
> Timer-related, I would guess). DPCs are not
> guaranteed to be executed
> quickly after being queued (there was a discussion
> of this point in the
> last few days), so if that’s your reason, you may
> wish to reconsider.
> DPCs have the downside of preventing thread
> execution as long as they
> running on a CPU, so one should be careful lest they
> hog CPUs. Finally,
> even with your second posting, it’s not at all clear
> why a system-thread
> solution would not work, if you were to try to solve
> the WDM
> incompleteness you alluded to.
>
> An aside: Letting WHQL be the cause of revising a
> design is troublesome
> when one has not taken time to understand why WHQL
> failed one’s
> solution. As I understand WHQL, it is intended to
> uncover dubious
> practices, to enforce some good practices and
> lastly, I suspect,
> introduce something like a set of standards or
> family of practices in
> various areas. I would imagine that good thought and
> experience have
> gone into WHQL, and to regard it as just an obstacle
> or a hoop to jump
> through is a mistake. The probability is that a
> particular failure in
> passing WHQL is due to a shortcoming in the design
> or the design’s
> execution. One should explore that possibility
> first. If upon reflection
> one decides WHQL is mistaken, it may be worthwhile
> to try to convince
> Microsoft that WHQL itself needs a change. I don’t
> believe a
> designer/coder’s reaction to failing at WHQL ought
> to be to seek the
> first available alternative that promises to get by
> WHQL. I don’t cliam
> that this was your situation. The present discussion
> merely brings this
> phenomenon to mind.
>
> –
> If replying by e-mail, please remove “nospam.” from
> the address.
>
> James Antognini
>
>
>
> —
> You are currently subscribed to ntdev as:
> xxxxx@yahoo.com
> To unsubscribe send a blank email to
xxxxx@lists.osr.com

__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

— James Antognini
wrote:
> One can think of a DPC as a lightweight thread, in
> that the setup is
> probably modest in cost relative to a real thread’s.
> I don’t think,
> therefore, that doing this stuff in a DPC repeatedly
> rescheduled is
> likely to be more expensive than doing it in a
> thread.
>
> But I don’t understand why you are using DPCs (and
> what kind of DPCs?
> Timer-related, I would guess). DPCs are not
> guaranteed to be executed
> quickly after being queued (there was a discussion
> of this point in the
> last few days), so if that’s your reason, you may
> wish to reconsider.
> DPCs have the downside of preventing thread
^^^ what kind of threads
… users space and system??

> execution as long as they
> running on a CPU, so one should be careful lest they
> hog CPUs. Finally,
> even with your second posting, it’s not at all clear
> why a system-thread
> solution would not work, if you were to try to solve
> the WDM
> incompleteness you alluded to.
>
> An aside: Letting WHQL be the cause of revising a
> design is troublesome
> when one has not taken time to understand why WHQL
> failed one’s
> solution. As I understand WHQL, it is intended to
> uncover dubious
> practices, to enforce some good practices and
> lastly, I suspect,
> introduce something like a set of standards or
> family of practices in
> various areas. I would imagine that good thought and
> experience have
> gone into WHQL, and to regard it as just an obstacle
> or a hoop to jump
> through is a mistake. The probability is that a
> particular failure in
> passing WHQL is due to a shortcoming in the design
> or the design’s
> execution. One should explore that possibility
> first. If upon reflection
> one decides WHQL is mistaken, it may be worthwhile
> to try to convince
> Microsoft that WHQL itself needs a change. I don’t
> believe a
> designer/coder’s reaction to failing at WHQL ought
> to be to seek the
> first available alternative that promises to get by
> WHQL. I don’t cliam
> that this was your situation. The present discussion
> merely brings this
> phenomenon to mind.
>
> –
> If replying by e-mail, please remove “nospam.” from
> the address.
>
> James Antognini
>
>
>
> —
> You are currently subscribed to ntdev as:
> xxxxx@yahoo.com
> To unsubscribe send a blank email to
xxxxx@lists.osr.com

__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

> “preventing threads” from running … are you saying

Windows threads (user space) plus System Threads??

Both.
But first, you will need a DPC anyway to KeSetEvent to awaken your
system thread from the ISR.
Second, DPC-driven code is like a state machine, it does nothing
CPU-intensive, it is driven by upper layer calls (StartIo usually) and
DpcForIsr, and the outcome of all of this is device hardware state
changes and also sometimes IoCompleteRequest.

So, the system thread just adds the complexity and not removes it.

Max

“Galchin Vasili” wrote in message news:xxxxx@ntdev…
>
>
> > DPCs have the downside of preventing thread
> ^^^ what kind of threads
> … users space and system??
>

It’s not gonna help you with a “gun to your head”… but sounds to me like
you need to walk before you can run.

You can’t just hack the crap out of something, call it a driver, and expect
it to work properly – Ignore the whole issue of passing WHQL.

You’ve got to learn something about the operating system first, and
something about Windows drivers next.

I’d recommend you read a few good books, and spend some time on
www.osronline.com, reading articles from The Basics section and the NT
Insider.

Driver writing isn’t something for either dabblers. You actual have to at
least SORT of know what you’re doing. You’re messing with the operating
system on your customer’s machines. Your driver screws up, their system
crashes. Have some respect.

Peter
OSR
(sorry, members… I’ve been seeing far too many of these “I don’t know
anything, I don’t want to learn anything, and I want to get my driver to
work, will you help me” posts lately. Somebody needed to beat some of these
folks with the clue stick).

“Peter Viscarola” wrote in message
> (sorry, members… I’ve been seeing far too many of these “I don’t know
> anything, I don’t want to learn anything, and I want to get my driver to
> work, will you help me” posts lately. Somebody needed to beat some of
these
> folks with the clue stick).

Actually, we need to beat their mangers with a really big stick, since a lot
of are thinking (or whatever they do to approximate thinking) why should I
pay for a kernel guy, I get some VB idiot to do it for a lot less? I
recently was told I charge too much, and then saw within a week someone
obviously without a clue asking on the various forums for help doing the
project I was too expensive for (somehow I wasn’t interested in helping the
guy).

Don Burn
Windows 2k/XP/2k3 Filesystem and Driver Consulting

Maxim and others,

Kak Bbl? My device is slow AND is polled (not
interrupt-driven).

Regards, Vasili

— “Maxim S. Shatskih”
wrote:
> > “preventing threads” from running … are you
> saying
> > Windows threads (user space) plus System Threads??
>
> Both.
> But first, you will need a DPC anyway to KeSetEvent
> to awaken your
> system thread from the ISR.
> Second, DPC-driven code is like a state machine, it
> does nothing
> CPU-intensive, it is driven by upper layer calls
> (StartIo usually) and
> DpcForIsr, and the outcome of all of this is device
> hardware state
> changes and also sometimes IoCompleteRequest.
>
> So, the system thread just adds the complexity and
> not removes it.
>
> Max
>
>
>
> —
> You are currently subscribed to ntdev as:
> xxxxx@yahoo.com
> To unsubscribe send a blank email to
xxxxx@lists.osr.com

__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

Peter toally misunderstood what I am doing. OK … I
am not a newbie. I originally used a boilerplate for
the top part of the driver that directly is called by
the I/O manager. I have tons of books that I read all
the time. The original boilerplate that I used was not
“complete” (in the sense a mathematician uses the
word), i.e. it wasn’t complete vis-a-vis PnP state
machine and Power Management state machine. My
original design was to use a system thread for my “i/o
engine” because my device is very slow and also
polled! However, because the boilerplate was
incomplete in the sense I specified above I switched
to a better “boilerplate” or WDM framework. No less
than Walter Oney(!!!) in his book in the chapter on
Power Management strongly(!!!) suggests using an
existig framework rather than writing one’s own. So if
you want to get in wrestling … maybe go after
Walter (whom I believe). In any case going to the WDM
framework I inherited a new architecture, i.e. uses
DPCs to implement a “thread” notion. The framework
author adopted this approach along with several IRP
queues in order to handle stalling IRPs when some PnP
state transitions and Power Management state
transitions!

REgards, Vasili

— Peter Viscarola wrote:
>
> “Galchin Vasili” wrote in
> message news:xxxxx@ntdev…
> >
> >
> > > DPCs have the downside of preventing thread
> > ^^^ what kind of
> threads
> > … users space and system??
> >
>
> It’s not gonna help you with a “gun to your head”…
> but sounds to me like
> you need to walk before you can run.
>
> You can’t just hack the crap out of something, call
> it a driver, and expect
> it to work properly – Ignore the whole issue of
> passing WHQL.
>
> You’ve got to learn something about the operating
> system first, and
> something about Windows drivers next.
>
> I’d recommend you read a few good books, and spend
> some time on
> www.osronline.com, reading articles from The Basics
> section and the NT
> Insider.
>
> Driver writing isn’t something for either dabblers.
> You actual have to at
> least SORT of know what you’re doing. You’re
> messing with the operating
> system on your customer’s machines. Your driver
> screws up, their system
> crashes. Have some respect.
>
> Peter
> OSR
> (sorry, members… I’ve been seeing far too many of
> these “I don’t know
> anything, I don’t want to learn anything, and I want
> to get my driver to
> work, will you help me” posts lately. Somebody
> needed to beat some of these
> folks with the clue stick).
>
>
>
>
> —
> You are currently subscribed to ntdev as:
> xxxxx@yahoo.com
> To unsubscribe send a blank email to
xxxxx@lists.osr.com

__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

Thank you, Peter. I see these clueless types posting the same thing day
after day with no mention of what they are trying to accomplish. You might
be able to write a driver if you’re clueless, but you need the systems
analyst to have all the clues.

“Peter Viscarola” wrote in message news:xxxxx@ntdev…
>
>
> “Galchin Vasili” wrote in message
news:xxxxx@ntdev…
> >
> >
> > > DPCs have the downside of preventing thread
> > ^^^ what kind of threads
> > … users space and system??
> >
>
> It’s not gonna help you with a “gun to your head”… but sounds to me like
> you need to walk before you can run.
>
> You can’t just hack the crap out of something, call it a driver, and
expect
> it to work properly – Ignore the whole issue of passing WHQL.
>
> You’ve got to learn something about the operating system first, and
> something about Windows drivers next.
>
> I’d recommend you read a few good books, and spend some time on
> www.osronline.com, reading articles from The Basics section and the NT
> Insider.
>
> Driver writing isn’t something for either dabblers. You actual have to at
> least SORT of know what you’re doing. You’re messing with the operating
> system on your customer’s machines. Your driver screws up, their system
> crashes. Have some respect.
>
> Peter
> OSR
> (sorry, members… I’ve been seeing far too many of these “I don’t know
> anything, I don’t want to learn anything, and I want to get my driver to
> work, will you help me” posts lately. Somebody needed to beat some of
these
> folks with the clue stick).
>
>
>
>
>

Please let us know the device so we can avoid ever buying one.

“Galchin Vasili” wrote in message news:xxxxx@ntdev…
>
>
> Maxim and others,
>
> Kak Bbl? My device is slow AND is polled (not
> interrupt-driven).
>
> Regards, Vasili
>
> — “Maxim S. Shatskih”
> wrote:
> > > “preventing threads” from running … are you
> > saying
> > > Windows threads (user space) plus System Threads??
> >
> > Both.
> > But first, you will need a DPC anyway to KeSetEvent
> > to awaken your
> > system thread from the ISR.
> > Second, DPC-driven code is like a state machine, it
> > does nothing
> > CPU-intensive, it is driven by upper layer calls
> > (StartIo usually) and
> > DpcForIsr, and the outcome of all of this is device
> > hardware state
> > changes and also sometimes IoCompleteRequest.
> >
> > So, the system thread just adds the complexity and
> > not removes it.
> >
> > Max
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as:
> > xxxxx@yahoo.com
> > To unsubscribe send a blank email to
> xxxxx@lists.osr.com
>
>
> __________________________________
> Do you Yahoo!?
> SBC Yahoo! DSL - Now only $29.95 per month!
> http://sbc.yahoo.com
>
>
>

It is IPMI BMC (go to http://www.intel.com and look
for IPMI spec). Again I say unemployment in Santa
Clara County is 8.3%. I don’t always have a choice
what device I have to write a driver for.

REgards, Vasili

— “David J. Craig” wrote:
> Please let us know the device so we can avoid ever
> buying one.
>
> “Galchin Vasili” wrote in
> message news:xxxxx@ntdev…
> >
> >
> > Maxim and others,
> >
> > Kak Bbl? My device is slow AND is polled (not
> > interrupt-driven).
> >
> > Regards, Vasili
> >
> > — “Maxim S. Shatskih”
> > wrote:
> > > > “preventing threads” from running … are you
> > > saying
> > > > Windows threads (user space) plus System
> Threads??
> > >
> > > Both.
> > > But first, you will need a DPC anyway to
> KeSetEvent
> > > to awaken your
> > > system thread from the ISR.
> > > Second, DPC-driven code is like a state machine,
> it
> > > does nothing
> > > CPU-intensive, it is driven by upper layer calls
> > > (StartIo usually) and
> > > DpcForIsr, and the outcome of all of this is
> device
> > > hardware state
> > > changes and also sometimes IoCompleteRequest.
> > >
> > > So, the system thread just adds the complexity
> and
> > > not removes it.
> > >
> > > Max
> > >
> > >
> > >
> > > —
> > > You are currently subscribed to ntdev as:
> > > xxxxx@yahoo.com
> > > To unsubscribe send a blank email to
> > xxxxx@lists.osr.com
> >
> >
> >
> > Do you Yahoo!?
> > SBC Yahoo! DSL - Now only $29.95 per month!
> > http://sbc.yahoo.com
> >
> >
> >
>
>
>
> —
> You are currently subscribed to ntdev as:
> xxxxx@yahoo.com
> To unsubscribe send a blank email to
xxxxx@lists.osr.com


Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

For your sake I sure hope your managers don’t subscribe to this list…

  • Nick Ryan

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Galchin Vasili
Sent: Saturday, June 14, 2003 2:48 PM
To: NT Developers Interest List
Cc: xxxxx@yoshimuni.com
Subject: [ntdev] Re: DPCs vs System/Kernel Threads

It is IPMI BMC (go to http://www.intel.com and look
for IPMI spec). Again I say unemployment in Santa
Clara County is 8.3%. I don’t always have a choice
what device I have to write a driver for.

REgards, Vasili

— “David J. Craig” wrote:
> > Please let us know the device so we can avoid ever
> > buying one.
> >
> > “Galchin Vasili” wrote in
> > message news:xxxxx@ntdev…
> > >
> > >
> > > Maxim and others,
> > >
> > > Kak Bbl? My device is slow AND is polled (not
> interrupt-driven).
> > >
> > > Regards, Vasili
> > >
> > > — “Maxim S. Shatskih”
> > > wrote:
> > > > > “preventing threads” from running … are you
> > > > saying
> > > > > Windows threads (user space) plus System
> > Threads??
> > > >
> > > > Both.
> > > > But first, you will need a DPC anyway to
> > KeSetEvent
> > > > to awaken your
> > > > system thread from the ISR.
> > > > Second, DPC-driven code is like a state machine,
> > it
> > > > does nothing
> > > > CPU-intensive, it is driven by upper layer calls
> > > > (StartIo usually) and
> > > > DpcForIsr, and the outcome of all of this is
> > device
> > > > hardware state
> > > > changes and also sometimes IoCompleteRequest.
> > > >
> > > > So, the system thread just adds the complexity
> > and
> > > > not removes it.
> > > >
> > > > Max
> > > >
> > > >
> > > >
> > > > —
> > > > You are currently subscribed to ntdev as: xxxxx@yahoo.com
> > > > To unsubscribe send a blank email to
> > > xxxxx@lists.osr.com
> > >
> > >
> > >
> > > Do you Yahoo!?
> > > SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com
> > >
> > >
> > >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as:
> > xxxxx@yahoo.com
> > To unsubscribe send a blank email to
> xxxxx@lists.osr.com
>
>
>

> Do you Yahoo!?
> SBC Yahoo! DSL - Now only $29.95 per month!
> http://sbc.yahoo.com
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@nryan.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>

Why not use the Intel example driver? Using a timer DPC to do the polling
should keep the drain on system resources lower. Considerable amount of
missing information from your posts make it difficult for even Maxim and
Peter to assist. The example does use the ROOT enumerated driver logic, but
I don’t see any indication that the device has an ID that can force Windows
to look for matching driver. You could get DriverWorks or use the code from
Walter Oney’s 2nd edition book and after you add the logic to actually do
the work, it should pass any WHQL tests. The use of a named event could be
a question, but changes to the application to use a private event would
eliminate that event.

“Galchin Vasili” wrote in message news:xxxxx@ntdev…
>
>
> It is IPMI BMC (go to http://www.intel.com and look
> for IPMI spec). Again I say unemployment in Santa
> Clara County is 8.3%. I don’t always have a choice
> what device I have to write a driver for.
>
> REgards, Vasili
>
> — “David J. Craig” wrote:
> > Please let us know the device so we can avoid ever
> > buying one.
> >
> > “Galchin Vasili” wrote in
> > message news:xxxxx@ntdev…
> > >
> > >
> > > Maxim and others,
> > >
> > > Kak Bbl? My device is slow AND is polled (not
> > > interrupt-driven).
> > >
> > > Regards, Vasili
> > >
> > > — “Maxim S. Shatskih”
> > > wrote:
> > > > > “preventing threads” from running … are you
> > > > saying
> > > > > Windows threads (user space) plus System
> > Threads??
> > > >
> > > > Both.
> > > > But first, you will need a DPC anyway to
> > KeSetEvent
> > > > to awaken your
> > > > system thread from the ISR.
> > > > Second, DPC-driven code is like a state machine,
> > it
> > > > does nothing
> > > > CPU-intensive, it is driven by upper layer calls
> > > > (StartIo usually) and
> > > > DpcForIsr, and the outcome of all of this is
> > device
> > > > hardware state
> > > > changes and also sometimes IoCompleteRequest.
> > > >
> > > > So, the system thread just adds the complexity
> > and
> > > > not removes it.
> > > >
> > > > Max
> > > >
> > > >
> > > >
> > > > —
> > > > You are currently subscribed to ntdev as:
> > > > xxxxx@yahoo.com
> > > > To unsubscribe send a blank email to
> > > xxxxx@lists.osr.com
> > >
> > >
> > >
> > > Do you Yahoo!?
> > > SBC Yahoo! DSL - Now only $29.95 per month!
> > > http://sbc.yahoo.com
> > >
> > >
> > >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as:
> > xxxxx@yahoo.com
> > To unsubscribe send a blank email to
> xxxxx@lists.osr.com
>
>
>

> Do you Yahoo!?
> SBC Yahoo! DSL - Now only $29.95 per month!
> http://sbc.yahoo.com
>
>
>

Yes, we have a problem with the clueless. It’s an irritation, and
sometimes it is very irritating indeed. I think, however, that in the
present instance the characterization has become ntemperate.


If replying by e-mail, please remove “nospam.” from the address.

James Antognini

Me too … but at 52 I am still very outspoken … I
am looking out for young people!

Regards, Vasili

— Nick Ryan wrote:
> For your sake I sure hope your managers don’t
> subscribe to this list…
>
> - Nick Ryan
>
> > -----Original Message-----
> > From: xxxxx@lists.osr.com
> > [mailto:xxxxx@lists.osr.com] On
> Behalf Of Galchin Vasili
> > Sent: Saturday, June 14, 2003 2:48 PM
> > To: NT Developers Interest List
> > Cc: xxxxx@yoshimuni.com
> > Subject: [ntdev] Re: DPCs vs System/Kernel Threads
> >
> >
> >
> > It is IPMI BMC (go to http://www.intel.com and
> look
> > for IPMI spec). Again I say unemployment in Santa
> > Clara County is 8.3%. I don’t always have a choice
> > what device I have to write a driver for.
> >
> > REgards, Vasili
> >
> > — “David J. Craig”
> wrote:
> > > Please let us know the device so we can avoid
> ever
> > > buying one.
> > >
> > > “Galchin Vasili” wrote in
> > > message news:xxxxx@ntdev…
> > > >
> > > >
> > > > Maxim and others,
> > > >
> > > > Kak Bbl? My device is slow AND is polled
> (not
> > interrupt-driven).
> > > >
> > > > Regards, Vasili
> > > >
> > > > — “Maxim S. Shatskih”
>
> > > > wrote:
> > > > > > “preventing threads” from running … are
> you
> > > > > saying
> > > > > > Windows threads (user space) plus System
> > > Threads??
> > > > >
> > > > > Both.
> > > > > But first, you will need a DPC anyway to
> > > KeSetEvent
> > > > > to awaken your
> > > > > system thread from the ISR.
> > > > > Second, DPC-driven code is like a state
> machine,
> > > it
> > > > > does nothing
> > > > > CPU-intensive, it is driven by upper layer
> calls
> > > > > (StartIo usually) and
> > > > > DpcForIsr, and the outcome of all of this is
> > > device
> > > > > hardware state
> > > > > changes and also sometimes
> IoCompleteRequest.
> > > > >
> > > > > So, the system thread just adds the
> complexity
> > > and
> > > > > not removes it.
> > > > >
> > > > > Max
> > > > >
> > > > >
> > > > >
> > > > > —
> > > > > You are currently subscribed to ntdev as:
> xxxxx@yahoo.com
> > > > > To unsubscribe send a blank email to
> > > > xxxxx@lists.osr.com
> > > >
> > > >
> > > >
> > > > Do you Yahoo!?
> > > > SBC Yahoo! DSL - Now only $29.95 per month!
> http://sbc.yahoo.com
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > > —
> > > You are currently subscribed to ntdev as:
> > > xxxxx@yahoo.com
> > > To unsubscribe send a blank email to
> > xxxxx@lists.osr.com
> >
> >
> >

> > Do you Yahoo!?
> > SBC Yahoo! DSL - Now only $29.95 per month!
> > http://sbc.yahoo.com
> >
> >
> > —
> > You are currently subscribed to ntdev as:
> xxxxx@nryan.com
> > To unsubscribe send a blank email to
> xxxxx@lists.osr.com
> >
>
>
>
> —
> You are currently subscribed to ntdev as:
> xxxxx@yahoo.com
> To unsubscribe send a blank email to
xxxxx@lists.osr.com

__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

No problem … there are many things I cannot declose
for legal reasons. My hands are tied in many ways.
Thanks guys.

REgards, Vasili

— James Antognini
wrote:
> Yes, we have a problem with the clueless. It’s an
> irritation, and
> sometimes it is very irritating indeed. I think,
> however, that in the
> present instance the characterization has become
> ntemperate.
>
> –
> If replying by e-mail, please remove “nospam.” from
> the address.
>
> James Antognini
>
>
>
> —
> You are currently subscribed to ntdev as:
> xxxxx@yahoo.com
> To unsubscribe send a blank email to
xxxxx@lists.osr.com

__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com