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

Issue 1577473002: relnote: QUIC streamable frames can now use a freelist for their packet buffers, Guarded by gfe2_fe… (Closed)

Created:
4 years, 11 months ago by Zhongyi Shi
Modified:
4 years, 11 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@19_CL_111440524
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

relnote: QUIC streamable frames can now use a freelist for their packet buffers, Guarded by gfe2_feature_flag_use_stream_frame_freelist. This is sufficiently different from the original version of the QUIC stream buffer freelist to not be a rollback anymore. Notably, the freelist now releases memory opportunistically and can release all of its memory if the flag is disabled. Additionally, the extra cache miss when reading the metadata out of the allocation has been removed by falling back to a (very fast) linear search of the initialized Regions. Merge internal change: 111443217 BUG=

Patch Set 1 #

Patch Set 2 : fix QUIC_BUG in conditional logging #

Patch Set 3 : rebase to master #

Patch Set 4 : rebase, change to aligned_memory #

Patch Set 5 : remove unistd #

Patch Set 6 : git cl format net #

Patch Set 7 : cast int max to unsigned int #

Patch Set 8 : rebase #

Patch Set 9 : cast to size_t #

Unified diffs Side-by-side diffs Delta from patch set Stats (+674 lines, -5 lines) Patch
M net/net.gypi View 1 2 3 4 5 6 7 2 chunks +2 lines, -0 lines 0 comments Download
A net/quic/quic_buffer_pool.h View 1 2 3 4 5 6 7 8 1 chunk +486 lines, -0 lines 0 comments Download
A net/quic/quic_buffer_pool_test.cc View 1 2 3 4 5 1 chunk +158 lines, -0 lines 0 comments Download
M net/quic/quic_chromium_connection_helper.h View 1 2 3 4 5 6 7 2 chunks +3 lines, -2 lines 0 comments Download
M net/quic/quic_flags.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M net/quic/quic_flags.cc View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M net/quic/quic_protocol.h View 1 2 3 4 5 6 7 1 chunk +9 lines, -0 lines 0 comments Download
M net/quic/quic_protocol.cc View 1 2 3 4 5 1 chunk +6 lines, -2 lines 0 comments Download
M net/quic/quic_simple_buffer_allocator.h View 1 chunk +1 line, -0 lines 0 comments Download
M net/quic/quic_simple_buffer_allocator.cc View 1 chunk +4 lines, -1 line 0 comments Download

Messages

Total messages: 19 (5 generated)
Zhongyi Shi
Having issues for porting this cl: A lot of tests crashed due to memory free. ...
4 years, 11 months ago (2016-01-08 23:05:45 UTC) #2
Ryan Hamilton
On 2016/01/08 23:05:45, Zhongyi Shi wrote: > Having issues for porting this cl: > > ...
4 years, 11 months ago (2016-01-08 23:52:38 UTC) #3
chromium-reviews
Is the DCHECK mangled? I'd be surprised, but the message is strange. Otherwise it seems ...
4 years, 11 months ago (2016-01-09 00:12:35 UTC) #4
chromium-reviews
It's a bad DCHECK. I'll fix it internally shortly. The problem is that the first ...
4 years, 11 months ago (2016-01-09 14:16:14 UTC) #5
chromium-reviews
Ah ha! The original code was: LOG_IF_FIRST_N(DFATAL, 0 != next_free_, 10) << "Freeing " << ...
4 years, 11 months ago (2016-01-09 14:19:41 UTC) #6
Ryan Hamilton
Thanks for the quic fix! Is there any chance that it *is* firing internally, but ...
4 years, 11 months ago (2016-01-09 17:19:26 UTC) #7
chromium-reviews
No, this was introduced in the merge. QUIC_BUG is not equivalent to LOG_IF_FIRST_N. I've confirmed ...
4 years, 11 months ago (2016-01-09 19:54:46 UTC) #8
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1577473002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1577473002/20001
4 years, 11 months ago (2016-01-12 00:06:53 UTC) #10
commit-bot: I haz the power
Dry run: No L-G-T-M from a valid reviewer yet. Only full committers are accepted. Even ...
4 years, 11 months ago (2016-01-12 00:06:54 UTC) #12
Zhongyi Shi
Seems like #include <sys/mman.h> is unix only and not available from windows.
4 years, 11 months ago (2016-01-12 03:25:04 UTC) #13
chromium-reviews
I can think of 3 options: 1. Switch mmap to use VirtualAllocEx with MEM_RESERVE|MEM_COMMIT, and ...
4 years, 11 months ago (2016-01-12 11:57:52 UTC) #14
Zhongyi Shi
4 years, 11 months ago (2016-01-13 20:26:41 UTC) #15
Ryan Hamilton
assuming this looks good to jeremy, lgtm
4 years, 11 months ago (2016-01-15 00:42:49 UTC) #16
Jeremy Dorfman
4 years, 11 months ago (2016-01-15 01:46:53 UTC) #17
On 2016/01/15 00:42:49, Ryan Hamilton wrote:
> assuming this looks good to jeremy, lgtm

There are some signed/unsigned comparison issues, and it's a bit redundant to
have MmapPreserveErrno at all if we're always going to use only AlignedAlloc.
Otherwise, LG.

Powered by Google App Engine
This is Rietveld 408576698