[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DB5PR05MB1848424EC9DC8D4150EADB03C56B0@DB5PR05MB1848.eurprd05.prod.outlook.com>
Date: Mon, 18 Apr 2016 14:39:36 +0000
From: Eli Cohen <eli@...lanox.com>
To: Christoph Hellwig <hch@...radead.org>
CC: Sinan Kaya <okaya@...eaurora.org>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
"timur@...eaurora.org" <timur@...eaurora.org>,
"cov@...eaurora.org" <cov@...eaurora.org>,
Yishai Hadas <yishaih@...lanox.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH V2] net: ethernet: mellanox: correct page conversion
Right, I did not suggest this as a patch but just wanted to pinpoint the problematic issue which is that virt_to_page does not give you the correct pointer to the page.
-----Original Message-----
From: Christoph Hellwig [mailto:hch@...radead.org]
Sent: Monday, April 18, 2016 9:33 AM
To: Eli Cohen <eli@...lanox.com>
Cc: Sinan Kaya <okaya@...eaurora.org>; linux-rdma@...r.kernel.org; timur@...eaurora.org; cov@...eaurora.org; Yishai Hadas <yishaih@...lanox.com>; netdev@...r.kernel.org; linux-kernel@...r.kernel.org
Subject: Re: [PATCH V2] net: ethernet: mellanox: correct page conversion
On Mon, Apr 18, 2016 at 09:54:47AM +0300, Eli Cohen wrote:
> Sinan,
>
> if we get rid of the part this code:
>
> if (BITS_PER_LONG == 64) {
> struct page **pages;
> pages = kmalloc(sizeof *pages * buf->nbufs, gfp);
> if (!pages)
> goto err_free;
> ...
> ...
> if (!buf->direct.buf)
> goto err_free;
> }
>
> Does that solve the arm issue?
Not quite. You still have code in mlx4_en_map_buffer that performs this mapping later if it it wasn't mapped in mlx4_buf_alloc.
You'll need to get rid of that by ensuring max_direct for all the cases currently using mlx4_en_map_buffer as well.
Powered by blists - more mailing lists