From: Soheil Hassas Yeganeh <[email protected]>

This is a no-op change which simplifies the follow up patches.

Suggested-by: Linus Torvalds <[email protected]>
Signed-off-by: Soheil Hassas Yeganeh <[email protected]>
Reviewed-by: Eric Dumazet <[email protected]>
Reviewed-by: Willem de Bruijn <[email protected]>
Reviewed-by: Khazhismel Kumykov <[email protected]>
---
 fs/eventpoll.c | 41 +++++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/fs/eventpoll.c b/fs/eventpoll.c
index 28c1d341d2e6..b29bbebe8ca4 100644
--- a/fs/eventpoll.c
+++ b/fs/eventpoll.c
@@ -1861,14 +1861,14 @@ static int ep_poll(struct eventpoll *ep, struct 
epoll_event __user *events,
        }
 
 fetch_events:
-       eavail = ep_events_available(ep);
-       if (!eavail)
-               eavail = ep_busy_loop(ep, timed_out);
+       do {
+               eavail = ep_events_available(ep);
+               if (!eavail)
+                       eavail = ep_busy_loop(ep, timed_out);
 
-       if (eavail)
-               goto send_events;
+               if (eavail)
+                       goto send_events;
 
-       do {
                if (signal_pending(current))
                        return -EINTR;
 
@@ -1917,21 +1917,22 @@ static int ep_poll(struct eventpoll *ep, struct 
epoll_event __user *events,
                 * carefully under lock, below.
                 */
                eavail = 1;
-       } while (0);
 
-       if (!list_empty_careful(&wait.entry)) {
-               write_lock_irq(&ep->lock);
-               /*
-                * If the thread timed out and is not on the wait queue, it
-                * means that the thread was woken up after its timeout expired
-                * before it could reacquire the lock. Thus, when wait.entry is
-                * empty, it needs to harvest events.
-                */
-               if (timed_out)
-                       eavail = list_empty(&wait.entry);
-               __remove_wait_queue(&ep->wq, &wait);
-               write_unlock_irq(&ep->lock);
-       }
+               if (!list_empty_careful(&wait.entry)) {
+                       write_lock_irq(&ep->lock);
+                       /*
+                        * If the thread timed out and is not on the wait queue,
+                        * it means that the thread was woken up after its
+                        * timeout expired before it could reacquire the lock.
+                        * Thus, when wait.entry is empty, it needs to harvest
+                        * events.
+                        */
+                       if (timed_out)
+                               eavail = list_empty(&wait.entry);
+                       __remove_wait_queue(&ep->wq, &wait);
+                       write_unlock_irq(&ep->lock);
+               }
+       } while (0);
 
 send_events:
        /*
-- 
2.29.1.341.ge80a0c044ae-goog

Reply via email to