Hi, The 0002 patch isn't appplying to 1.6.3. It seems to be against 1.7 and
not 1.6.
vagrant@precise:/tmp/haproxy/haproxy-1.6.3$ patch -p1 <
0002-MEDIUM-pools-add-a-new-flag-to-avoid-rounding-pool-s.patch
(Stripping trailing CRs from patch.)
patching file include/common/memory.h
Hunk #1 FAILED at 33.
1 out of 1 hunk FAILED -- saving rejects to file include/common/memory.h.rej
(Stripping trailing CRs from patch.)
patching file src/memory.c
Hunk #2 FAILED at 43.
1 out of 2 hunks FAILED -- saving rejects to file src/memory.c.rej
vagrant@precise:/tmp/haproxy/haproxy-1.6.3$ cat include/common/memory.h.rej
--- include/common/memory.h
+++ include/common/memory.h
@@ -33,6 +33,7 @@
#else
#define MEM_F_SHARED 0
#endif
+#define MEM_F_EXACT 0x2
/* reserve an extra void* at the end of a pool for linking */
#ifdef DEBUG_MEMORY_POOLS
vagrant@precise:/tmp/haproxy/haproxy-1.6.3$ cat src/memory.c.rej
--- src/memory.c
+++ src/memory.c
@@ -43,8 +45,10 @@
* so that the visible parts outside are not affected.
*/
- align = 16;
- size = ((size + POOL_EXTRA + align - 1) & -align) - POOL_EXTRA;
+ if (!(flags & MEM_F_EXACT)) {
+ align = 16;
+ size = ((size + POOL_EXTRA + align - 1) & -align) - POOL_EXTRA;
+ }
start = &pools;
pool = NULL;
-gary
On Mon, Jan 25, 2016 at 8:48 AM, Gary Barrueto <[email protected]> wrote:
> Hi, I'll apply the patches and rerun our tests today. Thanks guys!
>
> -gary
>
> On Sun, Jan 24, 2016 at 5:49 PM, Willy Tarreau <[email protected]> wrote:
>
>> Hi again,
>>
>> On Sun, Jan 24, 2016 at 09:00:31PM +0100, Willy Tarreau wrote:
>> > OK so I'm having a preliminary patch for the performance regression
>> > causing incomplete buffers to be processed. It's not optimal yet,
>> > but it's safe and works for me. Now I can reproduce the tests and
>> > always observe the exact same performance between all runs +/- 0.2%.
>>
>> I've cleaned up the patch and implemented the enforcement of the exact
>> requested buffer size. Now the default setting being 16384, it leaves
>> in a single SSL_write() and the performance issue is gone. I'm getting
>> 416 req/s stable. I'll backport these patches to 1.6 but first I want
>> to understand why we're seeing a freeze at exactly 16000 bytes. We have
>> it in 1.5 too.
>>
>> I'm attaching the 3 patches to apply for Gary. They should apply
>> cleanly over 1.6. That's all for this evening or I'll start doing
>> stupid things.
>>
>> Willy
>>
>>
>