On Nov 02, 2007 17:35 -0700, Mingming Cao wrote: > Index: linux-2.6.24-rc1/fs/ext4/mballoc.c > =================================================================== > --- linux-2.6.24-rc1.orig/fs/ext4/mballoc.c 2007-11-02 17:22:18.000000000 -0700 > +++ linux-2.6.24-rc1/fs/ext4/mballoc.c 2007-11-02 17:23:02.000000000 -0700 > @@ -4006,7 +4006,8 @@ static void ext4_mb_group_or_file(struct > return; > > BUG_ON(ac->ac_lg != NULL); > - ac->ac_lg = &sbi->s_locality_groups[smp_processor_id()]; > + ac->ac_lg = &sbi->s_locality_groups[get_cpu()]; > + put_cpu(); > > /* we're going to use group allocation */ > ac->ac_flags |= EXT4_MB_HINT_GROUP_ALLOC; Shouldn't the put_cpu() be after ac->ac_lg is no longer being used? I guess there would otherwise be a danger of other processes using the same s_locality_groups[] struct? Cheers, Andreas -- Andreas Dilger Sr. Software Engineer, Lustre Group Sun Microsystems of Canada, Inc. - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html