Messages in this thread Patch in this message | | | Date | Thu, 22 Jan 2004 01:59:05 -0800 | From | Andrew Morton <> | Subject | Re: page allocation failure |
| |
Oliver Kiddle <okiddle@yahoo.co.uk> wrote: > > st0: Block limits 1 - 16777215 bytes. > xfsdump: page allocation failure. order:9, mode:0xd0 > Call Trace: > [<c0132d18>] __alloc_pages+0x2db/0x319 > [<c02a5dc9>] enlarge_buffer+0xcf/0x182 > [<c02a6cd9>] st_map_user_pages+0x37/0x88 > [<c02a2909>] setup_buffering+0xf3/0x127 > [<c02a3690>] st_read+0xe0/0x3d1 > [<c0147625>] vfs_read+0xb0/0x119 > [<c01478a0>] sys_read+0x42/0x63 > [<c0108ab7>] syscall_call+0x7/0xb
This one's actually somewhat OK. The tape driver is simply trying to allocate a huge buffer and is falling back if it fails.
This will shut up the debugging code:
--- 25/drivers/scsi/osst.c~osst-warning-fix 2004-01-22 01:57:35.000000000 -0800 +++ 25-akpm/drivers/scsi/osst.c 2004-01-22 01:57:59.000000000 -0800 @@ -5106,6 +5106,8 @@ static int enlarge_buffer(OSST_buffer *S if (need_dma) priority |= GFP_DMA; + priority |= __GFP_NOWARN; + /* Try to allocate the first segment up to OS_DATA_SIZE and the others big enough to reach the goal (code assumes no segments in place) */ for (b_size = OS_DATA_SIZE, order = OSST_FIRST_ORDER; b_size >= PAGE_SIZE; order--, b_size /= 2) { _
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |