Factor out the pollset kicking mechanism and eliminate sharding
This change pulls out a separate pollset_kick module, which currently uses a freelist of pipes dynamically assigned to pollsets when they enter polling rather than the previous racy sharding mechanism. We ultimately may wish to eliminate the dynamic assignment for multipoll sets, but this should be sufficient for the moment.
Showing
- Makefile 52 additions, 1 deletionMakefile
- build.json 16 additions, 0 deletionsbuild.json
- src/core/iomgr/pollset_kick.h 68 additions, 0 deletionssrc/core/iomgr/pollset_kick.h
- src/core/iomgr/pollset_kick_posix.c 161 additions, 0 deletionssrc/core/iomgr/pollset_kick_posix.c
- src/core/iomgr/pollset_kick_posix.h 47 additions, 0 deletionssrc/core/iomgr/pollset_kick_posix.h
- src/core/iomgr/pollset_multipoller_with_poll_posix.c 7 additions, 2 deletionssrc/core/iomgr/pollset_multipoller_with_poll_posix.c
- src/core/iomgr/pollset_posix.c 16 additions, 68 deletionssrc/core/iomgr/pollset_posix.c
- src/core/iomgr/pollset_posix.h 3 additions, 0 deletionssrc/core/iomgr/pollset_posix.h
- test/core/iomgr/poll_kick_test.c 101 additions, 0 deletionstest/core/iomgr/poll_kick_test.c
- vsprojects/vs2013/grpc.vcxproj 4 additions, 0 deletionsvsprojects/vs2013/grpc.vcxproj
- vsprojects/vs2013/grpc_unsecure.vcxproj 4 additions, 0 deletionsvsprojects/vs2013/grpc_unsecure.vcxproj
Loading
Please register or sign in to comment