Re: After memory pressure: can't read from tape anymore

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 30 Nov 2010, Boaz Harrosh wrote:

...
> I looked at enlarge_buffer() and it looks fragile and broken. If you really
> need a pointer eg:
> 	STbuffer->b_data = page_address(STbuffer->reserved_pages[0]);
> 
If you think it is broken, please fix it.

> Than way not use vmalloc() for buffers larger then PAGE_SIZE? But better yet
> avoid it by keeping a pages_array or sg-list and operate on an aio type
> operations.
> 
vmalloc() is not a solution here. Think about this from the HBA side. Each 
s/g segment must be contiguous in the address space the HBA uses. In many 
cases this is the physical memory address space. Any solution must make 
sure that the HBA can perform the requested data transfer.

> > Kai
> 
> But I understand this is a lot of work on an old driver. Perhaps pre-allocate
> something big at startup. specified by user?
> 
This used to be possible at some time and it could be made possible again. 
But I don't like this option because it means that the users must 
explicitly set the boot parameters.

And it is difficult for me to believe the modern SAS HBAs only support 128 
s/g segments.

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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux