On Mon, 2008-09-08 at 17:24 +0100, Mel Gorman wrote: > When remapping text or data, segments are prepared in a child process and > later remapped. The status code from the segment preparation is not checked > and in the event of failure to copy text or data, the main process gets killed > later when it remaps a useless segment with no data. This patch checks the > return values from prepare_segment() and recovers gracefully in the event > prepare_segment() fails. The impact for tests is that remapping tests that > previously received a SIGKILL or SIGBUS when the hugepage pool was too small > will instead FAIL with the message "small_bss is not hugepage" or similar. > > Signed-off-by: Mel Gorman <[EMAIL PROTECTED]>
Acked-by: Adam Litke <[EMAIL PROTECTED]> > --- > elflink.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/elflink.c b/elflink.c > index 3401ed9..6f55c02 100644 > --- a/elflink.c > +++ b/elflink.c > @@ -1027,6 +1027,9 @@ static int obtain_prepared_file(struct seg_info > *htlb_seg_info) > return -1; > } > > + if (WEXITSTATUS(status) != 0) > + return -1; > + > DEBUG("Prepare succeeded\n"); > return 0; > } > @@ -1216,7 +1219,12 @@ void __lh_hugetlbfs_setup_elflink(void) > for (i = 0; i < htlb_num_segs; i++) { > ret = obtain_prepared_file(&htlb_seg_table[i]); > if (ret < 0) { > - DEBUG("Failed to setup hugetlbfs file\n"); > + DEBUG("Failed to setup hugetlbfs file for segment > %d\n", i); > + > + /* Close files we have already prepared */ > + for (; i >= 0; i--) > + close(htlb_seg_table[i].fd); > + > return; > } > } > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Libhugetlbfs-devel mailing list > Libhugetlbfs-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel > -- Adam Litke - (agl at us.ibm.com) IBM Linux Technology Center ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Libhugetlbfs-devel mailing list Libhugetlbfs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel