Re: [patch] mm: rewrite vmap layer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 19, 2008 at 09:42:36AM -0500, Christoph Lameter wrote:
> Nick Piggin wrote:
> 
> > +static void free_unmap_vmap_area(struct vmap_area *va)
> > +{
> > +	va->flags |= VM_LAZY_FREE;
> > +	atomic_add((va->va_end - va->va_start) >> PAGE_SHIFT, &vmap_lazy_nr);
> > +	if (unlikely(atomic_read(&vmap_lazy_nr) > LAZY_MAX))
> > +		purge_vmap_area_lazy();
> > +}
> 
> Could you check here if we are in an atomic context and then simply not purge
> the vmap area? That may we may get to a vfree that can be run in an atomic
> context.

If the locks and per-cpu access is made irq safe, then yes.

 
> Or run purge_vma_area_lazy from keventd?
 
Right. But that's only needed if we want to vmap from irq context too
(otherwise we can just do the purge check at vmap time).

Is there any good reason to be able to vmap or vunmap from interrupt
time, though?
--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux