Messages in this thread | | | From | Michel Lespinasse <> | Date | Thu, 22 Aug 2019 13:10:37 -0700 | Subject | Re: [PATCH 1/3] x86,mm/pat: Use generic interval trees |
| |
I think vma_interval_tree is a bit of a mixed bag, but mostly leans towards using half closed intervals.
Right now vma_last_pgoff() has to do -1 because of the interval tree using closed intervals. Similarly, rmap_walk_file(), which I consider to be the main user of the vma_interval_tree, also has to do -1 when computing pgoff_end because of the interval tree closed intervals. So, I think overall vma_interval_tree would also more naturally use half-open intervals.
But, that's not a 100% thing for vma_interval_tree, as it also has uses that do stabbing queries (in arch specific code, in hugetlb cases, and in dax code).
On Thu, Aug 22, 2019 at 11:17 AM Davidlohr Bueso <dave@stgolabs.net> wrote: > > >On Wed, 21 Aug 2019, Michel Lespinasse wrote: > >>As I had commented some time ago, I wish the interval trees used [start,end) > >>intervals instead of [start,last] - it would be a better fit for basically > >>all of the current interval tree users. > > So the vma_interval_tree (which is a pretty important user) tends to break this > pattern, as most lookups are [a,a]. We would have to update most of the > vma_interval_tree_foreach calls, for example, to now do [a,a+1[ such that we > don't break things. Some cases for the anon_vma_tree as well (ie memory-failure). > > I'm not sure anymore it's worth going down this path as we end up exchanging one > hack for another (and the vma_interval_tree is a pretty big user); but I'm sure > you're aware of this and thus disagree. > > Thanks, > Davidlohr
-- Michel "Walken" Lespinasse A program is never fully debugged until the last user dies.
| |