haiku/build/config_headers
Kyle Ambroff-Kao 44a4bc5fd6 tcp: Remove sanity checks from BufferQueue in release builds
Each TCPEndpoint has two BufferQueue members, one for the send queue
and one for the receive queue.

If DEBUG_BUFFER_QUEUE is enabled, then most methods of BufferQueue
call BufferQueue::Verify(), sometimes twice. This member function
performs some sanity checking which requires iterating through every
net_buffer in the queue.

Disabling this in a debug build improved throughput by a factor of 5x
over the loopback interface on my laptop. Using iperf the measured
throughput went from 900Mbps to around 4.8Gbps.

This patch turns this sanity checking off for release builds.

* Rename DEBUG_BUFFER_QUEUE to DEBUG_TCP_BUFFER_QUEUE
* Change the default in BufferQueue.h to disabled
* Set DEBUG_TCP_BUFFER_QUEUE to KDEBUG_LEVEL_2 in
  kernel_debug_config.h

Change-Id: I262dac5d7e2889d2942bbdcf6b667cc0cbafa4c8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2780
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-23 02:32:58 +00:00
..
ReadMe Wrap config_headers readme to 80 columns. 2014-11-17 09:31:33 +01:00
apps_debugger_config.h * More work on retrieving local variable values. Address and compound types can 2009-09-21 04:39:40 +00:00
kernel_debug_config.h tcp: Remove sanity checks from BufferQueue in release builds 2020-05-23 02:32:58 +00:00
kernel_debugger_config.h Make US-english the default KDL keymap again. 2016-10-10 07:18:12 +02:00
paranoia_config.h * Paranoia checks were accidentally globally enabled by default. Object 2008-04-27 15:13:31 +00:00
support_kit_config.h Added support_kit_config.h configuration header. ATM it only contains a 2008-04-22 15:04:01 +00:00
tracing_config.h X86VMTranslationMapPAE: Add some ktracing for page (un)mapping 2013-09-18 00:42:45 +02:00

ReadMe

To customize the settings defined in these headers, create a folder
"user_config_headers" in the "build" folder and copy the headers you want to
modify into that folder. Your custom headers will be ignored by the version
control system and the build system will automatically use them instead of the
original ones. But be aware that when changes are commited to the files in
"config_headers", you will have to apply them to your custom headers manually.