Messages in this thread | | | Date | Thu, 21 Oct 2010 00:30:08 -0700 | From | Andrew Morton <> | Subject | Re: mmotm 2010-10-20-15-01 uploaded |
| |
On Thu, 21 Oct 2010 09:17:26 +0200 Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
> > It would have been clearer to do > > > > WARN_ON_ONCE(vaddr != __fix_to_virt(FIX_KMAP_BEGIN + idx)) > > > > but I don't see what's gone wrong here. Peter? > > Right, so that's the warning that the unmapped address isn't actually > the top-of-stack one. > > Your version is much nicer, although I haven't looked too hard at it, I > probably got my head in a twist. > > But like you, I cannot directly see what's going wrong here, > zero_user_segments() seems a simple enough function without any > kmap_atomic nesting, so I'm not at all seeing how that's going wrong. > > /me goes find where you hide your mmotm patch-queue and stare at the > actual code.
hm, OK. The x86 guys have been mucking with the fixmap code lately but I don't see anything which could cause this.
btw, it's a bit sad to use KM_TYPE_NR*NR_CPUS pages of virtual address space for kmap_atomic(). I'd expect that distros set NR_CPUS quite large (Fedora has 256). That's 20MB of virtual address space consumed, I think.
And we consume it on non-highmem kernels, too...
| |