[openib-general] [PATCH v2 1/2] ofed_1_2 Changes to kernel_patches/ for ChelsioT3 Support.

Michael S. Tsirkin mst at mellanox.co.il
Thu Jan 11 15:34:15 PST 2007


> > > Quoting Steve Wise <swise at opengridcomputing.com>:
> > > Subject: Re: [PATCH v2 1/2] ofed_1_2 Changes to kernel_patches/ for Chelsio T3 Support.
> > > 
> > > On Fri, 2007-01-12 at 00:33 +0200, Michael S. Tsirkin wrote:
> > > > For genalloc,
> > > > 1. It's a backport, why do you put it in fixes?   
> > > 
> > > Because its not exactly a backport.  The exact file exists in 2.6.20 but
> > > it is only conditionally compiled into the kernel.
> > 
> > I don't really understand. Maybe I am missing something?
> > So you want it for older kernels, right?
> > So how is it not a backport?
> > 
> 
> The issue is slightly different for genalloc.  In 2.6.18 and later
> genalloc.c exists in lib/genalloc.c.  But it is configured into the
> kernel build ONLY if somebody else in the kernel wants it by having a
> config dependency on CONFIG_GENERIC_ALLOCATOR.  So on any given customer
> system with 2.6.19, for instance, they may or may not have built this in
> based on what other modules they've built that may or may not have a
> config dependency on CONFIG_GENERIC_ALLOCATOR.  Now, If they DID build
> it in, then we cannot add in our own genalloc functions with the same
> symbol names (I think) because they are exported from that kernel.  But
> if they are _not_ exported on the customer's system/kernel, then we need
> the functionality for sure.
> 
> I chose to simply always add the genalloc service _and_ change the
> function names so that I wouldn't collide with kernels that have it
> configured in.
> 
> Does this make sense?
> 
> So I'm claiming that under my current scheme/design (which is of course
> can change :) I need these services in every build regardless of which
> kernel we're building against.  

OK, I see. Also gen_pool_destroy is needed for older kernels - right?

Some notes:
- distros normally just enable everything, and customer that built
  his own kernel can be directed to just enable genalloc - no?
  In that case maybe its best to just rely on it being enabled.

- Macro wrappers can be used to export functions like 
  gen_pool_destroy_new but have code use gen_pool_destroy as it did
  previously.

-- 
MST




More information about the general mailing list