Re: [PATCH net] net/mlx4: Avoid wrong virtual mappings

2016-04-27 Thread Haggai Abramovsky
On Wed, Apr 27, 2016 at 10:19 AM, Christoph Hellwig wrote: > Hi Haggai, > > I've taken a very quick look because I'm a little too busy this week, > but I failed to grasp the patch, as it seems to do a few too many > things. E.g. the whole wqe_shrink thing doesn't correspond to anything > in the d

Re: [PATCH net] net/mlx4: Avoid wrong virtual mappings

2016-04-27 Thread Christoph Hellwig
Hi Haggai, I've taken a very quick look because I'm a little too busy this week, but I failed to grasp the patch, as it seems to do a few too many things. E.g. the whole wqe_shrink thing doesn't correspond to anything in the description. How about you split it into easily understanable chunks?

Re: [PATCH net] net/mlx4: Avoid wrong virtual mappings

2016-04-27 Thread Haggai Abramovsky
On Wed, Apr 27, 2016 at 9:32 AM, Leon Romanovsky wrote: > On Mon, Apr 25, 2016 at 04:34:47PM +0300, Haggai Abramovsky wrote: >> -int mlx4_buf_alloc(struct mlx4_dev *dev, int size, int max_direct, >> -struct mlx4_buf *buf, gfp_t gfp) >> +static int mlx4_buf_direct_alloc(struct mlx4_

Re: [PATCH net] net/mlx4: Avoid wrong virtual mappings

2016-04-26 Thread Leon Romanovsky
On Mon, Apr 25, 2016 at 04:34:47PM +0300, Haggai Abramovsky wrote: > -int mlx4_buf_alloc(struct mlx4_dev *dev, int size, int max_direct, > -struct mlx4_buf *buf, gfp_t gfp) > +static int mlx4_buf_direct_alloc(struct mlx4_dev *dev, int size, > + struct ml

[PATCH net] net/mlx4: Avoid wrong virtual mappings

2016-04-25 Thread Haggai Abramovsky
The dma_alloc_coherent() function returns a virtual address which can be used for coherent access to the underlying memory. On some architectures, like arm64, undefined behavior results if this memory is also accessed via virtual mappings that are not coherent. Because of their undefined nature,