KBUS messaging subsystem
RFC PATCH 1/1 KBUS messaging subsystem
KBUS is a lightweight Linux-kernel mediated message system, particularly intended for use in embedded environments.
It is meant to be simple to use and understand. It is particularly designed to provide predictable message delivery, deterministic message ordering, and a guaranteed reply for each request.
We have various customers using KBUS in real life, and believe it to be useful. I had a showcase table for KBUS at the ELCE in Cambridge, October last year, and there seemed to be interest.
We'd like some advice on how to submit this - I assume that submitting patches to the Embedded Linux mailing list first would be sensible, since we believe this to be an area that will find KBUS interesting.
The KBUS project home page is at http://kbus-messaging.org/
The KBUS specification can be found at
http://html.kbus.googlecode.com/hg/docs/html/specification.html
Userland support, plus unit tests for the kernel module, are in the Google code repositories. There's a GettingStarted page linked from the KBUS home page.
We've got a working repository with Linux 2.6.37 patched for KBUS, available via:
git pull git://github.com/crazyscot/linux-2.6-kbus.git kbus-2.6.37
Our tentative patch is at
http://kbus.googlecode.com/files/0001-KBUS-messaging-subsystem.patch
The diffstat for the patch is:
Documentation/Kbus.txt | 1189 ++++++++++ include/linux/kbus_defns.h | 666 ++++++ init/Kconfig | 3 + ipc/Kconfig | 99 + ipc/Makefile | 1 + ipc/kbus.c | 5120 ++++++++++++++++++++++++++++++++++++++++++++ ipc/kbus_internal.h | 773 +++++++ 7 files changed, 7851 insertions(+), 0 deletions(-)
Should I just submit the patch to this list?
Tibs
[Edited cc: list as my smtp server refused to send the original reply]
Quoted 15 lines
Our tentative patch is at
http://kbus.googlecode.com/files/0001-KBUS-messaging-subsystem.patchThe diffstat for the patch is:
Documentation/Kbus.txt | 1189 ++++++++++ include/linux/kbus_defns.h | 666 ++++++ init/Kconfig | 3 + ipc/Kconfig | 99 + ipc/Makefile | 1 + ipc/kbus.c | 5120 ++++++++++++++++++++++++++++++++++++++++++++ ipc/kbus_internal.h | 773 +++++++ 7 files changed, 7851 insertions(+), 0 deletions(-)
Quoted 1 line
Should I just submit the patch to this list?
You will get more feedback on lkml...
Looks like comprehensive descriptions - good!
Took a quick peek at the patch.
- use __u32 (and friends) in exported headers - not uint32_t.
- do not invent our own logging system. Use one of the standard methods.
If you post for review try to divide it up a little. Maybe kbus.c in one patch, Makefile + Kconfig in last patch. It is a large file to review already.
Sam
Quoted 1 line · On Fri, 28 Jan 2011 20:20:42 +0100 Sam Ravnborg <[email protected]> wrote:
[Edited cc: list as my smtp server refused to send the original reply]
Apologies - I had copied down Grant Likely's email address wrong at ELCE.
Quoted 3 lines
Quoted 1 line
Should I just submit the patch to this list?
You will get more feedback on lkml...
Indeed. I hoped to start small.
Quoted 1 line
- use
__u32(and friends) in exported headers - notuint32_t.
OK. I'd missed that. Presumably I should also be using u32 and friends inside the kernel module itself, instead of uint32_t...
Quoted 2 lines
- do not invent our own logging system. Use one of the standard methods.
I vaguely remember having a reason for that. Doubtless it was a bad one. I shall attend to it.
Quoted 3 lines
If you post for review try to divide it up a little. Maybe
kbus.cin one patch,Makefile+Kconfigin last patch. It is a large file to review already.
That's useful guidance. I shall amend the code as suggested above and resubmit as smaller, inline patches.
Tibs