Re: [PATCH 9 of 18] ipath - char devices for diagnostics and lightweight subnet management

From: Michael S. Tsirkin
Date: Thu Mar 23 2006 - 04:33:37 EST

Quoting r. Bryan O'Sullivan <bos@xxxxxxxxxxxxx>:
> > Could you please explain why is this useful? Users could not care less -
> > they never have to touch an SMA.
> We have customers who use our driver who do not want a full IB stack
> present, for example in embedded environments.

I understand they do, but they could just use the parts of IB stack and never
notice. In my experience, embedded systems are typically diskless - why is a
userspace SMA better than kernel-level one for them? The advantage would be
everyone using a single kernel/user interface, common utilities for
management, diagnostics ... I could go on.

So what's your point? Memory usage? Let's take a look:

ib_mad is the IB stack module that includes between other things the
kernel-level SMA (BTW, if necessary, you should be able to split it out so that
it is only loaded on demand):

I think IB stack is modest, as core modules go.
Here's how a loaded IB stack looks like on my system:

Module Size Used by
ib_mad 36260 2 ib_ipath,ib_mthca
ib_core 46080 3 ib_ipath,ib_mthca,ib_mad

So there are *maximum* 82K code to save. This is a 64-bit system, I think
embedded systems are usually 32 bit so there'll be just 41K.

And I don't believe you can save much since as a solution you seem to have
re-implemented the full IB stack in your low level driver:

Module Size Used by
ib_ipath 79256 0
ipath_core 159764 1 ib_ipath

By contrast, a low-level which doesn't reimplement IB core is just a bit
above 100K.

Michael S. Tsirkin
Staff Engineer, Mellanox Technologies
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at