Re: [PATCH] hugetlb: Abort a hugepage pool resize if a signal ispending

From: Dave Hansen
Date: Wed Dec 02 2009 - 10:24:57 EST


On Wed, 2009-12-02 at 14:15 +0000, Mel Gorman wrote:
> If a user asks for a hugepage pool resize but specified a large number, the
> machine can begin trashing. In response, they might hit ctrl-c but signals
> are ignored and the pool resize continues until it fails an allocation. This
> can take a considerable amount of time so this patch aborts a pool resize
> if a signal is pending.
>
> [dave@xxxxxxxxxxxxxxxxxx: His idea]
> Signed-off-by: Mel Gorman <mel@xxxxxxxxx>
> ---
> mm/hugetlb.c | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index af02ee8..a952cb8 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -1238,6 +1238,9 @@ static unsigned long set_max_huge_pages(struct hstate *h, unsigned long count)
> if (!ret)
> goto out;
>
> + /* Bail for signals. Probably ctrl-c from user */
> + if (signal_pending(current))
> + goto out;

Thanks, Mel!

This will help m unwedge my system the next time I fat-finger an extra
zero or two into my hugepage pool size.

-- Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/