Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Nov 2007 22:50:45 +0200
From:      "Pentarh Udi" <pentarh@gmail.com>
To:        freebsd-bugs@freebsd.org
Subject:   ata_alloc_request() failure?!
Message-ID:  <408514ed0711251250k33d1039fi416f91ee4099b841@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
FreeBSD 6.2-RELEASE amd64

1. How it appears
I dont know why but it appeared when i configured geom_stripe on two
ata disks and made a heavy load.
So i get the tons of kernel messages:
ad4: FAILURE - out of memory in start
ad6: FAILURE - out of memory in start
ad6: FAILURE - out of memory in start
ad6: FAILURE - out of memory in start

I did some research and didnt found any answers on this problem, but i
found a source of this error:
==================
/sys/dev/ata/ata-disk.c: line 215

static void
ad_strategy(struct bio *bp)
{
    device_t dev =  bp->bio_disk->d_drv1;
    struct ata_device *atadev = device_get_softc(dev);
    struct ata_request *request;

    if (!(request = ata_alloc_request())) {
        device_printf(dev, "FAILURE - out of memory in start\n");
        biofinish(bp, NULL, ENOMEM);
        return;
    }
==================

Also that is another point to see the problem:
# vmstat -z | egrep "LIMIT|ata"
ITEM                     SIZE     LIMIT      USED      FREE  REQUESTS  FAILURES
ata_request:              336,        0,        0,     1298,  1769922,        4

As you can see there are ata_request failures.

I even tryed to increase kmem_size up to 1Gb instead of 400+M default.
There was no effect. When I make a heavy load on this disk, i get
failures and broken files.

I saw this error on other machine (also FreeBSD 6.2 RELEASE amd64)
with geom_mirrror configured (under heavy load) - but not so much -
one or two kernel messages during "life".

So... what should i do?
-- 
Regards, Pentarh Udi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?408514ed0711251250k33d1039fi416f91ee4099b841>