[ofw] RE: Make all funcions no-pagable?

James Yang jyang at xsigo.com
Tue Mar 3 14:33:58 PST 2009


Hi Fab,

 

Thanks for the suggestion. Since the routines seen with problem also exist in non-power path, such as port_mgr_port_remove in certain thread, it's easier to just mark the page pragma out.

 

Thanks,

James

 

________________________________

From: Fab Tillier [mailto:ftillier at windows.microsoft.com] 
Sent: Tuesday, March 03, 2009 9:20 AM
To: Tzachi Dar; James Yang; ofw at lists.openfabrics.org
Subject: RE: Make all funcions no-pagable?

 

You can also use MmLockPagableCodeSection to page in and lock the specified code regions.  You can call this when you detect the parent device is not pagable (the device object's Flags parameter does not have the DO_POWER_PAGEABLE bit set).

 

-Fab

 

From: ofw-bounces at lists.openfabrics.org [mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of Tzachi Dar
Sent: Tuesday, March 03, 2009 7:18 AM
To: James Yang; ofw at lists.openfabrics.org
Subject: [ofw] RE: Make all funcions no-pagable?

 

Hi James,

 

Please prepare a patch that removes all the #pragma alloc_text from the code and we will apply it.

 

Thanks 

Tzachi & Leonid

	 

	
________________________________


	From: James Yang [mailto:jyang at xsigo.com] 
	Sent: Tuesday, March 03, 2009 1:29 AM
	To: ofw at lists.openfabrics.org
	Cc: Tzachi Dar
	Subject: Make all funcions no-pagable?

	Hi,

	 

	We discussed this topic before. Today I saw system hangs during shutdown again. This time function __restore_pci_config caused the page out problem and stopped forever. Attached is the stack.

	 

	Is there any simple way to disable all the page pragma? Or we have to go to each line the take them out?

	#pragma alloc_text (PAGE, __restore_pci_config).

	 

	Thanks,

	James

	 

	----------------------------------------------------------------------------------

	fffffadf`243d4680 fffff800`01027682 nt!KiSwapContext+0x85

	fffffadf`243d4800 fffff800`0102828e nt!KiSwapThread+0x3c9

	fffffadf`243d4860 fffff800`01056806 nt!KeWaitForSingleObject+0x5a6

	fffffadf`243d48e0 fffff800`01017091 nt!MiWaitForInPageComplete+0x66

	fffffadf`243d4970 fffff800`01043d24 nt!MiDispatchFault+0x1845

	fffffadf`243d4ab0 fffff800`0102d459 nt!MmAccessFault+0xbb3

	fffffadf`243d4b80 fffffadf`29367b60 nt!KiPageFault+0x119

	fffffadf`243d4d18 fffffadf`2933ff57 mlx4_bus!__restore_pci_config [c:\windows-openib\src\winib-1864a\hw\mlx4\kernel\bus\drv\pci.c @ 163]

	fffffadf`243d4d20 fffffadf`2934cc63 mlx4_bus!pci_hca_reset+0x667 [c:\windows-openib\src\winib-1864a\hw\mlx4\kernel\bus\drv\pci.c @ 381]

	fffffadf`243d4de0 fffffadf`2933c077 mlx4_bus!mlx4_remove_one+0x1bf [c:\windows-openib\src\winib-1864a\hw\mlx4\kernel\bus\net\main.c @ 1090]

	fffffadf`243d4e20 fffffadf`2933c502 mlx4_bus!__stop_card+0x37 [c:\windows-openib\src\winib-1864a\hw\mlx4\kernel\bus\drv\drv.c @ 355]

	fffffadf`243d4e50 fffffadf`294e3217 mlx4_bus!EvtDeviceD0Exit+0xf2 [c:\windows-openib\src\winib-1864a\hw\mlx4\kernel\bus\drv\drv.c @ 414]

	fffffadf`243d4ea0 fffffadf`294e2d91 wdf01000!FxPkgPnp::PowerGotoDxIoStopped+0x243

	fffffadf`243d4f50 fffffadf`294e1f5d wdf01000!FxPkgPnp::PowerGotoDNotZeroIoStopped+0x9

	fffffadf`243d4f80 fffffadf`294e1837 wdf01000!FxPkgPnp::PowerEnterNewState+0x345

	fffffadf`243d50f0 fffffadf`294e1596 wdf01000!FxPkgPnp::PowerProcessEventInner+0x13f

	fffffadf`243d51c0 fffffadf`294f29a6 wdf01000!FxPkgPnp::PowerProcessEvent+0x436

	fffffadf`243d5290 fffffadf`294ee72d wdf01000!FxPkgPnp::NotPowerPolOwnerGotoDx+0xe

	fffffadf`243d52c0 fffffadf`294edecc wdf01000!FxPkgPnp::PowerPolicyEnterNewState+0x345

	fffffadf`243d5430 fffffadf`294edc29 wdf01000!FxPkgPnp::PowerPolicyProcessEventInner+0x144

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20090303/98f67303/attachment.html>


More information about the ofw mailing list