aboutsummaryrefslogtreecommitdiffstats
path: root/fs/eventpoll.c
AgeCommit message (Expand)AuthorFilesLines
4 daysepoll: be better about file lifetimesLinus Torvalds1-1/+37
2024-03-12Merge tag 'net-next-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/net...Linus Torvalds1-7/+124
2024-02-22eventpoll: prefer kfree_rcu() in __ep_remove()Dmitry Antipov1-7/+1
2024-02-14eventpoll: Add epoll ioctl for epoll_paramsJoe Damato1-0/+73
2024-02-14eventpoll: Add per-epoll prefer busy poll optionJoe Damato1-2/+5
2024-02-14eventpoll: Add per-epoll busy poll packet budgetJoe Damato1-1/+8
2024-02-14eventpoll: support busy poll per epoll instanceJoe Damato1-5/+39
2024-02-06epoll: Remove ep_scan_ready_list() in commentsHuang Xiaojia1-4/+4
2023-12-28fs: Remove the now superfluous sentinel elements from ctl_table arrayJoel Granados1-1/+0
2023-10-18treewide: mark stuff as __ro_after_initAlexey Dobriyan1-3/+3
2023-07-26epoll: simplify ep_alloc()Zhen Lei1-10/+2
2023-06-26Merge tag 'v6.5/vfs.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vf...Linus Torvalds1-1/+1
2023-06-12epoll: ep_autoremove_wake_function should use list_del_init_carefulBenjamin Segall1-1/+5
2023-05-15fs: use correct __poll_t typeMin-Hua Chen1-1/+1
2023-04-27Merge tag 'mm-nonmm-stable-2023-04-27-16-01' of git://git.kernel.org/pub/scm/...Linus Torvalds1-82/+133
2023-04-25Merge tag 'asm-generic-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-0/+13
2023-04-18epoll: rename global epmutexDavidlohr Bueso1-11/+11
2023-04-08epoll: use refcount to reduce ep_mutex contentionPaolo Abeni1-72/+123
2023-03-13eventpoll: align comment with nested epoll limitationChangcheng Liu1-2/+2
2023-03-10Move ep_take_care_of_epollwakeup() to fs/eventpoll.cPalmer Dabbelt1-0/+13
2022-11-21eventpoll: add EPOLL_URING_WAKE poll wakeup flagJens Axboe1-8/+10
2022-09-11epoll: use try_cmpxchg in list_add_tail_locklessUros Bizjak1-1/+1
2022-07-17epoll: autoremove wakers even more aggressivelyBenjamin Segall1-0/+22
2022-01-22eventpoll: simplify sysctl declaration with register_sysctl()Xiaoming Ni1-1/+9
2021-09-09Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-armLinus Torvalds1-3/+2
2021-09-08fs/epoll: use a per-cpu counter for user's watches countNicholas Piggin1-8/+10
2021-08-20ARM: 9108/1: oabi-compat: rework epoll_wait/epoll_pwait emulationArnd Bergmann1-3/+2
2021-05-06fs/epoll: restore waking from ep_done_scan()Davidlohr Bueso1-0/+6
2021-03-06fs: eventpoll: fix comments & kernel-doc notationRandy Dunlap1-26/+26
2021-02-16kcmp: Support selection of SYS_kcmp without CHECKPOINT_RESTOREChris Wilson1-2/+2
2020-12-19epoll: add syscall epoll_pwait2Willem de Bruijn1-14/+73
2020-12-19epoll: convert internal api to timespec64Willem de Bruijn1-20/+37
2020-12-19epoll: eliminate unnecessary lock for zero timeoutSoheil Hassas Yeganeh1-13/+12
2020-12-19epoll: replace gotos with a proper loopSoheil Hassas Yeganeh1-21/+21
2020-12-19epoll: pull all code between fetch_events and send_event into the loopSoheil Hassas Yeganeh1-20/+21
2020-12-19epoll: simplify and optimize busy loop logicSoheil Hassas Yeganeh1-23/+17
2020-12-19epoll: move eavail next to the list_empty_careful checkSoheil Hassas Yeganeh1-2/+1
2020-12-19epoll: pull fatal signal checks into ep_send_events()Soheil Hassas Yeganeh1-9/+8
2020-12-19epoll: simplify signal handlingSoheil Hassas Yeganeh1-10/+10
2020-12-19epoll: check for events when removing a timed out thread from the wait queueSoheil Hassas Yeganeh1-9/+16
2020-12-15Merge branch 'work.epoll' of git://git.kernel.org/pub/scm/linux/kernel/git/vi...Linus Torvalds1-415/+302
2020-12-04net: Remove the err argument from sock_from_fileFlorent Revest1-2/+1
2020-12-01net: Add SO_BUSY_POLL_BUDGET socket optionBjörn Töpel1-1/+2
2020-12-01net: Introduce preferred busy-pollingBjörn Töpel1-1/+1
2020-10-25epoll: take epitem list out of struct fileAl Viro1-42/+126
2020-10-25epoll: massage the check list insertionAl Viro1-4/+4
2020-10-25lift rcu_read_lock() into reverse_path_check()Al Viro1-2/+2
2020-10-25convert ->f_ep_links/->fllink to hlistAl Viro1-9/+9
2020-10-25ep_insert(): move creation of wakeup source past the fl_ep_links insertionAl Viro1-11/+9
2020-10-25fold ep_read_events_proc() into the only callerAl Viro1-29/+20
2020-10-25take the common part of ep_eventpoll_poll() and ep_item_poll() into helperAl Viro1-30/+27
2020-10-25ep_insert(): we only need tep->mtx around the insertion itselfAl Viro1-18/+10
2020-10-25ep_insert(): don't open-code ep_remove() on failure exitsAl Viro1-37/+14
2020-10-25lift locking/unlocking ep->mtx out of ep_{start,done}_scan()Al Viro1-31/+26
2020-10-25ep_send_events_proc(): fold into the callerAl Viro1-40/+20
2020-10-25lift the calls of ep_send_events_proc() into the callersAl Viro1-28/+5
2020-10-25lift the calls of ep_read_events_proc() into the callersAl Viro1-10/+14
2020-10-25ep_scan_ready_list(): prepare to splitupAl Viro1-27/+36
2020-10-25ep_loop_check_proc(): saner calling conventionsAl Viro1-22/+16
2020-10-25get rid of ep_push_nested()Al Viro1-25/+4
2020-10-25ep_loop_check_proc(): lift pushing the cookie into callersAl Viro1-6/+12
2020-10-25clean reverse_path_check_proc() a bitAl Viro1-17/+9
2020-10-25reverse_path_check_proc(): don't bother with cookiesAl Viro1-2/+1
2020-10-25reverse_path_check_proc(): sane argumentsAl Viro1-7/+5
2020-10-25untangling ep_call_nested(): and there was much rejoicingAl Viro1-32/+11
2020-10-25untangling ep_call_nested(): move push/pop of cookie into the callbacksAl Viro1-9/+9
2020-10-25untangling ep_call_nested(): take pushing cookie into a helperAl Viro1-9/+17
2020-10-25untangling ep_call_nested(): it's all serialized on epmutex.Al Viro1-69/+11
2020-10-25untangling ep_call_nested(): get rid of useless argumentsAl Viro1-19/+12
2020-10-25epoll: get rid of epitem->nwaitAl Viro1-26/+20
2020-10-25epoll: switch epitem->pwqlist to single-linked listAl Viro1-26/+25
2020-09-24ep_create_wakeup_source(): dentry name can change under you...Al Viro1-3/+4
2020-09-10epoll: EPOLL_CTL_ADD: close the race in decision to take fast pathAl Viro1-0/+1
2020-09-10epoll: replace ->visited/visited_list with generation countAl Viro1-19/+8
2020-09-09epoll: do not insert into poll queues until all sanity checks are doneAl Viro1-19/+18
2020-09-02fix regression in "epoll: Keep a reference on files added to the check list"Al Viro1-3/+3
2020-08-22do_epoll_ctl(): clean the failure exits up a bitAl Viro1-13/+6
2020-08-22epoll: Keep a reference on files added to the check listMarc Zyngier1-2/+9
2020-05-14epoll: call final ep_events_available() check under the lockRoman Penyaev1-20/+28
2020-05-07epoll: atomically remove wait entry on wake upRoman Penyaev1-19/+24
2020-05-07eventpoll: fix missing wakeup for ovflist in ep_poll_callbackKhazhismel Kumykov1-9/+9
2020-04-07fs/epoll: make nesting accounting safe for -rt kernelJason Baron1-21/+43
2020-03-21epoll: fix possible lost wakeup on epoll_ctl() pathRoman Penyaev1-4/+4
2020-01-29eventpoll: support non-blocking do_epoll_ctl() callsJens Axboe1-13/+33
2020-01-29eventpoll: abstract out epoll_ctl() handlerJens Axboe1-20/+25
2019-12-04fs/epoll: remove unnecessary wakeups of nested epollHeiher1-16/+0
2019-12-04epoll: simplify ep_poll_safewake() for CONFIG_DEBUG_LOCK_ALLOCJason Baron1-23/+13
2019-08-21PM / wakeup: Show wakeup sources stats in sysfsTri Vo1-2/+2
2019-07-18proc/sysctl: add shared variables for range checkMatteo Croce1-2/+2
2019-07-16signal: simplify set_user_sigmask/restore_user_sigmaskOleg Nesterov1-8/+4
2019-06-29signal: remove the wrong signal_pending() check in restore_user_sigmask()Oleg Nesterov1-2/+2
2019-05-30treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152Thomas Gleixner1-6/+1
2019-03-07epoll: use rwlock in order to reduce ep_poll_callback() contentionRoman Penyaev1-36/+122
2019-03-07epoll: unify awaking of wakeup source on ep_poll_callback() pathRoman Penyaev1-8/+1
2019-03-07epoll: make sure all elements in ready list are in FIFO orderRoman Penyaev1-1/+5
2019-01-05Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-100/+118
2019-01-04fs/epoll: deal with wait_queue only onceDavidlohr Bueso1-11/+18
2019-01-04fs/epoll: rename check_events label to send_eventsDavidlohr Bueso1-3/+3
2019-01-04fs/epoll: avoid barrier after an epoll_wait(2) timeoutDavidlohr Bueso1-2/+6
2019-01-04fs/epoll: reduce the scope of wq lock in epoll_wait()Davidlohr Bueso1-54/+60
2019-01-04fs/epoll: robustify ep->mtx held checksDavidlohr Bueso1-0/+2
2019-01-04fs/epoll: drop ovflist branch predictionDavidlohr Bueso1-1/+1
2019-01-04fs/epoll: simplify ep_send_events_proc() ready-list loopDavidlohr Bueso1-36/+37
2019-01-04fs/epoll: remove max_nests argument from ep_call_nested()Davidlohr Bueso1-8/+6
2019-01-03Remove 'type' argument from access_ok() functionLinus Torvalds1-1/+1
2018-12-06signal: Add restore_user_sigmask()Deepa Dinamani1-28/+2
2018-12-06signal: Add set_user_sigmask()Deepa Dinamani1-16/+6
2018-08-22fs/eventpoll.c: simplify ep_is_linked() callersDavidlohr Bueso1-8/+8
2018-08-22fs/eventpoll.c: loosen irq safety in ep_poll()Davidlohr Bueso1-6/+7
2018-08-22fs/eventpoll.c: simply CONFIG_NET_RX_BUSY_POLL ifdeferyDavidlohr Bueso1-7/+16
2018-08-22s/epoll: robustify irq safety with lockdep_assert_irqs_enabled()Davidlohr Bueso1-0/+8
2018-08-22fs/epoll: loosen irq safety in epoll_insert() and epoll_remove()Davidlohr Bueso1-8/+6
2018-08-22fs/epoll: loosen irq safety in ep_scan_ready_list()Davidlohr Bueso1-5/+4
2018-08-22epoll: use the waitqueue lock to protect ep->wqChristoph Hellwig1-36/+29
2018-06-28Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLLLinus Torvalds1-10/+5
2018-06-14eventpoll: switch to ->poll_maskBen Noordhuis1-5/+10
2018-05-26fs: add new vfs_poll and file_can_poll helpersChristoph Hellwig1-3/+2
2018-04-02fs: add do_epoll_*() helpers; remove internal calls to sys_epoll_*()Dominik Brodowski1-6/+17
2018-02-11vfs: do bulk POLL* -> EPOLL* replacementLinus Torvalds1-11/+11
2018-02-01annotate ep_scan_ready_list()Al Viro1-11/+13
2018-02-01ep_send_events_proc(): return result via esed->resAl Viro1-7/+10
2017-11-28eventpoll: no need to mask the result of epi_item_poll() againAl Viro1-7/+2
2017-11-28eventpoll: constify struct epoll_event pointersAl Viro1-3/+5
2017-11-27fs: annotate ->poll() instancesAl Viro1-1/+1
2017-11-27annotate poll-related wait keysAl Viro1-4/+5
2017-11-17Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-76/+55
2017-11-17epoll: remove ep_call_nested() from ep_eventpoll_poll()Jason Baron1-45/+35
2017-11-17epoll: avoid calling ep_call_nested() from ep_poll_safewake()Jason Baron1-29/+18
2017-11-17epoll: account epitem and eppoll_entry to kmemcgShakeel Butt1-2/+2
2017-09-19get_compat_sigset()Al Viro1-3/+1
2017-09-08fs/epoll: use faster rb_first_cached()Davidlohr Bueso1-14/+16
2017-09-01epoll: fix race between ep_poll_callback(POLLFREE) and ep_free()/ep_remove()Oleg Nesterov1-16/+26
2017-07-12kcmp: fs/epoll: wrap kcmp code with CONFIG_CHECKPOINT_RESTORECyrill Gorcunov1-0/+2
2017-07-12kcmp: add KCMP_EPOLL_TFD mode to compare epoll target filesCyrill Gorcunov1-0/+42
2017-07-12procfs: fdinfo: extend information about epoll target filesCyrill Gorcunov1-2/+6
2017-07-10fs, epoll: short circuit fetching events if thread has been killedDavid Rientjes1-0/+10
2017-06-20sched/wait: Disambiguate wq_entry->task_list and wq_head->task_list namingIngo Molnar1-1/+1
2017-06-20sched/wait: Rename wait_queue_t => wait_queue_entry_tIngo Molnar1-5/+5
2017-03-24epoll: Add busy poll support to epoll with socket fds.Sridhar Samudrala1-0/+93
2017-03-02sched/headers: Prepare to move signal wakeup & sigpending methods from <linux...Ingo Molnar1-1/+1
2017-02-27fs,eventpoll: don't test for bitfield with stack valueCyrill Gorcunov1-1/+1
2016-12-24Replace <asm/uaccess.h> with <linux/uaccess.h> globallyLinus Torvalds1-1/+1
2016-05-19fs: poll/select/recvmmsg: use timespec64 for timeout eventsDeepa Dinamani1-6/+6
2016-03-17timer: convert timer_slack_ns from unsigned long to u64John Stultz1-1/+1
2016-02-05epoll: restrict EPOLLEXCLUSIVE to POLLIN and POLLOUTJason Baron1-6/+32
2016-01-20epoll: add EPOLLEXCLUSIVE flagJason Baron1-3/+21
2015-02-13epoll: optimize setting task running after blockingDavidlohr Bueso1-2/+2
2014-11-05fs: Convert show_fdinfo functions to voidJoe Perches1-8/+5
2014-09-10eventpoll: fix uninitialized variable in epoll_ctlNicolas Iooss1-1/+2
2014-06-16epoll: fix use-after-free in eventpoll_release_fileKonstantin Khlebnikov1-2/+2
2014-06-06fs: convert use of typedef ctl_table to struct ctl_tableJoe Perches1-1/+1
2014-01-02epoll: do not take the nested ep->mtx on EPOLL_CTL_DELJason Baron1-4/+0
2013-12-03epoll: drop EPOLLWAKEUP if PM_SLEEP is disabledAmit Pundir1-2/+1
2013-11-13Merge branch 'akpm' (patches from Andrew Morton)Linus Torvalds1-47/+98
2013-11-13Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-1/+1
2013-11-13epoll: do not take global 'epmutex' for simple topologiesJason Baron1-26/+69
2013-11-13epoll: optimize EPOLL_CTL_DEL using rcuJason Baron1-24/+32
2013-10-30Revert "epoll: use freezable blocking call"Rafael J. Wysocki1-3/+1
2013-10-24file->f_op is never NULL...Al Viro1-1/+1
2013-09-11epoll: add a reschedule point in ep_free()Eric Dumazet1-0/+2
2013-09-03switch epoll_ctl() to fdgetAl Viro1-16/+15
2013-07-03Merge branch 'akpm' (updates from Andrew Morton)Linus Torvalds1-6/+6
2013-07-03signals: eventpoll: do not use sigprocmask()Oleg Nesterov1-6/+6
2013-05-12epoll: use freezable blocking callColin Cross1-1/+3
2013-05-01Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-0/+47
2013-04-30epoll: cleanup: use RCU_INIT_POINTER when nullingEric Wong1-1/+1
2013-04-30epoll: cleanup: hoist out f_op->poll callsEric Wong1-10/+12
2013-04-30epoll: lock ep->mtx in ep_free to silence lockdepEric Wong1-0/+4
2013-04-30epoll: use RCU to protect wakeup_source in epitemEric Wong1-21/+71
2013-04-30epoll: trim epitem by one cache lineEric Wong1-1/+9
2013-03-03switch epoll_pwait to COMPAT_SYSCALL_DEFINEAl Viro1-0/+47
2013-01-02epoll: prevent missed events on EPOLL_CTL_MODEric Wong1-1/+21
2012-12-17fs, epoll: add procfs fdinfo helperCyrill Gorcunov1-0/+28
2012-11-09revert "epoll: support for disabling items, and a self-test app"Andrew Morton1-35/+3
2012-10-06epoll: support for disabling items, and a self-test appPaton J. Lewis1-3/+35
2012-09-26switch simple cases of fget_light to fdgetAl Viro1-15/+10
2012-09-26switch epoll_wait(2) to fget_light()Al Viro1-3/+3
2012-08-22eventpoll: use-after-possible-free in epoll_create1()Al Viro1-1/+1
2012-07-17PM: Rename CAP_EPOLLWAKEUP to CAP_BLOCK_SUSPENDMichael Kerrisk1-1/+1
2012-06-01HAVE_RESTORE_SIGMASK is defined on all architectures nowAl Viro1-4/+0
2012-05-22epoll: Fix user space breakage related to EPOLLWAKEUPRafael J. Wysocki1-1/+1
2012-05-05epoll: Add a flag, EPOLLWAKEUP, to prevent suspend while epoll events are readyArve Hjønnevåg1-3/+87
2012-04-25epoll: clear the tfile_check_list on -ELOOPJason Baron1-1/+3
2012-03-28Merge tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub...Linus Torvalds1-1/+0
2012-03-28Remove all #inclusions of asm/system.hDavid Howells1-1/+0
2012-03-23epoll: remove unneeded variable in reverse_path_check()Dan Carpenter1-2/+0
2012-03-23epoll: comment the funky #ifdefSteven Rostedt1-0/+25
2012-03-23poll: add poll_requested_events() and poll_does_not_wait() functionsHans Verkuil1-3/+15
2012-03-18Don't limit non-nested epoll pathsJason Baron1-0/+4
2012-02-24epoll: ep_unregister_pollwait() can use the freed pwq->wheadOleg Nesterov1-3/+27
2012-02-24epoll: introduce POLLFREE to flush ->signalfd_wqh before kfree()Oleg Nesterov1-0/+4
2012-01-12epoll: limit pathsJason Baron1-25/+209
2011-10-31epoll: fix spurious lockdep warningsNelson Elhage1-7/+18
2011-09-15Merge branch 'master' into for-nextJiri Kosina1-1/+1
2011-07-26atomic: use <linux/atomic.h>Arun Sharma1-1/+1
2011-07-26eventpoll: fix comment typo 'evenpoll'Paul Bolle1-1/+1
2011-03-31Fix common misspellingsLucas De Marchi1-4/+4
2011-03-22epoll: fix compiler warning and optimize the non-blocking pathShawn Bohrer1-5/+28
2011-03-22epoll: move ready event check into proper inlineDavide Libenzi1-3/+16
2011-03-18Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jik...Linus Torvalds1-6/+6