Branch: refs/heads/master Home: https://github.com/fabbione/kronosnet Commit: 45a6124bfc71d99f74b6810ec8b45cdfa8118d03 https://github.com/fabbione/kronosnet/commit/45a6124bfc71d99f74b6810ec8b45cd... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2017-02-02 (Thu, 02 Feb 2017)
Changed paths: M libknet/transport_sctp.c
Log Message: ----------- [sctp] Allow internal IPC to operate under RX pressure
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Commit: f0a4bb6e1d7449d0686ef401a180fa9f113ac6c0 https://github.com/fabbione/kronosnet/commit/f0a4bb6e1d7449d0686ef401a180fa9... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2017-02-02 (Thu, 02 Feb 2017)
Changed paths: M TODO M libknet/handle.c M libknet/host.c M libknet/host.h M libknet/internals.h M libknet/link.c M libknet/onwire.h M libknet/threads_heartbeat.c M libknet/threads_heartbeat.h M libknet/threads_send_recv.c
Log Message: ----------- [send/recv] Unify and simplify usage of seq_num in packets
IMPORTANT: this commit changes onwire protocol in an incompatible way!
- remove the concet of bcast and mcast seq num and use one tx_seq_num - stop using LINK_UP_DOWN messages to broadcast node seq num and transfer this data inside heartbeat messages - LINK_UP_DOWN messages are currently unused but let's keep the infrastructure around for future - minor cleanup in host_set_policy to confirm change of switching policy in the logs - _link_updown should use async call to host dstcache update due to locking context - switch knet_link_set_enable to use write locking context since the only reason it was read lock, was due to the need to send LINK_UP_DOWN messages - knet_link_set_priority can now use dstcache in sync mode - add seq_num and heartbeat type (timed/untimed) data to heartbeat messages. timed messages are generated regularly by hb_thread. untimed messages are generated by the TX thread to sync seq_num on heavy load across all connected node. (see comments in the code) - access to the node seq_num is now mutex locked - abstract ability to send pings from multiple threads - special case seq_num == 0 to detect a node crash and coming back to life before hb_thread can detect the disconnection - forcefully send ping in the TX thread every SEQ_MAX / 8 packets to allow nodes to sync seq_num - optimize TX thread code to prepare the outgoing buffers once vs multiple times. There is still work that can be done here to optimize sending to multiple host, but this change is intrusive enough already as it is - add logic to clear circular buffers when receiving pings
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com
Compare: https://github.com/fabbione/kronosnet/compare/51de9b3f7c29...f0a4bb6e1d74