aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/iomgr/pollset_multipoller_with_poll_posix.c
Commit message (Collapse)AuthorAge
* Stage #1 of core breakup: move everything under libGravatar Craig Tiller2016-03-25
|
* Fix formattingGravatar Craig Tiller2016-03-04
|
* Fix race in poll() based pollsetGravatar Craig Tiller2016-03-04
| | | | | | It was possible for entries in watchers[] to be deleted by another thread before we called begin_poll. I'd like to do something nicer than this eventually... but that'll be easier once we've got the polling loop cleaned up (which is currently WIP)
* Revert "Revert "Add an implementation firewall against pollset_set""Gravatar Craig Tiller2016-02-25
|
* Revert "Add an implementation firewall against pollset_set"Gravatar Vijay Pai2016-02-25
|
* Change pollset mutex ownershipGravatar Craig Tiller2016-02-25
|
* Provide an interface firewall between pollset and its implementationsGravatar Craig Tiller2016-02-19
| | | | | | | Starting to allow for >1 implementation of pollset within a binary. Do so without requiring an extra allocation for completion queues (which we could not tolerate).
* Updated copyrightsGravatar murgatroid992016-01-12
|
* Spam cleanupGravatar Craig Tiller2016-01-06
|
* Remove pollset fd deletion path: its unusedGravatar Craig Tiller2015-12-11
|
* stream_op cleanup: pollset changesGravatar Craig Tiller2015-11-02
|
* clang-formatGravatar Craig Tiller2015-10-02
|
* Stabilize mac buildGravatar Craig Tiller2015-10-02
|
* Completing wakeup storyGravatar Craig Tiller2015-10-01
|
* Merge github.com:grpc/grpc into pfftGravatar Craig Tiller2015-09-30
|\
* | Fix alarmsGravatar Craig Tiller2015-09-28
| | | | | | | | | | | | - make kick_poller() do something on POSIX - fix some conditions whereby alarms are held in a pollset exec context for too long - make channel_connectivity tests dependent on the correct behavior
| * Add some TODO comments for possible poll optimizationGravatar Vijay Pai2015-09-25
|/
* Merge pull request #3476 from vjpai/block_annotateGravatar Yang Gao2015-09-25
|\ | | | | Annotate blocking points
| * Move block_annotate from iomgr to support since it's used in otherGravatar vjpai2015-09-24
| | | | | | | | core places besides iomgr
| * Put in blocking point annotations at places in the code where we may block ↵Gravatar Vijay Pai2015-09-24
| | | | | | | | for reasons other than synchronization
* | clang-format all core filesGravatar Craig Tiller2015-09-22
| |
* | Move argument passing to start of listGravatar Craig Tiller2015-09-22
| |
* | Move arguments to the start of listsGravatar Craig Tiller2015-09-22
| |
* | indent pass to get logical source lines on one physical lineGravatar Craig Tiller2015-09-22
| |
* | Rename call_list to closure_listGravatar Craig Tiller2015-09-22
| |
* | Call list progressGravatar Craig Tiller2015-09-18
|/
* Mac build fixesGravatar Craig Tiller2015-09-10
|
* Enable -WconversionGravatar Craig Tiller2015-09-10
|
* Merge github.com:grpc/grpc into y12kdm3Gravatar Craig Tiller2015-08-18
|\
| * clang-format all sourceGravatar Craig Tiller2015-08-18
| |
* | Working towards a non-blocking API testGravatar Craig Tiller2015-08-06
|/
* Save some iterationsGravatar Craig Tiller2015-07-31
|
* Allow specific pollers to be wokenGravatar Craig Tiller2015-07-29
| | | | | | | | | | | | | | | | | | | Currently, if two threads call grpc_completion_queue_pluck on the same completion queue for different tags, there is a 50% chance that we deliver the completion wakeup to the wrong poller - forcing the correct poller to wait until its polling times out before it can return an event up to the application. This change tweaks our polling interfaces so that we can indeed wake a specific poller. Nothing has been performance tuned yet. It's definitely sub-optimal in a number of places. Wakeup file-descriptors should be recycled. We should have a path that avoids calling poll() followed by epoll(). We can probably live without it right at the second though. This code will fail on Windows at least (I'll do that port when I'm in the office and have a Windows machine).
* Fix a leaked lock, and make a debug-only detection for this class of bugGravatar Craig Tiller2015-07-16
|
* Hoist epoll_ctl outside of pollset lockGravatar Craig Tiller2015-07-14
|
* Fix a bug in the multipoll on poll path where we use a file descriptor thats ↵Gravatar Craig Tiller2015-07-01
| | | | orphaned by mistake
* Remove return status from maybe_work.Gravatar Craig Tiller2015-06-22
| | | | | | | Since alarm checks may mutate work deadlines for pollsets, the value returned from maybe_work is meaningless. Instead, maybe pollset_work always return 1 if maybe_work is invoked, and then redo the deadline check _on the next call_ to pollset_work.
* DocsGravatar Craig Tiller2015-06-18
|
* Be better about timeout roundingGravatar Craig Tiller2015-06-15
|
* clang-formatGravatar Craig Tiller2015-06-05
|
* Release all fd refs before signalling shutdownGravatar Craig Tiller2015-06-01
|
* fd refcount debuggingGravatar Craig Tiller2015-05-31
|
* Merge branch 'but-maybe-i-want-to-poll' into we-dont-need-no-backupGravatar Craig Tiller2015-05-29
|\
| * clang-formatGravatar Craig Tiller2015-05-29
| |
* | Merge branch 'but-maybe-i-want-to-poll' into we-dont-need-no-backupGravatar Craig Tiller2015-05-29
|\|
| * Make it possible to run with poll() instead of epoll()Gravatar Craig Tiller2015-05-29
| | | | | | | | | | Mostly to facilitate testing, but maybe in the future we want to work on Linux systems with broken epoll support?
* | Refactor pollset_kickGravatar Craig Tiller2015-05-28
| | | | | | | | | | Allow multiple threads to be polling Remove unnecessary windows stubs
* | Remove condition variable from pollsetGravatar Craig Tiller2015-05-28
|/
* More scalable unary pollingGravatar Craig Tiller2015-05-14
| | | | | | - admit only one poller for read and one for write at a time (poll is level triggered, so this avoids a thundering herd on each event) - wake only one poller when more pollers are needed, again avoiding a thundering herd
* Stop kicking ourselvesGravatar Craig Tiller2015-04-27
|