Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1694561 - gfapi: do not block epoll thread for upcall notifications
Summary: gfapi: do not block epoll thread for upcall notifications
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: libgfapi
Version: 6
Hardware: All
OS: All
unspecified
high
Target Milestone: ---
Assignee: bugs@gluster.org
QA Contact: bugs@gluster.org
URL:
Whiteboard:
Depends On: 1693575 1694562 1694563
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-04-01 05:59 UTC by Soumya Koduri
Modified: 2019-04-03 04:31 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1693575
Environment:
Last Closed: 2019-04-03 04:31:42 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Gluster.org Gerrit 22459 None Merged gfapi: Unblock epoll thread for upcall processing 2019-04-03 04:31:41 UTC

Description Soumya Koduri 2019-04-01 05:59:09 UTC
+++ This bug was initially created as a clone of Bug #1693575 +++

Description of problem:

With https://review.gluster.org/#/c/glusterfs/+/21783/, we have made changes to offload processing upcall notifications to synctask so as not to block epoll threads. However seems like the purpose wasnt fully resolved. 

In "glfs_cbk_upcall_data" -> "synctask_new1" after creating synctask if there is no callback defined, the thread waits on synctask_join till the syncfn is finished. So that way even with those changes, epoll threads are blocked till the upcalls are processed.

Hence the right fix now is to define a callback function for that synctask "glfs_cbk_upcall_syncop" so as to unblock epoll/notify threads completely and the upcall processing can happen in parallel by synctask threads.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

--- Additional comment from Soumya Koduri on 2019-03-28 09:28:58 UTC ---

Users have complained about nfs-ganesha process getting stuck here - https://github.com/nfs-ganesha/nfs-ganesha/issues/335

--- Additional comment from Worker Ant on 2019-03-28 09:34:11 UTC ---

REVIEW: https://review.gluster.org/22436 (gfapi: Unblock epoll thread for upcall processing) posted (#1) for review on master by soumya k

--- Additional comment from Worker Ant on 2019-03-29 07:25:10 UTC ---

REVIEW: https://review.gluster.org/22436 (gfapi: Unblock epoll thread for upcall processing) merged (#4) on master by Amar Tumballi

Comment 1 Worker Ant 2019-04-01 06:02:10 UTC
REVIEW: https://review.gluster.org/22459 (gfapi: Unblock epoll thread for upcall processing) posted (#1) for review on release-6 by soumya k

Comment 2 Worker Ant 2019-04-03 04:31:42 UTC
REVIEW: https://review.gluster.org/22459 (gfapi: Unblock epoll thread for upcall processing) merged (#2) on release-6 by Amar Tumballi


Note You need to log in before you can comment on or make changes to this bug.