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

Tzachi Dar tzachid at mellanox.co.il
Tue Mar 3 14:40:12 PST 2009


I agree, 
modern computers have many GB of memory. mlx4_bus.sys (for example) is
less than 200kb and most of the functions there are not pageable even
today.
 
Doing the extra work will not help anyone.
 
Thanks
Tzachi


________________________________

	From: James Yang [mailto:jyang at xsigo.com] 
	Sent: Wednesday, March 04, 2009 12:34 AM
	To: Fab Tillier; Tzachi Dar; ofw at lists.openfabrics.org
	Subject: RE: Make all funcions no-pagable?
	
	

	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/20090304/d3696840/attachment.html>


More information about the ofw mailing list