Bug 9359 - Optimization needed for SMB2 performance sensitive workloads.
Summary: Optimization needed for SMB2 performance sensitive workloads.
Alias: None
Product: Samba 4.0
Classification: Unclassified
Component: File services (show other bugs)
Version: unspecified
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Karolin Seeger
QA Contact: Samba QA Contact
Depends on:
Blocks: 8622
  Show dependency treegraph
Reported: 2012-11-05 20:58 UTC by Jeremy Allison
Modified: 2012-11-07 10:01 UTC (History)
2 users (show)

See Also:

git-am fix for 3.6.x. (9.73 KB, patch)
2012-11-05 21:23 UTC, Jeremy Allison
jra: review+
git-am fix for 4.0.0 containing the code that went into master (10.24 KB, patch)
2012-11-05 21:40 UTC, Jeremy Allison
vl: review+
Patches for v3-6-test (10.14 KB, patch)
2012-11-06 07:32 UTC, Volker Lendecke
metze: review+
Patches for v4-0-test (10.43 KB, patch)
2012-11-06 10:21 UTC, Stefan Metzmacher
obnox: review+

Note You need to log in before you can comment on or make changes to this bug.
Description Jeremy Allison 2012-11-05 20:58:31 UTC
From Volker's mail:

The problem is: Before we send out stuff with this
nonblocking optimization we start reading the next packet.
This never gives tevent_loop_once the chance to even look
whether the async code has finished anything. Thus we pull
in as long the client sends us stuff before sending anything
out. This leads to us going sync because we have too many
outstanding requests in the aio queue.

Compare straces of just reading a 100MB file with
explorer.exe with and without this patchset and aio enabled.


Backports to be attached for 3.6.x (from Volker)
and for 4.0.0.
Comment 1 Jeremy Allison 2012-11-05 21:23:40 UTC
Created attachment 8151 [details]
git-am fix for 3.6.x.

Patch from Metze, back ported by Volker - reviewed by jra.
Comment 2 Jeremy Allison 2012-11-05 21:40:34 UTC
Created attachment 8152 [details]
git-am fix for 4.0.0 containing the code that went into master

Fix for 4.0.0.
Comment 3 Jeremy Allison 2012-11-05 21:48:10 UTC
Added this as a blocker bug on 4.0.0. Should be easy to get this reviewed and into 4-0-0-test (and 3.6.next).

Comment 4 Volker Lendecke 2012-11-06 07:32:23 UTC
Created attachment 8153 [details]
Patches for v3-6-test

Jeremy, sorry for sending you a testing version of the patch. This should be the port of what actually went into master.
Comment 5 Stefan Metzmacher 2012-11-06 07:33:43 UTC
Comment on attachment 8153 [details]
Patches for v3-6-test

Looks good
Comment 6 Stefan Metzmacher 2012-11-06 07:36:32 UTC
Karolin please pick this to 3.6 and 4.0
Comment 7 Karolin Seeger 2012-11-06 10:20:11 UTC
Pushed to v3-6-test.
Patch does not apply to v4-0-test (Metze is going to provide an updated version).
Comment 8 Stefan Metzmacher 2012-11-06 10:21:19 UTC
Created attachment 8155 [details]
Patches for v4-0-test
Comment 9 Michael Adam 2012-11-06 10:45:51 UTC
Karolin  please push to v4-0-test. -- Thanks
Comment 10 Karolin Seeger 2012-11-06 11:01:46 UTC
Pushed to autobuild-v4-0-test.
Comment 11 Karolin Seeger 2012-11-07 10:01:09 UTC
Pushed to v4-0-test.
Closing out bug report.