Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(561)

Issue 255067: Revert further back to MBelshe's baseline forking TCMalloc... (Closed)

Created:
11 years, 2 months ago by jar (doing other things)
Modified:
9 years, 7 months ago
Reviewers:
Mike Belshe, jamesr
CC:
chromium-reviews_googlegroups.com, antonm
Visibility:
Public.

Description

Revert further back to MBelshe's baseline forking TCMalloc This changes to decommitting in all paths through the page_heap delete method (which adds spans to the free lists). r=mbelshe,jamesr

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Patch Set 7 : '' #

Patch Set 8 : '' #

Patch Set 9 : '' #

Patch Set 10 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+32 lines, -19 lines) Patch
M third_party/tcmalloc/page_heap.h View 1 2 3 4 5 6 7 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/tcmalloc/page_heap.cc View 1 2 3 4 5 6 7 8 9 6 chunks +29 lines, -19 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
jar (doing other things)
James: If you have a chance to comment, that would be nice. I'm still debugging ...
11 years, 2 months ago (2009-10-02 23:27:46 UTC) #1
jar (doing other things)
Based on discussion with JamesR (thanks!), this version better mimics Mike's original code, and is ...
11 years, 2 months ago (2009-10-03 01:59:29 UTC) #2
jamesr
LGTM!
11 years, 2 months ago (2009-10-05 17:49:04 UTC) #3
Mike Belshe
lgtm
11 years, 2 months ago (2009-10-05 17:52:57 UTC) #4
jar (doing other things)
I committed the CL, but gcl did not close the issue, so I'll do so ...
11 years, 2 months ago (2009-10-05 18:51:14 UTC) #5
Anton Muhin
Jim, all, are those (quoted from review of http://codereview.chromium.org/242088) applicable? quote { Several more things ...
11 years, 2 months ago (2009-10-06 10:26:57 UTC) #6
jar (doing other things)
11 years, 2 months ago (2009-10-06 16:08:51 UTC) #7
On Tue, Oct 6, 2009 at 3:26 AM, Anton Muhin <antonm@google.com> wrote:

> Jim, all,
>
> are those (quoted from review of
> http://codereview.chromium.org/242088) applicable?
>
> quote {
> Several more things to consider:
>
> 1) I am almost sure (but please, double check) that this change makes
> normal
> spans obsolete: before this change both normal and returned spans exist,
> with
> this change span is always returned back to the system.  So I'd suggest to
> make
> it explicit in the code, ideally nuking normal and span location
> altogether.
> That forks us further from tcmalloc though.
>

Committed spans will surely come back to existance as our policy changes...
so I think it would be a bad thing to rip out the code in the interim.

You are correct that since coalescing always results in a decommitted
region, all free spans end up in the returned heap.  As I pointed out in a
comment (see the "TBD(jar"), this even applies to initial allocations via
GrowHeap(), which means we reserve/commit, then decomit (as we coalesce) and
then commit (as we carve).  This is suboptimal, but we need benchmarks of
the system call to decide how bad it is.


>
> 2) if picked this route, you shouldn't commit the range in
> TCMalloc_SystemAlloc---it would get uncommitted immediately.  That would be
> a
> nice step into right direction (remember that ideally we'd like to
> virtualalloc
> one huge uncommitted block and chop it later).
>

That is one way to go.  The interesting question in such an optimization is
how often we coalesce?  As hinted above, it may well be that when we pass
through the coalescing, if we don't do any coalescing, we *might* want to
leave the state alone, especially during a grow heap.  All this is TBD.


>
> 3) If my analysis in regard of normal/returned lists is correct, you should
> probably nuke MallocExtensions->ReleaseFreePages() from
> RenderThread::IdleNotifiction (note it should remove an include and thus
> alter
> file listing module deps).
>

Remaining closer to the open source project seems like a good thing, so I'd
rather not diverge so much.  As I said, I suspect we'll need this code
shortly anyway.

Jim



>
> } // quote
>
> yours,
> anton.
>
> On Mon, Oct 5, 2009 at 10:51 PM,  <jar@chromium.org> wrote:
> > I committed the CL, but gcl did not close the issue, so I'll do so
> manually.
> > The message was:
> >
> > Committed revision 28006.
> > Loaded authentication cookies from
> c:\Users\jar\.codereview_upload_cookies
> > Error accessing url /255067/close
> >
> > http://codereview.chromium.org/255067
> >
>

Powered by Google App Engine
This is Rietveld 408576698