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

Michael S. Tsirkin mst at mellanox.co.il
Thu Mar 23 01:37:13 PST 2006


Quoting r. Bryan O'Sullivan <bos at pathscale.com>:
> > 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



More information about the general mailing list