Adam Litke wrote: > On Wed, 2006-08-16 at 08:12 -0700, Nishanth Aravamudan wrote: >> On 16.08.2006 [10:11:37 +0100], Andy Whitcroft wrote: >>> Nishanth Aravamudan wrote: >>>> morecore's comments indicate that we will failover to smallpage malloc >>>> if we run out of hugepages at runtime, but that is not the case. Modify >>>> one comment and remove another to not confuse anyone. >>>> >>>> Signed-off-by: Nishanth Aravamudan <[EMAIL PROTECTED]> >>>> >>>> diff --git a/morecore.c b/morecore.c >>>> index 9f13316..08a356b 100644 >>>> --- a/morecore.c >>>> +++ b/morecore.c >>>> @@ -45,8 +45,8 @@ static long mapsize; >>>> * pretend there are none this covers us for the case where another >>>> * map is in the way. This is required because 'morecore' must have >>>> * 'sbrk' semantics, ie. return sequential, contigious memory blocks. >>>> - * Luckily, if it does not do so and we error out malloc will happily >>>> - * go back to small pages and use mmap to get them. Hurrah. >>>> + * Sufficient hugepages must be allocated before the malloc calls, or >>>> + * the application will be killed. >>> Hmmm, that is a tricky one. If morecore does return failure then the >>> malloc library will do all the things mentioned. The problem here is >>> that with demand fault semantics we will say 'yes' and return a page >>> which can't be instantiated. >>> >>> The comment in and of itsself is correct IMO. Your caveat is >>> appropriate though in addition. >> Description: morecore's comments indicate that we will failover to >> smallpage malloc if we run out of hugepages at runtime. While that is >> the case, the semantics of demand faulting require sufficient hugepages >> exist before the malloc calls. Add a comment to that effect to make it >> clear. >> >> Signed-off-by: Nishanth Aravamudan <[EMAIL PROTECTED]> >> >> diff --git a/morecore.c b/morecore.c >> index 9f13316..4b222ed 100644 >> --- a/morecore.c >> +++ b/morecore.c >> @@ -46,7 +46,9 @@ static long mapsize; >> * map is in the way. This is required because 'morecore' must have >> * 'sbrk' semantics, ie. return sequential, contigious memory blocks. >> * Luckily, if it does not do so and we error out malloc will happily >> - * go back to small pages and use mmap to get them. Hurrah. >> + * go back to small pages and use mmap to get them. Hurrah. However, >> + * sufficient hugepages must be allocated before the malloc calls, or >> + * the application will be killed. >> */ > > How about this: > > * go back to small pages and use mmap to get them. Hurrah. However, > * due to the semantics of demand faulting combined with MAP_PRIVATE > mappings in newer kernels, we are unable to detect the out of huge pages > condition and cannot return an error to glibc for that case. The result > is that when enough huge pages don't exist to satisfy the application's > requirements, it may be killed at runtime. >
I'd also make the "However" clause a separate paragraph. /me had more this in mind ... +1 -apw ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Libhugetlbfs-devel mailing list Libhugetlbfs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel