On Mon, Mar 26 2007, Mark Lobo wrote: > Hello! > > I had a question about disabling the block layer for SCSI devices. We > have an embedded device, and it runs 2.4.30. We need to be able to > support a lot of SCSI devices (in the thousands) for our device, and we > talk to the devices via SG. We are facing a memory allocation problem > after discovering a few thousand devices. For every device, there > seems to be a lot of memory allocated in the block layer. This memory > includes cache memory (which IIRC is reclaimable by the kernel memory > subsystem when it needs it) and also pages that are used for the > alloc_pages pool. A much easier approach would be to limit the memory used for each device in the block layer. Since SCSI uses the block layer as a transport for commands, you cannot disable the block layer in any easy manner. But your memory is likely being eated by the queue freelist. So edit drivers/block/ll_rw_blk.c and hardcode nr_requests to a low number (like 2). -- Jens Axboe - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html