Project

General

Profile

Actions

Optimization #7208

open

tcp/reassemble: GetBlock takes O(nlgn) in worst case

Added by chris tang 3 months ago. Updated 4 days ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
Effort:
Difficulty:
Label:

Description

The GetBlock function search the suitable StreamingBufferBlock by offset, but it relys on SBB_RB_NEXT which degree the sbb red black tree search time from O(logn) to O(n), and the SBB_RB_NEXT increases L1 dcache missing when tcp session within much tcpsegment. In production env, SBB_RB_NEXT would occoupies 8-12% cpu times. Suggest changing the way to find block to standerd red black search:


Subtasks 1 (0 open1 closed)

Optimization #7275: tcp/reassemble: GetBlock takes O(nlgn) in worst case (7.0.x backport)ClosedJeff LucovskyActions
Actions

Also available in: Atom PDF