[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