Angus Salkeld
ab3cc42537
LIST: fix logic in qb_list_splice()
...
this fixes "make check"
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-16 21:42:50 +11:00
Steven Dake
4b58dda9fa
get_more_jobs: use qb_list_splice instead of iterating list and readding
...
oprofile picked up get_more_jobs as a heavy abuser of cpu cycles when running
with cpgbench. Typical cpgbench runs this function 37 million times. This
small optimization improves performance of corosync as well as reduces
cpu utilization used by this function.
Might look at tracking length of wait_head and job_head to avoid use of
qb_list_length as well (which also iterates).
Signed-off-by: Steven Dake <sdake@redhat.com>
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-15 07:36:35 +11:00
Steven Dake
9e5385b885
qb_list_splice: don't splice an empty list
...
An empty list passed to splice will damage the target splice list. This patch
prevents that from happening by checking for an empty list and not merging
in that case.
Signed-off-by: Steven Dake <sdake@redhat.com>
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-15 07:36:35 +11:00
Angus Salkeld
7384c0a823
configure: re-add check for pthread_spin_lock
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-14 10:06:44 +11:00
Angus Salkeld
e9d10dfdbe
IPC: remove flow control API and move functionality into send()
...
There is no point in a separate API.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-14 09:16:00 +11:00
Angus Salkeld
12b2d87bfa
IPC: add q_len_get() to posix_mq & sysv_mq
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-13 21:37:59 +11:00
Angus Salkeld
dffc9262ed
IPC: move destroy() into ipcs.c (all were duplicated)
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-13 21:23:07 +11:00
Angus Salkeld
0d9f8720b9
IPC: add qb_ipcc_sendv_recv() convenience function.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-13 10:01:30 +11:00
Angus Salkeld
93d8bcabfb
TEST: make the bmc messages like cpgbench
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-13 08:23:14 +11:00
Angus Salkeld
d4c287a5f4
IPC: recv the messages available (not just one)
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:53 +11:00
Angus Salkeld
c297a6b6a9
fix some valgrind warnings
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:53 +11:00
Angus Salkeld
45c41935b7
RB: return EAGAIN not ENOMEM if no space on the rb.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:53 +11:00
Angus Salkeld
e1686dbd6a
IPC: add support for flowcontrol & rate limiting
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:53 +11:00
Angus Salkeld
8d3ec80c19
RB: add support for shared user data.
...
(I need this for flow control)
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:53 +11:00
Angus Salkeld
1a13b65de1
IPC: cleanup some formatting.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:52 +11:00
Angus Salkeld
99a8264550
IPC: improve send/recv error handling
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:52 +11:00
Angus Salkeld
33045932c5
IPC: accelerate process when rate_limit == FAST.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:52 +11:00
Angus Salkeld
8df21458f5
IPC: get the poll independent functions working.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:52 +11:00
Angus Salkeld
1f6c42b098
IPC: make msg_process return type int
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:52 +11:00
Angus Salkeld
95ac972b57
IPC: add peek & reclaim
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:52 +11:00
Angus Salkeld
57af215a96
Remove timer.c (rather use mainloop)
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:52 +11:00
Angus Salkeld
487eb57dd2
LOOP: add epoll support
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:52 +11:00
Angus Salkeld
08e5a9004d
Add a priority based main loop.
...
This is to try and get a better balance in the amount
of processing between IPC and totem in corosync.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:52 +11:00
Angus Salkeld
3dcd1126f6
IPC: remove qb_ipcc_event_release()
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:46:53 +11:00
Angus Salkeld
9fdecded41
LIST: add some more convenience macros.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:46:39 +11:00
Angus Salkeld
2d0d7fe0c9
RB: cleanup return codes frpm rb_peek()
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
82c13bdd2b
IPC: make events always use socket notification
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
e7aad8fad5
IPC: use poll() to prevent a recv() blocking
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
e0f942bfee
IPC: teach event_recv() to take a timeout
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
9c0fa42f17
UTIL: add qb_timespec_add_ms()
...
add X milli seconds to a timespec.
add time defines to qbdefs.h
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
f1f301724b
IPC: improve resource cleanup/shutdown
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
b95ed274bc
IPC: make internal message ids negative.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
dc618488d2
IPC: add a user context_get/set() functions.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
c1a3b0d029
IPC: add sendv() functions to handle iovecs.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
e79b3b41a8
IPC: make sure FD_CLOEXEC is set on all sockets
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
f93051a758
TEST: disable posix mq test for now.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
72fdbae734
SPEC: Fix the rpm spec file
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:09 +11:00
Angus Salkeld
b49449c0ad
DOCS: quiten the doxygen make process
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:00 +11:00
Angus Salkeld
a7bf0518a7
add qbdefs.h with some common defines.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-04 10:04:01 +11:00
Angus Salkeld
4df303f374
POLL: add missing fuction.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-02 21:37:00 +10:00
Angus Salkeld
69f2c88081
IPC: add a service_id and merge qb_ipcs_create() + qb_ipcs_service_handlers_set()
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-02 21:06:12 +10:00
Angus Salkeld
fcd0ca69d9
IPC: change the ipcs_connection to a pointer (not handle).
...
This is make integrating with corosync easier.
Also technically it doesn't really matter it still
has a reference counter.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-01 22:57:02 +10:00
Angus Salkeld
2aae94eb1d
IPC: make authenticate callback more generic "accept".
...
This is so that it is more obvious that you can use
it for authentication, service availabilty and
process resource constraints.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-01 22:57:02 +10:00
Angus Salkeld
68938d3c9e
LIST: add required header
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-01 22:57:02 +10:00
Angus Salkeld
ac6ed91a7d
POLL: gracefully handle running out of file descriptors.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-01 22:57:02 +10:00
Angus Salkeld
93290ebbbd
POLL: Allow modifying POLLIN/POLLOUT state in another thread.
...
while the main thread is blocked in poll system call.
(ported from corosync)
Author: Steven Dake <sdake@redhat.com>
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-01 22:56:56 +10:00
Angus Salkeld
22c46a341a
cleanup the configure script.
...
Remove (now) unused checks.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-30 21:26:50 +10:00
Angus Salkeld
4e28b94e83
TEST: fix ipc test after receint API changes.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-30 20:49:40 +10:00
Angus Salkeld
e3a6cd6ad6
Delete unchecked API (to be re-added later).
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-30 20:49:11 +10:00
Angus Salkeld
86c84f6ae0
IPC: new auth improvement and limits work around.
...
Create the queues/ringbuffers on the server so we don't
have to modify proc entries. Then chown them so that
the clients can access them.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-30 20:17:59 +10:00