Re: [PATCH 1 of 9] Lock the entire mm to prevent any mmu related operation to happen

Andrea Arcangeli
2008-04-25T17:04:25Z

On Fri, Apr 25, 2008 at 06:56:39PM +0200, Andrea Arcangeli wrote:
> > > + data->i_mmap_locks = vmalloc(nr_i_mmap_locks *
> > > + sizeof(spinlock_t));
> >
> > This is why non-typesafe allocators suck. You want 'sizeof(spinlock_t *)'
> > here.
> >
> > > + data->anon_vma_locks = vmalloc(nr_anon_vma_locks *
> > > + sizeof(spinlock_t));
> >
> > and here.
>
> Great catch! (it was temporarily wasting some ram which isn't nice at all)

As I went into the editor I just found the above already fixed in
#v14-pre3. And I can't move the structure into the file anymore
without kmallocing it. Exposing that structure avoids the
ERR_PTR/PTR_ERR on the retvals and one kmalloc so I think it makes the
code simpler in the end to keep it as it is now. I'd rather avoid
further changes to the 1/N patch, as long as they don't make any
difference at runtime and as long as they involve more than
cut-and-pasting a structure from .h to .c file.