All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Michel Lespinasse <walken@google.com>
Cc: linux-mm@kvack.org, riel@redhat.com, peterz@infradead.org,
	aarcange@redhat.com, hughd@google.com, daniel.santos@pobox.com,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/7] mm: interval tree updates
Date: Fri, 7 Sep 2012 15:13:41 -0700	[thread overview]
Message-ID: <20120907151341.79cb5638.akpm@linux-foundation.org> (raw)
In-Reply-To: <1346750457-12385-2-git-send-email-walken@google.com>

On Tue,  4 Sep 2012 02:20:51 -0700
Michel Lespinasse <walken@google.com> wrote:

> This commit updates the generic interval tree code that was
> introduced in "mm: replace vma prio_tree with an interval tree".
> 
> Changes:
> 
> - fixed 'endpoing' typo noticed by Andrew Morton
> 
> - replaced include/linux/interval_tree_tmpl.h, which was used as a
>   template (including it automatically defined the interval tree
>   functions) with include/linux/interval_tree_generic.h, which only
>   defines a preprocessor macro INTERVAL_TREE_DEFINE(), which itself
>   defines the interval tree functions when invoked. Now that is a very
>   long macro which is unfortunate, but it does make the usage sites
>   (lib/interval_tree.c and mm/interval_tree.c) a bit nicer than previously.
> 
> - make use of RB_DECLARE_CALLBACKS() in the INTERVAL_TREE_DEFINE() macro,
>   instead of duplicating that code in the interval tree template.
> 
> - replaced vma_interval_tree_add(), which was actually handling the
>   nonlinear and interval tree cases, with vma_interval_tree_insert_after()
>   which handles only the interval tree case and has an API that is more
>   consistent with the other interval tree handling functions.
>   The nonlinear case is now handled explicitly in kernel/fork.c dup_mmap().
> 
> Signed-off-by: Michel Lespinasse <walken@google.com>
> ---
>  include/linux/interval_tree_generic.h |  191 ++++++++++++++++++++++++++++
>  include/linux/interval_tree_tmpl.h    |  219 ---------------------------------

Well that's a mess.  We create interval_tree_generic.h then four
commits later it vanishes, never to return.  And I can't fold
mm-interval-tree-updates.patch into
mm-replace-vma-prio_tree-with-an-interval-tree.patch because
rbtree-move-augmented-rbtree-functionality-to-rbtree_augmentedh.patch
mucks with interval_tree_generic.h within those four commits.

Ho hum.  I don't think I can be bothered untangling all this.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Andrew Morton <akpm@linux-foundation.org>
To: Michel Lespinasse <walken@google.com>
Cc: linux-mm@kvack.org, riel@redhat.com, peterz@infradead.org,
	aarcange@redhat.com, hughd@google.com, daniel.santos@pobox.com,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/7] mm: interval tree updates
Date: Fri, 7 Sep 2012 15:13:41 -0700	[thread overview]
Message-ID: <20120907151341.79cb5638.akpm@linux-foundation.org> (raw)
In-Reply-To: <1346750457-12385-2-git-send-email-walken@google.com>

On Tue,  4 Sep 2012 02:20:51 -0700
Michel Lespinasse <walken@google.com> wrote:

> This commit updates the generic interval tree code that was
> introduced in "mm: replace vma prio_tree with an interval tree".
> 
> Changes:
> 
> - fixed 'endpoing' typo noticed by Andrew Morton
> 
> - replaced include/linux/interval_tree_tmpl.h, which was used as a
>   template (including it automatically defined the interval tree
>   functions) with include/linux/interval_tree_generic.h, which only
>   defines a preprocessor macro INTERVAL_TREE_DEFINE(), which itself
>   defines the interval tree functions when invoked. Now that is a very
>   long macro which is unfortunate, but it does make the usage sites
>   (lib/interval_tree.c and mm/interval_tree.c) a bit nicer than previously.
> 
> - make use of RB_DECLARE_CALLBACKS() in the INTERVAL_TREE_DEFINE() macro,
>   instead of duplicating that code in the interval tree template.
> 
> - replaced vma_interval_tree_add(), which was actually handling the
>   nonlinear and interval tree cases, with vma_interval_tree_insert_after()
>   which handles only the interval tree case and has an API that is more
>   consistent with the other interval tree handling functions.
>   The nonlinear case is now handled explicitly in kernel/fork.c dup_mmap().
> 
> Signed-off-by: Michel Lespinasse <walken@google.com>
> ---
>  include/linux/interval_tree_generic.h |  191 ++++++++++++++++++++++++++++
>  include/linux/interval_tree_tmpl.h    |  219 ---------------------------------

Well that's a mess.  We create interval_tree_generic.h then four
commits later it vanishes, never to return.  And I can't fold
mm-interval-tree-updates.patch into
mm-replace-vma-prio_tree-with-an-interval-tree.patch because
rbtree-move-augmented-rbtree-functionality-to-rbtree_augmentedh.patch
mucks with interval_tree_generic.h within those four commits.

Ho hum.  I don't think I can be bothered untangling all this.

  reply	other threads:[~2012-09-07 22:13 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-04  9:20 [PATCH 0/7] use interval trees for anon rmap Michel Lespinasse
2012-09-04  9:20 ` Michel Lespinasse
2012-09-04  9:20 ` [PATCH 1/7] mm: interval tree updates Michel Lespinasse
2012-09-04  9:20   ` Michel Lespinasse
2012-09-07 22:13   ` Andrew Morton [this message]
2012-09-07 22:13     ` Andrew Morton
2012-09-07 22:29     ` Michel Lespinasse
2012-09-07 22:29       ` Michel Lespinasse
2012-09-07 22:55       ` Andrew Morton
2012-09-07 22:55         ` Andrew Morton
2012-09-07 23:26         ` Michel Lespinasse
2012-09-07 23:26           ` Michel Lespinasse
2012-09-08  4:45           ` Hillf Danton
2012-09-08  4:45             ` Hillf Danton
2012-09-07 23:26         ` Michel Lespinasse
2012-09-07 23:26           ` Michel Lespinasse
2012-09-04  9:20 ` [PATCH 2/7] mm: fix potential anon_vma locking issue in mprotect() Michel Lespinasse
2012-09-04  9:20   ` Michel Lespinasse
2012-09-04 14:27   ` Andrea Arcangeli
2012-09-04 14:27     ` Andrea Arcangeli
2012-09-04 21:53     ` Michel Lespinasse
2012-09-04 21:53       ` Michel Lespinasse
2012-09-04 22:16       ` Andrea Arcangeli
2012-09-04 22:16         ` Andrea Arcangeli
2012-09-05  0:45         ` Michel Lespinasse
2012-09-05  0:45           ` Michel Lespinasse
2012-09-04  9:20 ` [PATCH 3/7] mm anon rmap: remove anon_vma_moveto_tail Michel Lespinasse
2012-09-04  9:20   ` Michel Lespinasse
2012-09-04  9:20 ` [PATCH 4/7] mm anon rmap: replace same_anon_vma linked list with an interval tree Michel Lespinasse
2012-09-04  9:20   ` Michel Lespinasse
2012-09-05  0:51   ` Michel Lespinasse
2012-09-05  0:51     ` Michel Lespinasse
2012-09-04  9:20 ` [PATCH 5/7] mm rmap: remove vma_address check for address inside vma Michel Lespinasse
2012-09-04  9:20   ` Michel Lespinasse
2012-09-04  9:20 ` [PATCH 6/7] mm: add CONFIG_DEBUG_VM_RB build option Michel Lespinasse
2012-09-04  9:20   ` Michel Lespinasse
2012-09-14 22:14   ` Sasha Levin
2012-09-14 22:14     ` Sasha Levin
2012-09-14 22:40     ` Sasha Levin
2012-09-14 22:40       ` Sasha Levin
2012-09-14 22:46     ` Michel Lespinasse
2012-09-14 22:46       ` Michel Lespinasse
2012-09-15  0:00       ` Michel Lespinasse
2012-09-15  0:00         ` Michel Lespinasse
2012-09-15  7:52         ` Jiri Slaby
2012-09-15  7:52           ` Jiri Slaby
2012-09-16 19:07           ` Hugh Dickins
2012-09-16 19:07             ` Hugh Dickins
2012-09-22  7:19             ` Jiri Slaby
2012-09-22  7:19               ` Jiri Slaby
2012-09-15  9:26         ` Sasha Levin
2012-09-15  9:26           ` Sasha Levin
2012-09-20 21:39           ` Fengguang Wu
2012-09-20 22:27             ` Hugh Dickins
2012-09-20 22:27               ` Hugh Dickins
2012-09-20 22:31               ` Fengguang Wu
2012-09-20 22:31                 ` Fengguang Wu
2012-09-04  9:20 ` [PATCH 7/7] mm: avoid taking rmap locks in move_ptes() Michel Lespinasse
2012-09-04  9:20   ` Michel Lespinasse

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120907151341.79cb5638.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=aarcange@redhat.com \
    --cc=daniel.santos@pobox.com \
    --cc=hughd@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=peterz@infradead.org \
    --cc=riel@redhat.com \
    --cc=walken@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.