Re: release numactl-1.0.3?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 10, 2008 at 03:54:44PM -0500, Cliff Wickman wrote:
> 
> > > > >   So I propose to change numactl-1.0.3-rc2 to numactl-1.0.3
> > > > >   and announce it as new release on freshmeat.
> > > > 
> > > > Does it already include changes for larger bitmaps? In that case
> > > > i would rather increment the version number more to make it clear
> > > > that it is a kind of binary incompatible release (2?)
> > > > 
> > > > -Andi
> > > 
> > > It does include the variable size bitmaps.  That is a large change
> > > that may be worthy of an increment to version 2.
> > > 
> > > On the other hand, it also includes symbol versioning, making libnuma
> > > binary compatible with old codes.
> > 
> > But breaks the source compatibility, right? 
> 
> Right.
>  
> > If you do that please both increase the major number and supply
> > some compat wrappers with a  compat define for old programs that they can use 
> > to still compile.
> > 
> > -Andi
> 
> This seems to cover every libnuma function that is changed to use a
> variable-length bit mask instead of a nodemask_t.
> 
> #define nodemask_t struct bitmask *
> #define numa_all_nodes                  numa_all_nodes_ptr
> #define numa_no_nodes                   numa_no_nodes_ptr
> #define nodemask_clr(m,n)               numa_bitmask_clearbit(*(m), n)
> #define nodemask_isset(m,n)             numa_bitmask_isbitset(*(m), n)
> #define nodemask_equal(m,n)             numa_bitmask_equal(*(m), *(n))
> #define numa_set_interleave_mask(m)     numa_set_interleave_mask(*m)
> #define nodemask_zero(m)                numa_bitmask_clearall(*(m))
> #define nodemask_set(m,n)               numa_bitmask_setbit(*(m),n)
> #define numa_bind(m)                    numa_bind(*(m))
> #define numa_set_membind(m)             numa_set_membind(*(m))
> #define numa_alloc_interleaved_subset(s,m) numa_alloc_interleaved_subset(s,*(m))
> #define numa_run_on_node_mask(m)        numa_run_on_node_mask(*(m))
> #define numa_interleave_memory(st,si,m) numa_interleave_memory(st,si,*(m))
> #define numa_tonodemask_memory(st,si,m) numa_tonodemask_memory(st,si,*(m))

Looks good.

> 
> However, I would like to change
> nodemask_t testmask;
> to
> struct bitmask * testmask = numa_allocate_nodemask();
> 
> Can I do that with a #define?

Don't think so no. The only good way is to make the compat layer still use
some hard coded size.

-Andi
--
To unsubscribe from this list: send the line "unsubscribe linux-numa" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]     [Devices]

  Powered by Linux