Re: Processes stuck on D state on Dual Opteron

From: Nick Piggin
Date: Tue Apr 12 2005 - 22:03:56 EST


Claudio Martins wrote:
On Tuesday 12 April 2005 01:46, Andrew Morton wrote:

Claudio Martins <ctpm@xxxxxxxxxxxxxx> wrote:

I think I'm going to give a try to Neil's patch, but I'll have to apply
some patches from -mm.

Just this one if you're using 2.6.12-rc2:

--- 25/drivers/md/md.c~avoid-deadlock-in-sync_page_io-by-using-gfp_noio Mon
Apr 11 16:55:07 2005 +++ 25-akpm/drivers/md/md.c Mon Apr 11 16:55:07 2005
@@ -332,7 +332,7 @@ static int bi_complete(struct bio *bio,
static int sync_page_io(struct block_device *bdev, sector_t sector, int
size, struct page *page, int rw)
{
- struct bio *bio = bio_alloc(GFP_KERNEL, 1);
+ struct bio *bio = bio_alloc(GFP_NOIO, 1);
struct completion event;
int ret;

_



Hi Andrew, all,

Sorry for the delay in reporting. This patch does indeed fix the problem. The machine ran stress for almost 15h straight with no problems at all.

As for Nick's patch I, too, think it would be nice to be included (once the performance problems are sorted out), since it seemed to make the block layer more robust and well behaved (at least with stress), although I didn't run performance tests to measure regressions.

Thanks Nick, Neil, Andrew and all others for your great help with this issue. I'll have to put the machine on production now with the patch applied, but let me know if I can be of any further help with these issues.


Thanks for reporting and testing - what we need is more people
like you contributing to Linux ;)

--
SUSE Labs, Novell Inc.

-
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/