* interrupt coalescing and CSUM offload
@ 2012-09-14 14:35 Joakim Tjernlund
2012-09-14 16:32 ` Stephen Hemminger
0 siblings, 1 reply; 4+ messages in thread
From: Joakim Tjernlund @ 2012-09-14 14:35 UTC (permalink / raw)
To: netdev
I am adding interrupt coalescing to the ucc_geth driver. Unfortunately
there is only support for RX interrupt coalescing.
I wonder if there is any way "simulate" TX interrupt coalescing?
I am also looking at adding HWCSUM support but this device can only do
IP header CSUM offload. This doesn't seem to be an option in Linux?
As I understand it, one must do CSUM offload for the whole frame, both
IP header and TCP/UDP csums?
Jocke
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: interrupt coalescing and CSUM offload
2012-09-14 14:35 interrupt coalescing and CSUM offload Joakim Tjernlund
@ 2012-09-14 16:32 ` Stephen Hemminger
2012-09-15 12:09 ` Joakim Tjernlund
0 siblings, 1 reply; 4+ messages in thread
From: Stephen Hemminger @ 2012-09-14 16:32 UTC (permalink / raw)
To: Joakim Tjernlund; +Cc: netdev
On Fri, 14 Sep 2012 16:35:13 +0200
Joakim Tjernlund <joakim.tjernlund@transmode.se> wrote:
>
> I am adding interrupt coalescing to the ucc_geth driver. Unfortunately
> there is only support for RX interrupt coalescing.
> I wonder if there is any way "simulate" TX interrupt coalescing?
>
> I am also looking at adding HWCSUM support but this device can only do
> IP header CSUM offload. This doesn't seem to be an option in Linux?
> As I understand it, one must do CSUM offload for the whole frame, both
> IP header and TCP/UDP csums?
>
> Jocke
There are a few drivers that turn off TX interrupt completely.
They cleanup TX buffers on next send and have a timer to cleanup
as well. This has performance benefits, but it does cause issues
with local flow control (the freeing of skb is used to rate
limit local traffic).
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: interrupt coalescing and CSUM offload
2012-09-14 16:32 ` Stephen Hemminger
@ 2012-09-15 12:09 ` Joakim Tjernlund
2012-09-17 16:18 ` Stephen Hemminger
0 siblings, 1 reply; 4+ messages in thread
From: Joakim Tjernlund @ 2012-09-15 12:09 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: netdev
Stephen Hemminger <shemminger@vyatta.com> wrote on 2012/09/14 18:32:52:
>
> On Fri, 14 Sep 2012 16:35:13 +0200
> Joakim Tjernlund <joakim.tjernlund@transmode.se> wrote:
>
> >
> > I am adding interrupt coalescing to the ucc_geth driver. Unfortunately
> > there is only support for RX interrupt coalescing.
> > I wonder if there is any way "simulate" TX interrupt coalescing?
> >
> > I am also looking at adding HWCSUM support but this device can only do
> > IP header CSUM offload. This doesn't seem to be an option in Linux?
> > As I understand it, one must do CSUM offload for the whole frame, both
> > IP header and TCP/UDP csums?
> >
> > Jocke
>
> There are a few drivers that turn off TX interrupt completely.
> They cleanup TX buffers on next send and have a timer to cleanup
Only on send? Currently ucc_geth does TX free in napi(where RX is processed too).
It would be nice if one could indicate to the drivers xmit() if there
are more frames to be sent. Then xmit() could choose not to turn on TX irq for
preceding frames.
> as well. This has performance benefits, but it does cause issues
> with local flow control (the freeing of skb is used to rate
> limit local traffic).
Was my reasoning correct w.r.t CSUM?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: interrupt coalescing and CSUM offload
2012-09-15 12:09 ` Joakim Tjernlund
@ 2012-09-17 16:18 ` Stephen Hemminger
0 siblings, 0 replies; 4+ messages in thread
From: Stephen Hemminger @ 2012-09-17 16:18 UTC (permalink / raw)
To: Joakim Tjernlund; +Cc: netdev
On Sat, 15 Sep 2012 14:09:09 +0200
Joakim Tjernlund <joakim.tjernlund@transmode.se> wrote:
> Stephen Hemminger <shemminger@vyatta.com> wrote on 2012/09/14 18:32:52:
> >
> > On Fri, 14 Sep 2012 16:35:13 +0200
> > Joakim Tjernlund <joakim.tjernlund@transmode.se> wrote:
> >
> > >
> > > I am adding interrupt coalescing to the ucc_geth driver. Unfortunately
> > > there is only support for RX interrupt coalescing.
> > > I wonder if there is any way "simulate" TX interrupt coalescing?
> > >
> > > I am also looking at adding HWCSUM support but this device can only do
> > > IP header CSUM offload. This doesn't seem to be an option in Linux?
> > > As I understand it, one must do CSUM offload for the whole frame, both
> > > IP header and TCP/UDP csums?
> > >
> > > Jocke
> >
> > There are a few drivers that turn off TX interrupt completely.
> > They cleanup TX buffers on next send and have a timer to cleanup
>
> Only on send? Currently ucc_geth does TX free in napi(where RX is processed too).
> It would be nice if one could indicate to the drivers xmit() if there
> are more frames to be sent. Then xmit() could choose not to turn on TX irq for
> preceding frames.
> > as well. This has performance benefits, but it does cause issues
> > with local flow control (the freeing of skb is used to rate
> > limit local traffic).
>
> Was my reasoning correct w.r.t CSUM?
>
I header checksum is useless to Linux. The IP header is so short that
it is already in the CPU cache and costs nothing to compute or check.
The only checksuming that matters is the data (TCP or UDP).
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-09-17 16:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-14 14:35 interrupt coalescing and CSUM offload Joakim Tjernlund
2012-09-14 16:32 ` Stephen Hemminger
2012-09-15 12:09 ` Joakim Tjernlund
2012-09-17 16:18 ` Stephen Hemminger
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.