Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1452259
| From | David Miller <davem@davemloft.net> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] sparc64 mm: Fix base TSB sizing when hugetlb pages are used |
| Date | 2016-07-29 06:50 +0200 |
| Message-ID | <s07Ud-8gN-3@gated-at.bofh.it> (permalink) |
| References | <rVhAS-2Sc-19@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Mike Kravetz <mike.kravetz@oracle.com> Date: Fri, 15 Jul 2016 13:08:42 -0700 > do_sparc64_fault() calculates both the base and huge page RSS sizes and > uses this information in calls to tsb_grow(). The calculation for base > page TSB size is not correct if the task uses hugetlb pages. hugetlb > pages are not accounted for in RSS, therefore the call to get_mm_rss(mm) > does not include hugetlb pages. However, the number of pages based on > huge_pte_count (which does include hugetlb pages) is subtracted from > this value. This will result in an artificially small and often negative > RSS calculation. The base TSB size is then often set to max_tsb_size > as the passed RSS is unsigned, so a negative value looks really big. > > THP pages are also accounted for in huge_pte_count, and THP pages are > accounted for in RSS so the calculation in do_sparc64_fault() is correct > if a task only uses THP pages. > > A single huge_pte_count is not sufficient for TSB sizing if both hugetlb > and THP pages can be used. Instead of a single counter, use two: one > for hugetlb and one for THP. > > Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com> Great catch, applied and queued up for -stable. Thanks.
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
Re: [PATCH] sparc64 mm: Fix base TSB sizing when hugetlb pages are used David Miller <davem@davemloft.net> - 2016-07-29 06:50 +0200
csiph-web