Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

server: Optimize server_process_event_upcall code path during handling upcall event #3321

Closed
mohit84 opened this issue Mar 19, 2022 · 2 comments · Fixed by #3322
Closed

server: Optimize server_process_event_upcall code path during handling upcall event #3321

mohit84 opened this issue Mar 19, 2022 · 2 comments · Fixed by #3322
Labels
wontfix Managed by stale[bot]

Comments

@mohit84
Copy link
Contributor

mohit84 commented Mar 19, 2022

The function server_process_event_upcall handles upcall event and send a
notification to client. To send a notification to client it has taken
a lock to access xprt and the lock has not released until the event has not
been sent to the client, It means at a time it will not able to process
more than one notification it has lock contention while a brick process is trying
to send more than one upcall event notification.

Solution: Instead of sending an event under critical section take a reference on the xprt.

mohit84 added a commit to mohit84/glusterfs that referenced this issue Mar 19, 2022
The function server_process_event_upcall handles upcall event and send a
notification to client. To send a notification to client it has taken
a lock to access xprt and the lock has not released until the event has not
been sent to the client, It means at a time it will not able to process
more than one notification it has lock contention while a brick process is trying
to send more than one upcall event notification.

Solution: Instead of sending an event under critical section take a reference
          on the xprt.
Fixes: gluster#3321
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>

Change-Id: Ibaab1626ab6e0c318df77e8efe528e71f3802517
xhernandez pushed a commit that referenced this issue Mar 21, 2022
The function server_process_event_upcall handles upcall event and send a
notification to client. To send a notification to client it has taken
a lock to access xprt and the lock has not released until the event has not
been sent to the client, It means at a time it will not able to process
more than one notification it has lock contention while a brick process is trying
to send more than one upcall event notification.

Solution: Instead of sending an event under critical section take a reference
          on the xprt.
Fixes: #3321
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>

Change-Id: Ibaab1626ab6e0c318df77e8efe528e71f3802517
@mohit84 mohit84 reopened this Mar 24, 2022
mohit84 added a commit to mohit84/glusterfs that referenced this issue Mar 24, 2022
The function server_process_event_upcall handles upcall event and send a
notification to client. To send a notification to client it has taken
a lock to access xprt and the lock has not released until the event has not
been sent to the client, It means at a time it will not able to process
more than one notification it has lock contention while a brick process is trying
to send more than one upcall event notification.

Solution: Instead of sending an event under critical section take a reference
          on the xprt.
Fixes: gluster#3321
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>

Change-Id: Ibaab1626ab6e0c318df77e8efe528e71f3802517
mohit84 added a commit to mohit84/glusterfs that referenced this issue Mar 24, 2022
The function server_process_event_upcall handles upcall event and send a
notification to client. To send a notification to client it has taken
a lock to access xprt and the lock has not released until the event has not
been sent to the client, It means at a time it will not able to process
more than one notification it has lock contention while a brick process is trying
to send more than one upcall event notification.

Solution: Instead of sending an event under critical section take a reference
          on the xprt.
Fixes: gluster#3321
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>

Change-Id: Ibaab1626ab6e0c318df77e8efe528e71f3802517
Shwetha-Acharya pushed a commit that referenced this issue Mar 24, 2022
The function server_process_event_upcall handles upcall event and send a
notification to client. To send a notification to client it has taken
a lock to access xprt and the lock has not released until the event has not
been sent to the client, It means at a time it will not able to process
more than one notification it has lock contention while a brick process is trying
to send more than one upcall event notification.

Solution: Instead of sending an event under critical section take a reference
          on the xprt.
Fixes: #3321
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>

Change-Id: Ibaab1626ab6e0c318df77e8efe528e71f3802517
Shwetha-Acharya pushed a commit that referenced this issue Mar 25, 2022
The function server_process_event_upcall handles upcall event and send a
notification to client. To send a notification to client it has taken
a lock to access xprt and the lock has not released until the event has not
been sent to the client, It means at a time it will not able to process
more than one notification it has lock contention while a brick process is trying
to send more than one upcall event notification.

Solution: Instead of sending an event under critical section take a reference
          on the xprt.
Fixes: #3321
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>

Change-Id: Ibaab1626ab6e0c318df77e8efe528e71f3802517
@stale
Copy link

stale bot commented Oct 22, 2022

Thank you for your contributions.
Noticed that this issue is not having any activity in last ~6 months! We are marking this issue as stale because it has not had recent activity.
It will be closed in 2 weeks if no one responds with a comment here.

@stale stale bot added the wontfix Managed by stale[bot] label Oct 22, 2022
@stale
Copy link

stale bot commented Nov 12, 2022

Closing this issue as there was no update since my last update on issue. If this is an issue which is still valid, feel free to open it.

@stale stale bot closed this as completed Nov 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix Managed by stale[bot]
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant