[7435] in linux-scsi channel archive
Re: Can't allocate tape buffer
daemon@ATHENA.MIT.EDU (Kai Harrekilde-Petersen)
Wed Oct 27 03:56:03 1999
Message-ID: <67774DC8E18DD2119125400083002FC27F5E34@lv-426.olicom.dk>
From: Kai Harrekilde-Petersen <KHP@olicom.dk>
To: linux-scsi@vger.rutgers.edu
Date: Wed, 27 Oct 1999 09:54:03 +0200
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
> From: Marc SCHAEFER [mailto:schaefer@alphanet.ch]
>
> Harry Brueckner <brueckner@respublica.de> wrote:
> > I have the SCSI tape support compiled as a module and when
> I try e.g. "mt
> > -f /dev/st0 status" I get the following lines in my syslog:
>
> This could be the result of fragmentation. If the tape driver requests
> a single contiguous DMA buffer (instead of requesting vmalloced memory,
> which needs to be scatter-gathered into physical pages, which may not be
> contiguous), maybe your system doesn't have enough contiguous page.
>
> As a temporary work-around, try launching a big application (which will
> cause swapping, ie paging out), and exit it, maybe the module can be
loaded.
When I worked on the ftape project (years ago...), I had the same problem.
I came up with a tiny program that allocated & dirtied a large chunk of
memory.
I'm not sure if it gets distributed anymore (I called it 'swapout' for
obvious
reasons).
The program goes like this (caveat emptor; haven't used C for months):
#define SIZE (8*1024*1024)
main ()
{
char *ptr;
int i;
ptr = malloc(SIZE);
for(i=0;i< SIZE;i+=4096) *ptr[i]= '\0';
free(ptr);
}
HTH,
--Kai
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu