Messages in this thread | | | Date | Mon, 16 Feb 2009 15:28:19 -0800 | From | "H. Peter Anvin" <> | Subject | Re: #tj-percpu has been rebased |
| |
Rusty Russell wrote: >> >> All in all I think a dedicated virtual zone per CPU as opposed to >> interleaving them seems to make more sense. Even with 4096 CPUs and >> reserving, say, 256 MB per CPU it's not that much address space in the >> context of a 47-bit kernel space. On 32 bits I don't think anything but >> the most trivial amount of percpu space is going to fly no matter what. > > It's the TLB cost which I really don't want to pay; num_possible_cpus() > 4096 non-NUMA is a little silly (currently impossible). > > I'm happy to limit per-cpu allocations to pagesize, then you only need to > find num_possible_cpus() contig pages, and if you can't, you fall back to > vmalloc. >
num_possible_cpus() can be very large though, so in many cases the likelihood of finding that many pages approach zero. Furthermore, num_possible_cpus() may be quite a bit larger than the actual number of CPUs in the system.
-hpa
-- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.
| |