Author: pschweitzer Date: Sun May 24 15:26:15 2015 New Revision: 67883
URL: http://svn.reactos.org/svn/reactos?rev=67883&view=rev Log: [NTFS] Use non-paged lookaside list for IRP context allocation
Modified: trunk/reactos/drivers/filesystems/ntfs/dispatch.c trunk/reactos/drivers/filesystems/ntfs/misc.c trunk/reactos/drivers/filesystems/ntfs/ntfs.c trunk/reactos/drivers/filesystems/ntfs/ntfs.h
Modified: trunk/reactos/drivers/filesystems/ntfs/dispatch.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/ntfs/di... ============================================================================== --- trunk/reactos/drivers/filesystems/ntfs/dispatch.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/ntfs/dispatch.c [iso-8859-1] Sun May 24 15:26:15 2015 @@ -117,7 +117,7 @@ } else { - ExFreePoolWithTag(IrpContext, 'PRIN'); + ExFreeToNPagedLookasideList(&NtfsGlobalData->IrpContextLookasideList, IrpContext); }
IoSetTopLevelIrp(NULL);
Modified: trunk/reactos/drivers/filesystems/ntfs/misc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/ntfs/mi... ============================================================================== --- trunk/reactos/drivers/filesystems/ntfs/misc.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/ntfs/misc.c [iso-8859-1] Sun May 24 15:26:15 2015 @@ -70,9 +70,7 @@
TRACE_(NTFS, "NtfsAllocateIrpContext()\n");
- IrpContext = (PNTFS_IRP_CONTEXT)ExAllocatePoolWithTag(NonPagedPool, - sizeof(NTFS_IRP_CONTEXT), - 'PRIN'); + IrpContext = (PNTFS_IRP_CONTEXT)ExAllocateFromNPagedLookasideList(&NtfsGlobalData->IrpContextLookasideList); if (IrpContext == NULL) return NULL;
Modified: trunk/reactos/drivers/filesystems/ntfs/ntfs.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/ntfs/nt... ============================================================================== --- trunk/reactos/drivers/filesystems/ntfs/ntfs.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/ntfs/ntfs.c [iso-8859-1] Sun May 24 15:26:15 2015 @@ -96,6 +96,10 @@ NtfsGlobalData->FastIoDispatch.FastIoWrite = NtfsFastIoWrite; DriverObject->FastIoDispatch = &NtfsGlobalData->FastIoDispatch;
+ /* Initialize lookaside list for IRP contexts */ + ExInitializeNPagedLookasideList(&NtfsGlobalData->IrpContextLookasideList, + NULL, NULL, 0, sizeof(NTFS_IRP_CONTEXT), 'PRIN', 0); + /* Driver can't be unloaded */ DriverObject->DriverUnload = NULL;
Modified: trunk/reactos/drivers/filesystems/ntfs/ntfs.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/ntfs/nt... ============================================================================== --- trunk/reactos/drivers/filesystems/ntfs/ntfs.h [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/ntfs/ntfs.h [iso-8859-1] Sun May 24 15:26:15 2015 @@ -137,6 +137,7 @@ CACHE_MANAGER_CALLBACKS CacheMgrCallbacks; ULONG Flags; FAST_IO_DISPATCH FastIoDispatch; + NPAGED_LOOKASIDE_LIST IrpContextLookasideList; } NTFS_GLOBAL_DATA, *PNTFS_GLOBAL_DATA;