Re: [PATCH 00/11] RFC: KBUS messaging subsystem

Jonathan Corbet
2011-03-22T19:36:44Z

On Fri, 18 Mar 2011 17:21:09 +0000
Tony Ibbs <tibs@tonyibbs.co.uk> wrote:

> KBUS is a lightweight, Linux kernel mediated messaging system,
> particularly intended for use in embedded environments.

I've spent a bit of time looking at this code...this isn't a detailed
review by any stretch, more like a few impressions.

- Why kbus over, say, a user-space daemon and unix-domain sockets? I'm
not sure I see the advantage that comes with putting this into kernel
space.

- The interface is ... creative. If you have to do this in kernel space,
it would be nice to do away with the split write()/ioctl() API for
reading or writing messages. It seems like either a write(), OR an
ioctl() with a message data pointer would suffice; that would cut the
number of syscalls the applications need to make too.

Even better might be to just use the socket API.

- Does anything bound the size of a message fed into the kernel with
write()? I couldn't find it. It seems like an application could
consume arbitrary amounts of kernel memory.

- It would be good to use the kernel's dynamic debugging and tracing
facilities rather than rolling your own.

- There's lots of kmalloc()/memset() pairs that could be kzalloc().

That's as far as I could get for now.

Thanks,

jon