Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI updates from James Bottomley: "First round of SCSI updates for the 4.6+ merge window. This batch includes the usual quota of driver updates (bnx2fc, mp3sas, hpsa, ncr5380, lpfc, hisi_sas, snic, aacraid, megaraid_sas). There's also a multiqueue update for scsi_debug, assorted bug fixes and a few other minor updates (refactor of scsi_sg_pools into generic code, alua and VPD updates, and struct timeval conversions)" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (138 commits) mpt3sas: Used "synchronize_irq()"API to synchronize timed-out IO & TMs mpt3sas: Set maximum transfer length per IO to 4MB for VDs mpt3sas: Updating mpt3sas driver version to 13.100.00.00 mpt3sas: Fix initial Reference tag field for 4K PI drives. mpt3sas: Handle active cable exception event mpt3sas: Update MPI header to 2.00.42 Revert "lpfc: Delete unnecessary checks before the function call mempool_destroy" eata_pio: missing break statement hpsa: Fix type ZBC conditional checks scsi_lib: Decode T10 vendor IDs scsi_dh_alua: do not fail for unknown VPD identification scsi_debug: use locally assigned naa scsi_debug: uuid for lu name scsi_debug: vpd and mode page work scsi_debug: add multiple queue support bfa: fix bfa_fcb_itnim_alloc() error handling megaraid_sas: Downgrade two success messages to info cxlflash: Fix to resolve dead-lock during EEH recovery scsi_debug: rework resp_report_luns scsi_debug: use pdt constants ...
This commit is contained in:
@@ -285,6 +285,31 @@ size_t sg_pcopy_to_buffer(struct scatterlist *sgl, unsigned int nents,
|
||||
*/
|
||||
#define SG_MAX_SINGLE_ALLOC (PAGE_SIZE / sizeof(struct scatterlist))
|
||||
|
||||
/*
|
||||
* The maximum number of SG segments that we will put inside a
|
||||
* scatterlist (unless chaining is used). Should ideally fit inside a
|
||||
* single page, to avoid a higher order allocation. We could define this
|
||||
* to SG_MAX_SINGLE_ALLOC to pack correctly at the highest order. The
|
||||
* minimum value is 32
|
||||
*/
|
||||
#define SG_CHUNK_SIZE 128
|
||||
|
||||
/*
|
||||
* Like SG_CHUNK_SIZE, but for archs that have sg chaining. This limit
|
||||
* is totally arbitrary, a setting of 2048 will get you at least 8mb ios.
|
||||
*/
|
||||
#ifdef CONFIG_ARCH_HAS_SG_CHAIN
|
||||
#define SG_MAX_SEGMENTS 2048
|
||||
#else
|
||||
#define SG_MAX_SEGMENTS SG_CHUNK_SIZE
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SG_POOL
|
||||
void sg_free_table_chained(struct sg_table *table, bool first_chunk);
|
||||
int sg_alloc_table_chained(struct sg_table *table, int nents,
|
||||
struct scatterlist *first_chunk);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* sg page iterator
|
||||
*
|
||||
|
Reference in New Issue
Block a user