Re: Linux-2.6.21 hangs during post boot initialization phase

From: Neil Horman
Date: Sat Apr 28 2007 - 18:21:12 EST


On Sat, Apr 28, 2007 at 09:50:00AM +1000, Peter Williams wrote:
> Neil Horman wrote:
> >On Sat, Apr 28, 2007 at 12:28:28AM +1000, Peter Williams wrote:
> >>Neil Horman wrote:
> >>>On Fri, Apr 27, 2007 at 04:05:11PM +1000, Peter Williams wrote:
> >
> >Damn, This is what happens when I try to do things too quickly. I missed
> >one
> >spot in my last patch where I replaced skb with rx_skb. Its not critical,
> >but
> >it should improve sis900 performance by quite a bit. This applies on top
> >of the
> >last two patches. Sorry about that.
> >
> >Thanks & Regards
> >Neil
> >
> >Signed-off-by: Neil Horman <nhorman@xxxxxxxxxxxxx>
> >
> >
> > sis900.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >
> >diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c
> >index 7e44939..db59dce 100644
> >--- a/drivers/net/sis900.c
> >+++ b/drivers/net/sis900.c
> >@@ -1790,7 +1790,7 @@ static int sis900_rx(struct net_device *net_dev)
> > /* give the socket buffer to upper layers */
> > rx_skb = sis_priv->rx_skbuff[entry];
> > skb_put(rx_skb, rx_size);
> >- skb->protocol = eth_type_trans(rx_skb, net_dev);
> >+ rx_skb->protocol = eth_type_trans(rx_skb, net_dev);
> > netif_rx(rx_skb);
> >
> > /* some network statistics */
>
> My system also boots OK after I add this patch. Can't tell whether it's
> improved the performance or not.

I've had other report of performance degradation (frames thrown out for not
having a valid protocol assigned to them). This patch may not improve your
performance per se, but it will certainly not hurt, and its correct (for the
same reason that using a separate skb pointer is correct in all the other lines
in this clause.

Thanks, and sorry again for all the headache.
Neil

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/