Bug 226122

Summary: [bmalloc] Rollout r276266 because WebKit processes are spending much more time in madvise
Product: WebKit Reporter: Michael Saboff <msaboff>
Component: JavaScriptCoreAssignee: Michael Saboff <msaboff>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Michael Saboff 2021-05-21 16:26:37 PDT
The change for https://bugs.webkit.org/show_bug.cgi?id=224706 causes more calls to madvise.  The way that the bmalloc scavenger calls madvise(..., MADV_FREE_REUSABLE) to decommit ranges is conservative, in that it merges free pages with adjacent free pages.  When we decommit via madvise(), we decommit the whole free range, including pages that have already been decomitted.  Rolling out r276266 to do some automated testing.  At the same time, we'll work on changing the madvise() decommitting to be more precise.

Note that the committing of pages by calling madvise(..., MADV_FREE_REUSE), making them available for bmalloc to use, is precise.  We only call it when are going to use the pages in the range.
Comment 1 Michael Saboff 2021-05-21 16:26:56 PDT
<rdar://78188389>
Comment 2 Michael Saboff 2021-05-21 16:36:51 PDT
Committed r277898 (238032@main): <https://commits.webkit.org/238032@main>