[ros-dev] [ros-diffs] [arty] 35701: Convert to using a fast mutex.
Alex Ionescu
ionucu at videotron.ca
Wed Aug 27 18:50:09 CEST 2008
Why? They're deprecated.
Are you sure your branch has the KGM fixes from trunk?
Best regards,
Alex Ionescu
On Wed, Aug 27, 2008 at 11:21 AM, <arty at svn.reactos.org> wrote:
> Author: arty
> Date: Wed Aug 27 10:21:39 2008
> New Revision: 35701
>
> URL: http://svn.reactos.org/svn/reactos?rev=35701&view=rev
> Log:
> Convert to using a fast mutex.
>
> Modified:
> branches/arty-newcc/ntoskrnl/cache/cachesub.c
> branches/arty-newcc/ntoskrnl/cache/fssup.c
> branches/arty-newcc/ntoskrnl/cache/pinsup.c
> branches/arty-newcc/ntoskrnl/include/internal/cc.h
>
> Modified: branches/arty-newcc/ntoskrnl/cache/cachesub.c
> URL: http://svn.reactos.org/svn/reactos/branches/arty-newcc/ntoskrnl/cache/cachesub.c?rev=35701&r1=35700&r2=35701&view=diff
> ==============================================================================
> --- branches/arty-newcc/ntoskrnl/cache/cachesub.c [iso-8859-1] (original)
> +++ branches/arty-newcc/ntoskrnl/cache/cachesub.c [iso-8859-1] Wed Aug 27 10:21:39 2008
> @@ -21,10 +21,6 @@
> NTAPI
> MmGetDeviceObjectForFile(IN PFILE_OBJECT FileObject);
>
> -BOOLEAN
> -NTAPI
> -MmIsCOWAddress(PEPROCESS Process, PVOID Address);
> -
> NTSTATUS
> NTAPI
> CcpSimpleWrite
> @@ -43,8 +39,7 @@
>
> KeRaiseIrql(DISPATCH_LEVEL, &OldIrql);
>
> - if (MmIsDirtyPage(PsInitialSystemProcess, Buffer) &&
> - !MmIsCOWAddress(PsInitialSystemProcess, Buffer))
> + if (MmIsDirtyPage(PsInitialSystemProcess, Buffer))
> {
> DPRINT1
> ("PAGING WRITE (FLUSH) Offset %x Length %d\n",
> @@ -100,7 +95,6 @@
> }
>
> ObDereferenceObject(FileObject);
> - MmDeleteHyperspaceMapping(Buffer);
>
> DPRINT("Paging IO Done: %08x\n", ReadStatus->Status);
> }
>
> Modified: branches/arty-newcc/ntoskrnl/cache/fssup.c
> URL: http://svn.reactos.org/svn/reactos/branches/arty-newcc/ntoskrnl/cache/fssup.c?rev=35701&r1=35700&r2=35701&view=diff
> ==============================================================================
> --- branches/arty-newcc/ntoskrnl/cache/fssup.c [iso-8859-1] (original)
> +++ branches/arty-newcc/ntoskrnl/cache/fssup.c [iso-8859-1] Wed Aug 27 10:21:39 2008
> @@ -44,7 +44,7 @@
> CcCacheBitmap->Buffer = ((PULONG)&CcCacheBitmap[1]);
> CcCacheBitmap->SizeOfBitMap = ROUND_UP(CACHE_NUM_SECTIONS, 32);
> DPRINT("Cache has %d entries\n", CcCacheBitmap->SizeOfBitMap);
> - KeInitializeGuardedMutex(&CcMutex);
> + ExInitializeFastMutex(&CcMutex);
> Status = PsCreateSystemThread
> (&CcUnmapThreadHandle,
> THREAD_ALL_ACCESS,
>
> Modified: branches/arty-newcc/ntoskrnl/cache/pinsup.c
> URL: http://svn.reactos.org/svn/reactos/branches/arty-newcc/ntoskrnl/cache/pinsup.c?rev=35701&r1=35700&r2=35701&view=diff
> ==============================================================================
> --- branches/arty-newcc/ntoskrnl/cache/pinsup.c [iso-8859-1] (original)
> +++ branches/arty-newcc/ntoskrnl/cache/pinsup.c [iso-8859-1] Wed Aug 27 10:21:39 2008
> @@ -22,7 +22,7 @@
> NOCC_BCB CcCacheSections[CACHE_NUM_SECTIONS];
> CHAR CcpBitmapBuffer[sizeof(RTL_BITMAP) + ROUND_UP((CACHE_NUM_SECTIONS), 32) / 8];
> PRTL_BITMAP CcCacheBitmap = (PRTL_BITMAP)&CcpBitmapBuffer;
> -KGUARDED_MUTEX CcMutex;
> +FAST_MUTEX CcMutex;
> KEVENT CcDeleteEvent;
> ULONG CcCacheClockHand;
> LONG CcOutstandingDeletes;
> @@ -55,7 +55,7 @@
>
> VOID CcpLock()
> {
> - KeAcquireGuardedMutex(&CcMutex);
> + ExAcquireFastMutex(&CcMutex);
> //DPRINT("<<<---<<< CC In Mutex!\n");
> }
>
> @@ -75,14 +75,14 @@
> PCHAR BufStart, BufPage;
> LARGE_INTEGER ToWrite;
>
> - KeAcquireGuardedMutex(&CcMutex);
> + ExAcquireFastMutex(&CcMutex);
> while (CcOutstandingDeletes > 0)
> {
> NumElements = InterlockedDecrement(&CcOutstandingDeletes);
> DPRINT1("Unmapping %d ...\n", NumElements);
> WorkingOn = CcUnmapChain[0];
> RtlMoveMemory(&CcUnmapChain[0], &CcUnmapChain[1], NumElements * sizeof(NOCC_UNMAP_CHAIN));
> - KeReleaseGuardedMutex(&CcMutex);
> + ExReleaseFastMutex(&CcMutex);
>
> BufStart = (PCHAR)WorkingOn.Buffer;
> ToWrite = WorkingOn.FileOffset;
> @@ -98,15 +98,15 @@
> MmUnmapViewInSystemSpace(WorkingOn.Buffer);
> ObDereferenceObject(WorkingOn.SectionObject);
> DPRINT1("Done unmapping\n");
> - KeAcquireGuardedMutex(&CcMutex);
> - }
> - KeReleaseGuardedMutex(&CcMutex);
> + ExAcquireFastMutex(&CcMutex);
> + }
> + ExReleaseFastMutex(&CcMutex);
> }
>
> VOID CcpUnlock()
> {
> //DPRINT(">>>--->>> CC Exit Mutex!\n");
> - KeReleaseGuardedMutex(&CcMutex);
> + ExReleaseFastMutex(&CcMutex);
> }
>
> VOID STDCALL
>
> Modified: branches/arty-newcc/ntoskrnl/include/internal/cc.h
> URL: http://svn.reactos.org/svn/reactos/branches/arty-newcc/ntoskrnl/include/internal/cc.h?rev=35701&r1=35700&r2=35701&view=diff
> ==============================================================================
> --- branches/arty-newcc/ntoskrnl/include/internal/cc.h [iso-8859-1] (original)
> +++ branches/arty-newcc/ntoskrnl/include/internal/cc.h [iso-8859-1] Wed Aug 27 10:21:39 2008
> @@ -202,7 +202,7 @@
>
> extern NOCC_BCB CcCacheSections[CACHE_NUM_SECTIONS];
> extern PRTL_BITMAP CcCacheBitmap;
> -extern KGUARDED_MUTEX CcMutex;
> +extern FAST_MUTEX CcMutex;
> extern KEVENT CcDeleteEvent;
> extern ULONG CcCacheClockHand;
> extern LIST_ENTRY CcPendingUnmap;
>
>
More information about the Ros-dev
mailing list