Message ID | 20100708185111D.fujita.tomonori@lab.ntt.co.jp |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Thu, 8 Jul 2010 18:52:37 +0900 FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> wrote: > We could use DEFINE_DMA_UNMAP_ADDR instead but using > CONFIG_NEED_DMA_MAP_STATE is a simpler way to see if a platform does > real DMA unmapping. > > Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> > --- > drivers/net/cxgb4vf/sge.c | 14 +++++--------- > 1 files changed, 5 insertions(+), 9 deletions(-) btw, I'm not sure that seeing if a platform does real DMA unmapping in a driver is a good thing. But I suppose that we need to accept it if this leads to big performance boost. Both can be applied to net-next. -- 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: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Date: Thu, 8 Jul 2010 18:52:37 +0900 > We could use DEFINE_DMA_UNMAP_ADDR instead but using > CONFIG_NEED_DMA_MAP_STATE is a simpler way to see if a platform does > real DMA unmapping. > > Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> 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
From: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Date: Thu, 08 Jul 2010 19:01:26 +0900 > On Thu, 8 Jul 2010 18:52:37 +0900 > FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> wrote: > >> We could use DEFINE_DMA_UNMAP_ADDR instead but using >> CONFIG_NEED_DMA_MAP_STATE is a simpler way to see if a platform does >> real DMA unmapping. >> >> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> >> --- >> drivers/net/cxgb4vf/sge.c | 14 +++++--------- >> 1 files changed, 5 insertions(+), 9 deletions(-) > > btw, I'm not sure that seeing if a platform does real DMA unmapping in > a driver is a good thing. But I suppose that we need to accept it if > this leads to big performance boost. > > Both can be applied to net-next. I think the value of these "optimizations" is rapidly decreasing to zero. And I believe I've told the authors of either this driver or another one that they should just remove this stuff completely. -- 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 Thu, 08 Jul 2010 23:09:39 -0700 (PDT) David Miller <davem@davemloft.net> wrote: > > btw, I'm not sure that seeing if a platform does real DMA unmapping in > > a driver is a good thing. But I suppose that we need to accept it if > > this leads to big performance boost. > > > > Both can be applied to net-next. > > I think the value of these "optimizations" is rapidly decreasing to > zero. And I believe I've told the authors of either this driver or > another one that they should just remove this stuff completely. I prefer to remove this stuff completely too. If this trick improves the performance greatly, we could add this to the DMA API (that's better than adding such ifdef hack to drivers). -- 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/cxgb4vf/sge.c b/drivers/net/cxgb4vf/sge.c index 3a7c02f..4bc1858 100644 --- a/drivers/net/cxgb4vf/sge.c +++ b/drivers/net/cxgb4vf/sge.c @@ -228,15 +228,11 @@ static inline bool is_buf_mapped(const struct rx_sw_desc *sdesc) */ static inline int need_skb_unmap(void) { - /* - * This structure is used to tell if the platfrom needs buffer - * unmapping by checking if DECLARE_PCI_UNMAP_ADDR defines anything. - */ - struct dummy { - DECLARE_PCI_UNMAP_ADDR(addr); - }; - - return sizeof(struct dummy) != 0; +#ifdef CONFIG_NEED_DMA_MAP_STATE + return 1; +#else + return 0; +#endif } /**
We could use DEFINE_DMA_UNMAP_ADDR instead but using CONFIG_NEED_DMA_MAP_STATE is a simpler way to see if a platform does real DMA unmapping. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> --- drivers/net/cxgb4vf/sge.c | 14 +++++--------- 1 files changed, 5 insertions(+), 9 deletions(-)