Messages in this thread | | | Date | Mon, 27 Mar 2006 14:58:47 -0800 | From | Ravikiran G Thirumalai <> | Subject | Re: [Ext2-devel] [PATCH 2/2] ext2/3: Support2^32-1blocks(e2fsprogs) |
| |
On Mon, Mar 27, 2006 at 01:10:49PM -0800, Andrew Morton wrote: > Mingming Cao <cmm@us.ibm.com> wrote: > > > > I am wondering if we have (or plan to have) "long long " type of percpu > > counters? Andrew, Kiran, do you know? > > > > It seems right now the percpu counters are used mostly by ext2/3 for > > filesystem free blocks accounting. Right now the counter is "long" type, > > which is not enough if we want to extend the filesystem limit from 2**31 > > to 2**32 on 32 bit machine. > > > > The patch from Takashi copies the whole percpu_count.h and create a new > > percpu_llcounter.h to support longlong type percpu counters. I am > > wondering is there any better way for this? > > > > I can't immediately think of anything smarter. > > One could of course implement a 64-bit percpu counter by simply > concatenating two 32-bit counters. That would be a little less efficient, > but would introduce less source code and would mean that we don't need to > keep two different implemetations in sync. But one would need to do a bit > of implementation, see how bad it looks.
Since long long is 64 bits on both 32bit and 64 bit arches, we can just change percpu_counter type to long long (or s64) and just have one implementation of percpu_counter? But reads and writes on 64 bit counters may not be atomic on all 32 bit arches. So the implementation might have to be reviewed for that.
Thanks, Kiran - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |