Message ID | 20081014015455.GA25385@susedev.qlogic.org |
---|---|
State | Rejected, archived |
Delegated to: | David Miller |
Headers | show |
From: Ron Mercer <ron.mercer@qlogic.com> Date: Mon, 13 Oct 2008 18:54:55 -0700 > Dave/Grant, > I sent this earlier today but didn't see it on the netdev list. > Thanks, Ron > > This ASIC does support all page sizes. For 4k and 8k page size the TX control block needs an external scatter gather list. For page sizes larger than 8k the max frags is satisfied by the original TX control block. > > Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> I'm not applying this. I _explicitly_ said I would not apply a solution like this. I waited for you guys all day for this?!?! We need to find a way to make this a Kconfig dependency. Build failures are absolutely unacceptable. People do randconfig, allyesconfig, allmodconfig, etc. for build regression testing and that has to work no matter what page size gets selected or is the default for a given platform. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Oct 13, 2008 at 07:03:45PM -0700, David Miller wrote: > From: Ron Mercer <ron.mercer@qlogic.com> > Date: Mon, 13 Oct 2008 18:54:55 -0700 > > > This ASIC does support all page sizes. For 4k and 8k page size the TX control block needs an external scatter gather list. For page sizes larger than 8k the max frags is satisfied by the original TX control block. > > I'm not applying this. I _explicitly_ said I would not apply a > solution like this. > > I waited for you guys all day for this?!?! > > We need to find a way to make this a Kconfig dependency. > > Build failures are absolutely unacceptable. Um, Dave, I think you misread his patch. All it does it make the '64k case' the 'every other size case'. There's no build failure with Ron's patch.
From: Matthew Wilcox <matthew@wil.cx> Date: Mon, 13 Oct 2008 20:19:02 -0600 > On Mon, Oct 13, 2008 at 07:03:45PM -0700, David Miller wrote: > > From: Ron Mercer <ron.mercer@qlogic.com> > > Date: Mon, 13 Oct 2008 18:54:55 -0700 > > > > > This ASIC does support all page sizes. For 4k and 8k page size the TX control block needs an external scatter gather list. For page sizes larger than 8k the max frags is satisfied by the original TX control block. > > > > I'm not applying this. I _explicitly_ said I would not apply a > > solution like this. > > > > I waited for you guys all day for this?!?! > > > > We need to find a way to make this a Kconfig dependency. > > > > Build failures are absolutely unacceptable. > > Um, Dave, I think you misread his patch. > > All it does it make the '64k case' the 'every other size case'. There's > no build failure with Ron's patch. Thanks for the correction, I'll look at this again :) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Oct 13, 2008 at 07:31:53PM -0700, David Miller wrote: > From: Matthew Wilcox <matthew@wil.cx> > Date: Mon, 13 Oct 2008 20:19:02 -0600 > > > On Mon, Oct 13, 2008 at 07:03:45PM -0700, David Miller wrote: > > > From: Ron Mercer <ron.mercer@qlogic.com> > > > Date: Mon, 13 Oct 2008 18:54:55 -0700 > > > > > > > This ASIC does support all page sizes. For 4k and 8k page size the TX control block needs an external scatter gather list. For page sizes larger than 8k the max frags is satisfied by the original TX control block. > > > > > > I'm not applying this. I _explicitly_ said I would not apply a > > > solution like this. > > > > > > I waited for you guys all day for this?!?! > > > > > > We need to find a way to make this a Kconfig dependency. > > > > > > Build failures are absolutely unacceptable. > > > > Um, Dave, I think you misread his patch. > > > > All it does it make the '64k case' the 'every other size case'. There's > > no build failure with Ron's patch. > > Thanks for the correction, I'll look at this again :) My explanation might not have been very good. What I was trying to say is that the macro in question determines the size of a scatter/gathter list that is external to the TX descriptor. The size is based on MAX_SKB_FRAGS and PAGE_SIZE. When PAGE_SIZE is larger than 8k I don't need the external scatter/gather list because all frags will fit in the native TX descriptor. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Ron Mercer <ron.mercer@qlogic.com> Date: Mon, 13 Oct 2008 19:53:29 -0700 > My explanation might not have been very good. What I was trying to say > is that the macro in question determines the size of a scatter/gathter > list that is external to the TX descriptor. The size is based on > MAX_SKB_FRAGS and PAGE_SIZE. When PAGE_SIZE is larger than 8k I don't > need the external scatter/gather list because all frags will fit in the > native TX descriptor. Yes, it all makes sense now, thanks Ron. Patch applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/qlge/qlge.h b/drivers/net/qlge/qlge.h index c37ea43..38116f9 100644 --- a/drivers/net/qlge/qlge.h +++ b/drivers/net/qlge/qlge.h @@ -58,7 +58,7 @@ */ #if (PAGE_SHIFT == 12) || (PAGE_SHIFT == 13) /* 4k & 8k pages */ #define TX_DESC_PER_OAL ((MAX_SKB_FRAGS - TX_DESC_PER_IOCB) + 2) -#elif (PAGE_SHIFT == 16) /* 64k pages */ +#else /* all other page sizes */ #define TX_DESC_PER_OAL 0 #endif
Dave/Grant, I sent this earlier today but didn't see it on the netdev list. Thanks, Ron This ASIC does support all page sizes. For 4k and 8k page size the TX control block needs an external scatter gather list. For page sizes larger than 8k the max frags is satisfied by the original TX control block. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> --- drivers/net/qlge/qlge.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)