cvs commit: src/sys/sys conf.h src/sys/geom geom_disk.c src/sys/i386/i386 dump_machdep.c minidump_machdep.c src/sys/amd64/amd64 dump_machdep.c minidump_machdep.c

Scott Long scottl at
Fri Feb 15 12:08:43 PST 2008

Ivan Voras wrote:
> Scott Long wrote:
>> scottl      2008-02-15 06:26:25 UTC
>>   FreeBSD src repository
>>   Modified files:
>>     sys/sys              conf.h 
>>     sys/geom             geom_disk.c 
>>     sys/i386/i386        dump_machdep.c minidump_machdep.c 
>>     sys/amd64/amd64      dump_machdep.c minidump_machdep.c 
>>   Log:
>>   Teach the dump and minidump code to respect the maxioszie attribute of
>>   the disk; the hard-coded assumption of 64K doesn't work in all cases.
> Will this work in the other direction, i.e. issuing requests larger than
> 64KB / 128KB if the device supports it?

Yes, though I need to review all of the drivers to make sure they're not
setting a bogus maxiosize that they can't actually support.

If you're looking to improve dump speed, there are two things that need 
to be done.  First, the dumpsys code and driver interface needs to be 
changed to send the driver large chunks (like PSE-sized chunks, maybe) 
and let the driver decide how much of it to handle before returning. 
Second, the dumpsys code and drivers need to be taught to handle 
physical addresses.  Right now, the dumpsys code iterates through all 
the pages in the system (or through the kernel map if it's a minidump), 
calls pmap_kenter to generate a virtual address for the driver, then the 
driver calls busdma and has it call pmap_kextract to get the physical 
address.  That can definitely be improved.


More information about the cvs-src mailing list