[Bug 18745] New: Wine should support MEM_LARGE_PAGES and related interfaces for large pages & variable page sizes
wine-bugs at winehq.org
wine-bugs at winehq.org
Tue Jun 2 00:52:39 CDT 2009
http://bugs.winehq.org/show_bug.cgi?id=18745
Summary: Wine should support MEM_LARGE_PAGES and related
interfaces for large pages & variable page sizes
Product: Wine
Version: 1.1.22
Platform: PC
OS/Version: All
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: kernel32
AssignedTo: wine-bugs at winehq.org
ReportedBy: trisk-winehq at forkgnu.org
The ability to allocate large pages can improve the performance of applications
with densely populated address spaces. The large page interfaces on Windows
were introduced in Windows Server 2003. However, due to limitations in the NT
VM, large pages are always pinned in memory (not pageable) and become scarce
due to excessive fragmentation. Wine has the advantage of running on platforms
with better support for large pages.
Because the memory is normally pinned, the process must have
SeLockMemoryPrivilege on Windows.
The new interfaces are:
MEM_LARGE_PAGES type for VirtualAlloc (NtAllocateVirtualMemory)
(http://msdn.microsoft.com/en-us/library/aa366720%28VS.85%29.aspx)
SEC_LARGE_PAGES flag for
http://msdn.microsoft.com/en-us/library/aa366543%28VS.85%29.aspx
GetLargePageMinimum
(http://msdn.microsoft.com/en-us/library/aa366568%28VS.85%29.aspx)
/***********************************************************************
* GetLargePageMinimum (KERNEL32.@)
*
* Get the minimum size of a large page.
*
* RETURNS
* Size: Success
* 0: Failure
*/
SIZE_T WINAPI GetLargePageMinimum(void)
The allocated regions must be aligned to the minimum size and MEM_COMMIT must
also be set, or NtAllocateVirtualMemory should return STATUS_INVALID_PARAMETER.
I'm opening this bug to keep notes for my own implementation, although anyone
should feel free to jump in.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list