Hi All, while a lustre testing I have seen an very high ordered allocations was done by mlx5 driver. Similar bug reported agaist mlx4 driver in Lustre ticket https://jira.whamcloud.com/browse/LU-10736. As i see both fails related to the SGE array buffer allocation (sorry, i don’t know a good terms for it). But it uses a continues space, instead of fragmented. I have several questions about it What a reason for it? why don’t use a fragmented allocation and merge it logically as before for mlx4? -int mlx4_buf_alloc(struct mlx4_dev *dev, int size, int max_direct, +int mlx4_buf_alloc(struct mlx4_dev *dev, int size, struct mlx4_buf *buf, gfp_t gfp); void mlx4_buf_free(struct mlx4_dev *dev, int size, struct mlx4_buf *buf); static inline void *mlx4_buf_offset(struct mlx4_buf *buf, int offset) { - if (BITS_PER_LONG == 64 || buf->nbufs == 1) - return buf->direct.buf + offset; - else - return buf->page_list[offset >> PAGE_SHIFT].buf + - (offset & (PAGE_SIZE - 1)); + return buf->direct.buf + offset; } Thanks, Alex-- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html