On Thu 05-10-17 10:57:07, Waiman Long wrote: > On 10/05/2017 04:59 AM, Jan Kara wrote: > > On Wed 04-10-17 17:20:05, Waiman Long wrote: > >> int alloc_dlock_list_heads(struct dlock_list_heads *dlist) > >> { > >> - int idx; > >> + int idx, cnt = nr_dlock_lists ? nr_dlock_lists : nr_cpu_ids; > > Hum, is this there for the case where alloc_dlock_list_heads() is called > > before nr_dlock_lists is initialized? But how can the dlist be used later > > when it has larger number of lists and you don't know how many? > > The point is nr_dlock_lists <= nr_cpu_ids. Before nr_dlock_lists is > initialized, the mapping table will map all cpus to the first entry. So > the extra entries will just stay unused. At free time, they will all get > de-allocated. I will clarify that with a comment. OK, nice trick. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR