Bug 14098 - vfs_glusterfs: Use pthreadpool for scheduling aio operations
Summary: vfs_glusterfs: Use pthreadpool for scheduling aio operations
Status: RESOLVED FIXED
Alias: None
Product: Samba 4.1 and newer
Classification: Unclassified
Component: VFS Modules (show other bugs)
Version: 4.11.0rc2
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Karolin Seeger
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-08-22 09:21 UTC by Guenther Deschner
Modified: 2020-07-08 13:49 UTC (History)
6 users (show)

See Also:


Attachments
proposed patch for master (20.27 KB, patch)
2019-08-23 10:59 UTC, Guenther Deschner
no flags Details
patch for v4-11 (20.50 KB, patch)
2019-08-27 05:25 UTC, Anoop C S
gd: review+
jra: review+
Details
patch for v4-10 (20.50 KB, patch)
2019-08-27 05:26 UTC, Anoop C S
gd: review+
jra: review+
Details
patch for v4-9 (19.65 KB, patch)
2019-08-27 05:29 UTC, Anoop C S
gd: review+
jra: review+
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Guenther Deschner 2019-08-22 09:21:18 UTC
Testing has revealed that Samba and Gluster can achieve a significant performance boost when using pthreadpool from within vfs_glusterfs, see attached patch.
Comment 1 Guenther Deschner 2019-08-23 10:59:14 UTC
Created attachment 15421 [details]
proposed patch for master
Comment 2 Anoop C S 2019-08-27 05:25:51 UTC
Created attachment 15432 [details]
patch for v4-11
Comment 3 Anoop C S 2019-08-27 05:26:22 UTC
Created attachment 15433 [details]
patch for v4-10
Comment 4 Anoop C S 2019-08-27 05:29:14 UTC
Created attachment 15434 [details]
patch for v4-9

Patch for v4-9 is not a cherry-pick from master due to profiling macro changes in fsync operations.
Comment 5 Guenther Deschner 2019-08-27 12:36:29 UTC
Comment on attachment 15432 [details]
patch for v4-11

LGTM
Comment 6 Guenther Deschner 2019-08-27 12:41:22 UTC
Comment on attachment 15433 [details]
patch for v4-10

LGTM
Comment 7 Guenther Deschner 2019-08-27 12:45:35 UTC
Comment on attachment 15434 [details]
patch for v4-9

LGTM
Comment 8 Jeremy Allison 2019-08-27 23:37:41 UTC
Re-assigning to Karolin for inclusion in 4.9.next, 4.10.next, 4.11.next.

Anoop - you need to produce a patch for inclusion in 4.12.rcNext also to ensure it gets into the next stable release.

Thanks !

Jeremy.
Comment 9 Guenther Deschner 2019-08-28 11:29:47 UTC
Hm, Jeremy, I think Anoop already provided the necessary patches for all branches (4.9, 4.10 and 4.11) + the patch is in master. AFAICT no other patches required.
Comment 10 Jeremy Allison 2019-08-30 17:26:26 UTC
(In reply to Guenther Deschner from comment #9)

Yes you're right, I got confused as to whether 4.11 was out yet, sorry :-).
Comment 11 Karolin Seeger 2019-09-03 11:54:41 UTC
Pushed to autobuild-v4-{11,10,9}-test.
Comment 12 Karolin Seeger 2019-09-11 08:06:55 UTC
(In reply to Karolin Seeger from comment #11)
Pushed to all branches.
Closing out bug report.

Thanks!
Comment 13 Björn Jacke 2020-07-07 14:26:28 UTC
isn't a major change like this unsuited for getting into a stable release? I have a case where this change caused a 75% performance drop also with Samba 4.10.
Comment 14 Björn Jacke 2020-07-08 11:03:48 UTC
Günther, Anoop: the performance regression can be seen with centos7 with Samba 4.10 running on a Linux or mac SMB client:

fio --readwrite=read --bs=1M --size=10G --name=test --ioengine=libaio --iodepth=8

Which OS / Samba release combinations did you test your patch with and how did the performance tests from your site look like ?
Comment 15 Anoop C S 2020-07-08 13:49:46 UTC
(In reply to Björn Jacke from comment #13)
75% drop? What was the workload?

(In reply to Björn Jacke from comment #14)
Ok. We will try to analyze based on mentioned job profile.

IIRC, tests were carried out with v4.9.x on RHEL 7. It was some kind of Disk Performance tool ran from Windows showing significant performance boost as depicted in this slide[1].

Also, is there any special configuration used? I don't think we had anything specific other than required settings for vfs_glusterfs use case.

[1] https://www.samba.org/~anoopcs/presentations/slides/SambaXP%202020%20-%20Field%20report.pdf#page=15