Hi
I wonder if anyone can enlighten me? What is the component of Win
XP/2000 that dies the low level disk IO during the hibernation process?
I understand that with the new boot/resume performance improvements in
XP the system uses DMA IO to do the writes.
Any help appreciated.
Cheers
Gordon
“Gordon Parrott” wrote in message
news:xxxxx@ntdev…
> I wonder if anyone can enlighten me? What is the component of Win
> XP/2000 that dies the low level disk IO during the hibernation process?
> I understand that with the new boot/resume performance improvements in
> XP the system uses DMA IO to do the writes.
For going into hibernation, it’s the same storage stack that runs all the
time. For coming out of hibernation, it’s a very similar situation to the
boot, except that the NTLDR loads memory from the hibernation file, instead
of loading the registry, kernel, drivers, etc., and initializing them.
That’s all a gross simplification. Lots more detail about startup and
shutdown in “Inside Windows 2000, 3rd Edition”.
Phil
–
Philip D. Barila
Seagate Technology, LLC
(720) 684-1842
As if I need to say it: Not speaking for Seagate.
>> For going into hibernation, it’s the same storage stack that runs all
the time.
Actually, hiber uses an alternate storage stack, with diskdump.sys acting as
a SCSI port which target private loaded
miniports. It uses bascially a dump stack.
----- Original Message -----
From: “Phil Barila”
Newsgroups: ntdev
To: “NT Developers Interest List”
Sent: Saturday, May 31, 2003 3:06 AM
Subject: [ntdev] Re: What component of NT does Disk I/O during hibernate?
> “Gordon Parrott” wrote in message
> news:xxxxx@ntdev…
>
> > I wonder if anyone can enlighten me? What is the component of Win
> > XP/2000 that dies the low level disk IO during the hibernation process?
> > I understand that with the new boot/resume performance improvements in
> > XP the system uses DMA IO to do the writes.
>
> For going into hibernation, it’s the same storage stack that runs all the
> time. For coming out of hibernation, it’s a very similar situation to the
> boot, except that the NTLDR loads memory from the hibernation file,
instead
> of loading the registry, kernel, drivers, etc., and initializing them.
>
> That’s all a gross simplification. Lots more detail about startup and
> shutdown in “Inside Windows 2000, 3rd Edition”.
>
> Phil
> –
> Philip D. Barila
> Seagate Technology, LLC
> (720) 684-1842
> As if I need to say it: Not speaking for Seagate.
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@rdsor.ro
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
“Dan Partelly” wrote in message news:xxxxx@ntdev…
>
> >> For going into hibernation, it’s the same storage stack that runs all
> the time.
>
> Actually, hiber uses an alternate storage stack, with diskdump.sys acting
as
> a SCSI port which target private loaded
> miniports. It uses bascially a dump stack.
Like I said, it was a gross oversimplification.
diskdump appears to be a simplified disk.sys, based on the file size and the
public symbols. The HBA driver sitting below diskdump, such as ATAPI or a
SCSI miniport, is the same driver as the runtime driver, just reloaded with
a dump_ prefix in the module name. If hibernation is like an NT4 crashdump,
the “dump_” copy of the miniport is supposed to parse the parameters passed
into DriverEntry to figure out that it’s not a normal startup, and behave
appropriately.
Again, a gross oversimplification, and I refer to “Inside Windows 2000”, to
Viscarola & Mason, to Oney, and to the DDK, including the storage samples,
for as complete a picture as you can get without a source license.
Phil
–
Philip D. Barila
Seagate Technology, LLC
(720) 684-1842
As if I need to say it: Not speaking for Seagate.
I’ve checked the book sources you list below. Nothing. Basically, If you
don’t have Windows source, your screwed. Yeah, Yeah, Yeah, you can always
try to hack your way through with brute force, symbols, and a debugger. But
I prefer to have a normal life.
Now, if someone could tell me what the second data structure in DriverEntry
is and what it is used for during a crash
dump/hibernation. I could then support hibernation and crash dumps in my
Virtual SCSI Port driver. Until then, hibernation and crash dumps are not
supported. Someone throw me bone.
PLEASE!
You Microsoft guys. Let the cat out of the bag here. Someone document this
interface. Is it really that important to hide?
Joe
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com]On Behalf Of Phil Barila
> Sent: Monday, June 02, 2003 10:58 AM
> To: NT Developers Interest List
> Subject: [ntdev] Re: What component of NT does Disk I/O during
> hibernate?
>
>
> “Dan Partelly” wrote in message
> news:xxxxx@ntdev…
> >
> > >> For going into hibernation, it’s the same storage stack
> that runs all
> > the time.
> >
> > Actually, hiber uses an alternate storage stack, with
> diskdump.sys acting
> as
> > a SCSI port which target private loaded
> > miniports. It uses bascially a dump stack.
>
> Like I said, it was a gross oversimplification.
>
> diskdump appears to be a simplified disk.sys, based on the file
> size and the
> public symbols. The HBA driver sitting below diskdump, such as ATAPI or a
> SCSI miniport, is the same driver as the runtime driver, just
> reloaded with
> a dump_ prefix in the module name. If hibernation is like an NT4
> crashdump,
> the “dump_” copy of the miniport is supposed to parse the
> parameters passed
> into DriverEntry to figure out that it’s not a normal startup, and behave
> appropriately.
>
> Again, a gross oversimplification, and I refer to “Inside Windows
> 2000”, to
> Viscarola & Mason, to Oney, and to the DDK, including the storage samples,
> for as complete a picture as you can get without a source license.
>
> Phil
> –
> Philip D. Barila
> Seagate Technology, LLC
> (720) 684-1842
> As if I need to say it: Not speaking for Seagate.
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@east.sun.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
I know how to build a dump stack, I can give you some pointers, feel free to
mail me questions directly.
Dan
----- Original Message -----
From: “Joe Moriarty”
To: “NT Developers Interest List”
Sent: Monday, June 02, 2003 8:15 PM
Subject: [ntdev] Re: What component of NT does Disk I/O during hibernate?
> I’ve checked the book sources you list below. Nothing. Basically, If you
> don’t have Windows source, your screwed. Yeah, Yeah, Yeah, you can always
> try to hack your way through with brute force, symbols, and a debugger.
But
> I prefer to have a normal life.
>
> Now, if someone could tell me what the second data structure in
DriverEntry
> is and what it is used for during a crash
> dump/hibernation. I could then support hibernation and crash dumps in my
> Virtual SCSI Port driver. Until then, hibernation and crash dumps are not
> supported. Someone throw me bone.
>
> PLEASE!
>
> You Microsoft guys. Let the cat out of the bag here. Someone document
this
> interface. Is it really that important to hide?
>
> Joe
>
> > -----Original Message-----
> > From: xxxxx@lists.osr.com
> > [mailto:xxxxx@lists.osr.com]On Behalf Of Phil Barila
> > Sent: Monday, June 02, 2003 10:58 AM
> > To: NT Developers Interest List
> > Subject: [ntdev] Re: What component of NT does Disk I/O during
> > hibernate?
> >
> >
> > “Dan Partelly” wrote in message
> > news:xxxxx@ntdev…
> > >
> > > >> For going into hibernation, it’s the same storage stack
> > that runs all
> > > the time.
> > >
> > > Actually, hiber uses an alternate storage stack, with
> > diskdump.sys acting
> > as
> > > a SCSI port which target private loaded
> > > miniports. It uses bascially a dump stack.
> >
> > Like I said, it was a gross oversimplification.
> >
> > diskdump appears to be a simplified disk.sys, based on the file
> > size and the
> > public symbols. The HBA driver sitting below diskdump, such as ATAPI or
a
> > SCSI miniport, is the same driver as the runtime driver, just
> > reloaded with
> > a dump_ prefix in the module name. If hibernation is like an NT4
> > crashdump,
> > the “dump_” copy of the miniport is supposed to parse the
> > parameters passed
> > into DriverEntry to figure out that it’s not a normal startup, and
behave
> > appropriately.
> >
> > Again, a gross oversimplification, and I refer to “Inside Windows
> > 2000”, to
> > Viscarola & Mason, to Oney, and to the DDK, including the storage
samples,
> > for as complete a picture as you can get without a source license.
> >
> > Phil
> > –
> > Philip D. Barila
> > Seagate Technology, LLC
> > (720) 684-1842
> > As if I need to say it: Not speaking for Seagate.
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@east.sun.com
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@rdsor.ro
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
> diskdump appears to be a simplified disk.sys, based on the file size
and the
IIRC DISKDUMP sends a “query dump pointers” IOCTL to SCSIPORT, and
SCSIPORT responds with the function pointers which lead directly to
the miniport, bypassing the SCSIPORT’s queue for dumps.
Max