From: Rajesh Venkatasubramanian <vrajesh@umich.edu>
To: Werner Almesberger <werner@almesberger.net>
Cc: linux-kernel@vger.kernel.org, kernel@kolivas.org
Subject: Re: [RFC] Generalized prio_tree, revisited
Date: Thu, 16 Dec 2004 06:12:13 -0500 [thread overview]
Message-ID: <41C16D8D.7020702@umich.edu> (raw)
In-Reply-To: <20041216053118.M1229@almesberger.net>
Werner Almesberger wrote:
> did you have a chance to look at the prio_tree generalization ?
I admit I haven't gone through the patch carefully yet. Overall
it looks good except for a problem which bothers me. The "raw"
prio_tree can only handle unique intervals, i.e., we cannot
insert two intervals with the same indices. Check vm_set.head
and vma_prio_tree_* functions to see how multiple vmas with
identical indices are handled.
> There are currently no in-tree users of the generalized prio_tree,
> but an example of one can be found in the elevator code of ABISS
> (abiss.sourceforge.net), where it's used to detect overlapping
> requests, which in turn is needed to improve barrier handling in
> the elevator.
Maybe in your case you don't have to worry about storing multiple
identical intervals. However, if we are generalizing prio_tree then
we have to consider that, I guess. This is similar to map and multi_map
in C++. I _guess_ in prio_tree case we will be using the multi_
variant more often. So, I was thinking something like this:
struct raw_prio_tree_node {}
/* same as in your patch */
struct unique_prio_tree_node {}
/* same as prio_tree_node in your patch */
struct prio_tree_node {}
/* somthing similar to shared in vm_area_struct */
> Jens has also indicated interest in putting overlap
> handling into the general block IO layer.
I wish we could have a patch using the generlized prio_tree when
we propose to merge the generalized prio_tree code.
> Are there any standard benchmarks I could run to show how/if this
> affects VMA performance ? I'd be surprised if there was much of a
> change, but you never know.
I don't think the performance drop will be measurable.
Thanks,
Rajesh
next prev parent reply other threads:[~2004-12-16 11:19 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-12-16 8:31 [RFC] Generalized prio_tree, revisited Werner Almesberger
2004-12-16 9:02 ` Con Kolivas
2004-12-16 9:15 ` Werner Almesberger
2004-12-16 9:33 ` Con Kolivas
2004-12-16 13:23 ` Werner Almesberger
2004-12-16 11:12 ` Rajesh Venkatasubramanian [this message]
2004-12-16 13:57 ` Werner Almesberger
2004-12-16 15:04 ` Rajesh Venkatasubramanian
2004-12-16 19:38 ` Werner Almesberger
2004-12-16 20:01 ` Rajesh Venkatasubramanian
2004-12-17 4:44 ` Werner Almesberger
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=41C16D8D.7020702@umich.edu \
--to=vrajesh@umich.edu \
--cc=kernel@kolivas.org \
--cc=linux-kernel@vger.kernel.org \
--cc=werner@almesberger.net \
/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.