?
Solved

Why HWStartIO method is called synchronously?

Posted on 2013-01-24
1
Medium Priority
?
549 Views
Last Modified: 2013-01-25
Hi,

With Storport driver,  the routine HWBuildIO is called  wihtout synchronization i.e. without taking any locks. Hence this routine gets invoked paralelly for multiple commands.

However the routine HWStartIO is only called asynchronously. I.e. A spin lock is acquired by storport before calling this routine and is it released only after completing the execution of this routine. I understood from an article that this is done to avoid the interrupts taking the control away from this routine while this routine is executing.

My question is why it is important not to allow the control to be preempted by the ISR while the HWStartIO is executing? What consequences it will have to allow the control to be preempted in the middle of StartIO? Can i get a practical example anywhere?
0
Comment
Question by:raj_ksrt
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 47

Accepted Solution

by:
David earned 1500 total points
ID: 38817117
I'll give you a good practical example.  Yesterday I was writing code on a win2k12 host that had 400+ disk drives attached, with multipathing and multiple initiators. Maybe 1200 targets.
Just imagine what would happen if they all tried to do all of their I/O at the same time. HWStartIO is designed for one I/O request, as it gets called once per I/O request.

It would simply be unworkable to allow multiple I/O requests to be in various phases of operation at the same time using multiple programs/threads.
0

Featured Post

Connect further...control easier

With the ATEN CE624, you can now enjoy a high-quality visual experience powered by HDBaseT technology and the convenience of a single Cat6 cable to transmit uncompressed video with zero latency and multi-streaming for dual-view applications where remote access is required.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

More or less everybody in the IT market understands the basics of Networking, however when we start talking about Storage Networks, things get a bit dizzier, and this is where I would like to help.
Ever notice how you can't use a new drive in Windows without having Windows assigning a Disk Signature?  Ever have a signature collision problem (especially with Virtual Machines?)  This article is intended to help you understand what's going on and…
In this video, we discuss why the need for additional vertical screen space has become more important in recent years, namely, due to the transition in the marketplace of 4x3 computer screens to 16x9 and 16x10 screens (so-called widescreen format). …
Windows 8 came with a dramatically different user interface known as Metro. Notably missing from that interface was a Start button and Start Menu. Microsoft responded to negative user feedback of the Metro interface, bringing back the Start button a…
Suggested Courses

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question