IB: Refactor umem to use linear SG table
This patch refactors the IB core umem code and vendor drivers to use a linear (chained) SG table instead of chunk list. With this change the relevant code becomes clearer—no need for nested loops to build and use umem. Signed-off-by: Shachar Raindel <raindel@mellanox.com> Signed-off-by: Yishai Hadas <yishaih@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
committed by
Roland Dreier
parent
cfbf8d4857
commit
eeb8461e36
@@ -46,17 +46,12 @@ struct ib_umem {
|
||||
int page_size;
|
||||
int writable;
|
||||
int hugetlb;
|
||||
struct list_head chunk_list;
|
||||
struct work_struct work;
|
||||
struct mm_struct *mm;
|
||||
unsigned long diff;
|
||||
};
|
||||
|
||||
struct ib_umem_chunk {
|
||||
struct list_head list;
|
||||
int nents;
|
||||
int nmap;
|
||||
struct scatterlist page_list[0];
|
||||
struct sg_table sg_head;
|
||||
int nmap;
|
||||
int npages;
|
||||
};
|
||||
|
||||
#ifdef CONFIG_INFINIBAND_USER_MEM
|
||||
|
||||
Reference in New Issue
Block a user