Re: [PATCH v4 04/16] generic-sections: add section core helpers

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

 



On Thu, 25 Aug 2016 19:52:39 +0200
"Luis R. Rodriguez" <mcgrof@xxxxxxxxxx> wrote:

> On Thu, Aug 25, 2016 at 04:51:21PM +1000, Nicholas Piggin wrote:
> > On Thu, 25 Aug 2016 08:05:40 +0200
> > "Luis R. Rodriguez" <mcgrof@xxxxxxxxxx> wrote:  
> > > > Oh, that makes more sense. The SECTION stuff and custom sections was
> > > > confusing me. I would prefer just to drop all the LINUX_SECTION naming
> > > > and make it match the functionality you're using. For example:
> > > > 
> > > > +DEFINE_LINKTABLE(struct jump_entry, __jump_table);
> > > > +
> > > >  /* mutex to protect coming/going of the the jump_label table */
> > > >  static DEFINE_MUTEX(jump_label_mutex);
> > > >  
> > > > @@ -274,8 +277,6 @@ static void __jump_label_update(struct static_key *key,
> > > >  
> > > >  void __init jump_label_init(void)
> > > >  {
> > > > -	struct jump_entry *iter_start = __start___jump_table;
> > > > -	struct jump_entry *iter_stop = __stop___jump_table;
> > > >  	struct static_key *key = NULL;
> > > >  	struct jump_entry *iter;
> > > >  
> > > > @@ -292,9 +293,10 @@ void __init jump_label_init(void)
> > > >  		return;
> > > >  
> > > >  	jump_label_lock();
> > > > -	jump_label_sort_entries(iter_start, iter_stop);
> > > > +	jump_label_sort_entries(LINUX_SECTION_START(__jump_table),
> > > > +				LINUX_SECTION_END(__jump_table));
> > > > 
> > > > Now I think this is a fine abstraction to have.    
> > > 
> > > OK will keep this one.
> > >   
> > > > I think it would look
> > > > even cleaner if you had:
> > > > 
> > > > LINKTABLE_START(__jump_table)
> > > > LINKTABLE_END(__jump_table)
> > > >
> > > > Then do we need to even have the LINUX_SECTION middle man at all?    
> > > 
> > > Ah, thing is we use this for both linktables and section ranges.
> > > Or do we want macros for both that do the same thing ?  
> > 
> > I think it would make the code using it more readable.  
> 
> Alrighty... so:
> 
> LINKTABLE_START()
> LINKTABLE_END()
> 
> SECTION_RANGE_START()
> SECTION_RANGE_END()
> 
> And these macros do the exact same thing. Ie, nothing shared. Right?

Yeah I think so. Internally they would probably be aliased to the
same common definition (unless you had some type check or something),
but user would know about such details.

Thanks,
Nick
--
To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" 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 Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux