Messages in this thread | | | From | "Aneesh Kumar K.V" <> | Subject | Re: [RFC] [PATCH v5 0/3] fadvise: support POSIX_FADV_NOREUSE | Date | Sun, 12 Feb 2012 23:24:27 +0530 |
| |
On Sun, 12 Feb 2012 12:58:34 +0100, Andrea Righi <andrea@betterlinux.com> wrote: > On Sun, Feb 12, 2012 at 03:16:07PM +0800, Hillf Danton wrote: > > Hello Andrea > > > > On Sun, Feb 12, 2012 at 8:21 AM, Andrea Righi <andrea@betterlinux.com> wrote: > > [...] > > > - Some of the routines to implement the generic interval tree has been taken > > > from the x86 PAT code, that uses interval trees to keep track of PAT ranges > > > (in the future it would be interesting to convert also the x86 PAT code to > > > use the generic interval tree implementation). > > > > > Perhaps the tree implemented in this work could also be used in tracking > > regions in mm/hugetlb.c. > > > > Thanks > > Hillf > > Thanks, Hillf. > > Yes, I quickly looked at the hugtlb code, it seems another potential > user of the interval tree. Now all the hugetlb regions are stored in a > list, the interval tree is a more efficient structure for lookups - > O(log(n)), so there are probably advantages in presence of many > different disjoint intervals. > > mmh... at the moment there's not a way to map region_count() with the > current kinterval API, but we can easily extend it to provide also this > feature (count the overlap size of two intervals). >
I am also extending the hugetlb region list in the hugetlb cgroup patchset i recently posted to make sure we don't merge region if the associated private data doesn't match (in my case it is the pointer to hugetlb cgroup). Ref: http://article.gmane.org/gmane.linux.kernel.mm/73829
The goal is to make sure a region add with different private value results in below.
old | hcg1 | -------------------
new | hcg2 | ----------------------------------
results in
| hcg2 | | hcg1 | | hcg2 | --------- __________________ ----------
-aneesh
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |