Messages in this thread | | | Date | Wed, 6 Aug 2014 21:41:29 +0200 | From | Oleg Nesterov <> | Subject | Re: [PATCH v2 1/7] fs/proc/task_mmu.c: don't use task->mm in m_start() and show_*map() |
| |
On 08/06, Oleg Nesterov wrote: > > On 08/06, Kirill A. Shutemov wrote: > > > > On Tue, Aug 05, 2014 at 09:46:44PM +0200, Oleg Nesterov wrote: > > > > > > if (m->count < m->size) /* vma is copied successfully */ > > > - m->version = (vma != get_gate_vma(task->mm)) > > > + m->version = (vma != priv->tail_vma) > > > ? vma->vm_start : 0; > > > > Drop excessive parenthesis while you're there? And in the next hunk. > > I agree. But lets do this in another patch? I forgot to mention this in > the yesterday's TODO, but we should factor out this code. Perhaps move > this into vma_stop(). Or at least add a trivial helper, this pattern > repeats 3 times, plus another one in m_start(). This problem is that I > do not really understand this logic right now, but I'll do something > today in any case.
Damn, this needs even more cleanups than I thought. Even "version == -1" logic is absolutely wrong/dead. And "last_addr rather than next_addr" is wrong too afaics, this just means we need the extra ->vm_next step plus vma-or-tail_vma recheck.
Hopefully I'll finish this tomorrow.
Oleg.
| |