[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1334409396.2528.100.camel@twins>
Date: Sat, 14 Apr 2012 15:16:36 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Oleg Nesterov <oleg@...hat.com>
Cc: Ingo Molnar <mingo@...e.hu>,
Srikar Dronamraju <srikar@...ux.vnet.ibm.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Ananth N Mavinakayanahalli <ananth@...ibm.com>,
Jim Keniston <jkenisto@...ux.vnet.ibm.com>,
LKML <linux-kernel@...r.kernel.org>,
Linux-mm <linux-mm@...ck.org>, Andi Kleen <andi@...stfloor.org>,
Christoph Hellwig <hch@...radead.org>,
Steven Rostedt <rostedt@...dmis.org>,
Arnaldo Carvalho de Melo <acme@...radead.org>,
Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>,
Thomas Gleixner <tglx@...utronix.de>,
Anton Arapov <anton@...hat.com>
Subject: Re: [RFC 0/6] uprobes: kill uprobes_srcu/uprobe_srcu_id
On Fri, 2012-04-06 at 00:20 +0200, Oleg Nesterov wrote:
> Hello.
>
> Not for inclusion yet, only for the early review.
>
> I didn't even try to test these changes, and I am not expert
> in this area. And even _if_ this code is correct, I need to
> re-split these changes anyway, update the changelogs, etc.
>
> Questions:
>
> - does it make sense?
Maybe, upside is reclaiming that int from task_struct, downside is that
down_write :/ It would be very good not to have to do that. Nor do I
really see how that works.
> - can it work or I missed something "in general" ?
So we insert in the rb-tree before we take mmap_sem, this means we can
hit a non-uprobe int3 and still find a uprobe there, no?
> Why:
>
> - It would be nice to remove a member from task_struct.
>
> - Afaics, the usage of uprobes_srcu does not look right,
> at least in theory, see 6/6.
>
> The comment above delete_uprobe() says:
>
> The current unregistering thread waits till all
> other threads have hit a breakpoint, to acquire
> the uprobes_treelock before the uprobe is removed
> from the rbtree.
>
> but synchronize_srcu() can only help if a thread which
> have hit the breakpoint has already called srcu_read_lock().
> It can't synchronize with read_lock "in future", and there
> is a small window.
>
> We could probably add another synchronize_sched() before
> synchronize_srcu(), but this doesn't look very nice and
Right, I think that all was written with the assumption that sync_srcu
implied a sync_rcu, which of course we've recently wrecked.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists