reactos/ntoskrnl
George Bișoc 13cbc7fbf9
[NTOS:MM] Add the pool quota prototypes and some definitions
Declare the MmRaisePoolQuota and MmReturnPoolQuota prototypes in the header and add some definitions related to pool quotas, namely MmTotalNonPagedPoolQuota and MmTotalPagedPoolQuota. These variables are used internally by the kernel as sort of "containers" (for the lack of a better term)
which uphold the amount of quotas that the Process Manager is requesting the Memory Manager to raise or return the pool quota limit. In addition to that, add some definitions needed for both of these functions.

The definitions, MI_CHARGE_PAGED_POOL_QUOTA and MI_CHARGE_NON_PAGED_POOL_QUOTA respectively, bear some interesting aspect. Seemingly the 0x80000 and 0x10000 values (that would denote to 524288 and 65536 specifically) are used as quota "limits" or in other words, thresholds that the kernel
uses. So for example if one would want to raise the quota limit charge, MmRaisePoolQuota will raise it so based on this formula -- NewMaxQuota = CurrentQuota + LIMIT_VALUE. LIMIT_VALUE can be either MI_CHARGE_PAGED_POOL_QUOTA or MI_CHARGE_NON_PAGED_POOL_QUOTA, depending a per quota pool basis.

What's more interesting is that these values are pervasive in Process Manager even. This is when quotas are to be returned back and trim the limit of the quota block if needed, the kernel would either take the amount provided by the caller of quotas to return or the threshold (paged or not paged)
if the amount to return exceeds the said threshold in question.
2022-01-11 10:11:08 +01:00
..
cache [NTOS:MM] Fix another instance of reentrant spinlock acquisition 2021-06-29 11:49:20 +02:00
cc [NTOS:CC] CcRosFlushVacb(): Fix Iosb annotation 2021-06-22 10:33:45 +02:00
config [NTOS:CM] Refactor full CPU identifier values 2022-01-05 18:28:40 +03:00
dbgk [NTOSKRNL] Regroup the pool allocation tags in one dedicated place 2021-12-27 18:57:03 +01:00
ex [NTOS:EX] Manage quotas when allocating or freeing pool tables 2022-01-11 10:11:08 +01:00
fsrtl [NTOS:FSRTL] Assign the buffer length to ThisBufferLength field 2022-01-11 10:11:08 +01:00
fstub [NTOS:IO/FSTUB] Fix the determination of 'SingleDisk' in IoGetBootDiskInformation(). 2021-06-11 02:21:47 +02:00
inbv 🎊 🍾 🥳 Happy New Year 2022 to the ReactOS Community! 🎆 ⚛️ ☢️ 2022-01-01 00:00:00 +01:00
include [NTOS:MM] Add the pool quota prototypes and some definitions 2022-01-11 10:11:08 +01:00
io [SDK:DDK][NTOS:PNP] Implement PnP arbiters initialization 2022-01-10 06:35:45 +03:00
kd [NTOS:KD][NTOS:KD64][NTOS:KDBG] Fix IRQL & spinlock use 2021-06-29 11:49:20 +02:00
kd64 [NTOS:KD64,KE] IRQL is automatically adjusted during calls to KdEnterDebugger() and KdExitDebugger(). (#3942) 2021-09-12 18:20:32 +02:00
kdbg [NTOSKRNL] Regroup the pool allocation tags in one dedicated place 2021-12-27 18:57:03 +01:00
ke [NTOS:KE/x64] Detect CPU vendor properly and store value in PRCB 2022-01-05 18:28:40 +03:00
lpc [NTOS:LPC] NtReplyWaitReceivePortEx returns the correct TotalLength for connect messages 2021-11-24 18:59:16 +01:00
mm [NTOS:MM] Unrefernece some dereferences 2021-12-30 01:54:09 +03:00
ntkrnlmp [CMAKE] Use the "kernel" module type for ntoskrnl and ntkrnlmp 2021-03-23 11:18:43 +01:00
ob [NTOSKRNL] Regroup the pool allocation tags in one dedicated place 2021-12-27 18:57:03 +01:00
po [NTOSKRNL] Regroup the pool allocation tags in one dedicated place 2021-12-27 18:57:03 +01:00
ps [NTOSKRNL] Regroup the pool allocation tags in one dedicated place 2021-12-27 18:57:03 +01:00
rtl [NTOSKRNL] Regroup the pool allocation tags in one dedicated place 2021-12-27 18:57:03 +01:00
se [NTOS:SE] Don't assert on levels that don't allow impersonation. 2021-11-21 17:19:03 -05:00
tests
vdm [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
vf
wmi [REACTOS] Fix traces with missing arguments. 2021-11-21 12:57:35 -05:00
CMakeLists.txt [CMAKE] Fixes for clang-cl build 2021-09-14 17:58:23 +03:00
guid.c [NTOSKRNL] Rewrite IoAssignDriveLetters to make NT5 compliant 2019-10-21 18:28:40 +02:00
KrnlFun.c
ntdll.S
ntos.cmake [SDK:DDK][NTOS:PNP] Implement PnP arbiters initialization 2022-01-10 06:35:45 +03:00
ntoskrnl.rc [NTOS:INBV] Refactor boot screen code and resources (#1649) 2019-08-20 01:52:25 +02:00
ntoskrnl.spec [ARM] Fix some compilation errors for ARM 2021-09-09 19:40:20 +03:00
sysfuncs.lst