Skip to content

Commit

Permalink
[NTOSKRNL] Overhaul Cc and Mm relationship
Browse files Browse the repository at this point in the history
Previously, when creating a file section, Mm requested Cc to cache the file, then Cc would request pages from Mm, then Mm would request them back to serve its file-mapping role
Now, Mm does it all by itself. If file cahcing is requested by the FS driver, then Cc creates a file mapping and uses that to serve its purpose.

This is a rewrite of Cc
  • Loading branch information
zefklop committed Feb 3, 2021
1 parent e4047d1 commit d8cdb89
Show file tree
Hide file tree
Showing 17 changed files with 1,518 additions and 2,365 deletions.
3 changes: 0 additions & 3 deletions ntoskrnl/cache/section/sptab.c
Expand Up @@ -187,9 +187,6 @@ _MmSetPageEntrySectionSegment(PMM_SECTION_SEGMENT Segment,
ASSERT(Segment->Locked);
ASSERT(!IS_SWAP_FROM_SSE(Entry) || !IS_DIRTY_SSE(Entry));

if (Entry && !IS_SWAP_FROM_SSE(Entry))
MmGetRmapListHeadPage(PFN_FROM_SSE(Entry));

PageTable = MiSectionPageTableGetOrAllocate(&Segment->PageTable, Offset);

if (!PageTable) return STATUS_NO_MEMORY;
Expand Down

1 comment on commit d8cdb89

@JoachimHenze
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This commit introduced regression https://jira.reactos.org/browse/CORE-17624

Please sign in to comment.