RE: [PATCH v4] bnx2x: Alloc 4k fragment for each rx ring buffer element

2015-05-28 Thread Yuval Mintz
+struct bnx2x_alloc_pool { + struct page *page; + dma_addr_t dma; + u8 offset; + u8 frag_count; +}; ... static int bnx2x_alloc_rx_sge(struct bnx2x *bp, struct bnx2x_fastpath *fp, u16 index, gfp_t gfp_mask) {

Re: [PATCH v4] bnx2x: Alloc 4k fragment for each rx ring buffer element

2015-05-28 Thread Gabriel Krisman Bertazi
Yuval Mintz yuval.mi...@qlogic.com writes: Actually, this upsets me greatly. We didn't see it on a system with 4KB pages, but this means you've actually tried to 'sell' us a fastpath fix that was never tested on machines for which it was meant as an improvement. The iteration that inserted

Re: [PATCH v4] bnx2x: Alloc 4k fragment for each rx ring buffer element

2015-05-27 Thread Michal Schmidt
On 05/21/2015 03:20 PM, Gabriel Krisman Bertazi wrote: +#define SGE_PAGE_SHIFT 12 +#define SGE_PAGE_SIZE(1 SGE_PAGE_SHIFT) ... +struct bnx2x_alloc_pool { + struct page *page; + dma_addr_t dma; + u8 offset; + u8

RE: [PATCH v4] bnx2x: Alloc 4k fragment for each rx ring buffer element

2015-05-23 Thread Yuval Mintz
Subject: Re: [PATCH v4] bnx2x: Alloc 4k fragment for each rx ring buffer element Yuval Mintz yuval.mi...@qlogic.com writes: Regardless, I'll give it a more thorough review tomorrow. [If those are all the problems we'll find with it, I don't think we'll need to re-spin this once more

Re: [PATCH v4] bnx2x: Alloc 4k fragment for each rx ring buffer element

2015-05-23 Thread Lino Sanfilippo
On 21.05.2015 15:20, Gabriel Krisman Bertazi wrote: Yuval Mintz yuval.mi...@qlogic.com writes: Regardless, I'll give it a more thorough review tomorrow. [If those are all the problems we'll find with it, I don't think we'll need to re-spin this once more; that is, unless Dave insists] As

Re: [PATCH v4] bnx2x: Alloc 4k fragment for each rx ring buffer element

2015-05-21 Thread Gabriel Krisman Bertazi
issues that Yuval pointed out. Are there any other concerns regarding this one? -- 8 -- Subject: [PATCH v4] bnx2x: Alloc 4k fragment for each rx ring buffer element The driver allocates one page for each buffer on the rx ring, which is too much on architectures like ppc64 and can cause unexpected