[PATCH] hugetlb: Fix pool resizing corner case V2

2007-10-03 Thread Adam Litke
Changes in V2: - Removed now unnecessary check as suggested by Ken Chen When shrinking the size of the hugetlb pool via the nr_hugepages sysctl, we are careful to keep enough pages around to satisfy reservations. But the calculation is flawed for the following scenario: Action

Re: [PATCH] hugetlb: Fix pool resizing corner case

2007-10-03 Thread Ken Chen
On 10/3/07, Dave Hansen <[EMAIL PROTECTED]> wrote: > > Not quite. Count can never go below the number of reserved pages plus > > pages allocated to MAP_PRIVATE mappings. That number is computed by: > > (resv + (total - free)). > > So, (total - free) equals the number of MAP_PRIVATE pages? Does t

Re: [PATCH] hugetlb: Fix pool resizing corner case

2007-10-03 Thread Ken Chen
On 10/3/07, Adam Litke <[EMAIL PROTECTED]> wrote: > The key is that we don't want to shrink the pool below the number of > pages we are committed to keeping around. Before this patch, we only > accounted for the pages we plan to hand out (reserved huge pages) but > not the ones we've already hande

Re: [PATCH] hugetlb: Fix pool resizing corner case

2007-10-03 Thread Dave Hansen
On Wed, 2007-10-03 at 13:33 -0500, Adam Litke wrote: > On Wed, 2007-10-03 at 10:40 -0700, Dave Hansen wrote: > > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > > > index 84c795e..7af3908 100644 > > > --- a/mm/hugetlb.c > > > +++ b/mm/hugetlb.c > > > @@ -224,14 +224,14 @@ static void try_to_free_low(u

Re: [PATCH] hugetlb: Fix pool resizing corner case

2007-10-03 Thread Adam Litke
On Wed, 2007-10-03 at 10:40 -0700, Dave Hansen wrote: > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > > index 84c795e..7af3908 100644 > > --- a/mm/hugetlb.c > > +++ b/mm/hugetlb.c > > @@ -224,14 +224,14 @@ static void try_to_free_low(unsigned long count) > > for (i = 0; i < MAX_NUMNODES; ++i) {

Re: [PATCH] hugetlb: Fix pool resizing corner case

2007-10-03 Thread Dave Hansen
On Wed, 2007-10-03 at 08:47 -0700, Adam Litke wrote: > When shrinking the size of the hugetlb pool via the nr_hugepages sysctl, we > are careful to keep enough pages around to satisfy reservations. But the > calculation is flawed for the following scenario: > > Action Poo

[PATCH] hugetlb: Fix pool resizing corner case

2007-10-03 Thread Adam Litke
When shrinking the size of the hugetlb pool via the nr_hugepages sysctl, we are careful to keep enough pages around to satisfy reservations. But the calculation is flawed for the following scenario: Action Pool Counters (Total, Free, Resv) ==