netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Oliver Neukum <oneukum@suse.de>
To: hayeswang <hayeswang@realtek.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-usb@vger.kernel.org
Subject: Re: [PATCH net-next 1/3] net/usb/r8152: support aggregation
Date: Tue, 13 Aug 2013 17:17:10 +0200	[thread overview]
Message-ID: <1376407030.3033.13.camel@linux-fkkt.site> (raw)
In-Reply-To: <9E410853D1BD483E9479C175D5E72EB6@realtek.com.tw>

On Tue, 2013-08-13 at 20:32 +0800, hayeswang wrote:
>  Oliver Neukum [mailto:oneukum@suse.de] 
> > Sent: Tuesday, August 13, 2013 4:49 PM
> > To: Hayeswang
> > Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org; 
> > linux-usb@vger.kernel.org
> > Subject: Re: [PATCH net-next 1/3] net/usb/r8152: support aggregation
> > 
> [...]
> > > +               len_used = 0;
> > > +               rx_desc = agg->head;
> > > +               rx_data = agg->head;
> > > +               smp_wmb();
> > > +               pkt_len = le32_to_cpu(rx_desc->opts1) & RX_LEN_MASK;
> > > +               len_used += sizeof(struct rx_desc) + pkt_len;
> > > +
> > > +               while (urb->actual_length >= len_used) {
> > > +                       if (pkt_len < ETH_ZLEN)
> > > +                               break;
> > > +
> > > +                       pkt_len -= 4; /* CRC */
> > > +                       rx_data += sizeof(struct rx_desc);
> > > +
> > > +                       skb = netdev_alloc_skb_ip_align(netdev,
> > > pkt_len);
> > > +                       if (!skb) {
> > > +                               stats->rx_dropped++;
> > > +                               break;
> > > +                       }
> > > +                       memcpy(skb->data, rx_data, pkt_len);
> > > +                       skb_put(skb, pkt_len);
> > > +                       skb->protocol = eth_type_trans(skb, netdev);
> > > +                       netif_rx(skb);
> > > +                       stats->rx_packets++;
> > > +                       stats->rx_bytes += pkt_len;
> > > +
> > > +                       rx_data = rx_agg_align(rx_data + 
> > pkt_len + 4);
> > > +                       rx_desc = (struct rx_desc *)rx_data;
> > > +                       smp_wmb();
> > 
> > Against what is the memory barrier?
> 
> Excuse me. I don't understand your question. Do you mean the function should not
> be used here?

I don't understand what problem the function is supposed to fix. As long
as I don't understand it I cannot say for sure whether it is correct.
There seems no obvious reason for a memory barrier, but there may be a
hidden reason I don't see.

	Regards
		Oliver

  reply	other threads:[~2013-08-13 15:17 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-13  7:28 [PATCH net-next 1/3] net/usb/r8152: support aggregation Hayes Wang
2013-08-13  7:28 ` [PATCH net-next 2/3] net/usb/r8152: enable tx checksum Hayes Wang
2013-08-13 14:39   ` Sergei Shtylyov
2013-08-13  7:28 ` [PATCH net-next 3/3] net/usb/r8152: enable interrupt transfer Hayes Wang
     [not found] ` <1376378913-879-1-git-send-email-hayeswang-Rasf1IRRPZFBDgjK7y7TUQ@public.gmane.org>
2013-08-13  8:49   ` [PATCH net-next 1/3] net/usb/r8152: support aggregation Oliver Neukum
2013-08-13 12:32     ` hayeswang
2013-08-13 15:17       ` Oliver Neukum [this message]
2013-08-13 23:41         ` David Miller
2013-08-14  3:02           ` hayeswang
2013-08-14 12:54   ` [PATCH net-next v2 " Hayes Wang
2013-08-14 12:54     ` [PATCH net-next v2 2/3] net/usb/r8152: enable tx checksum Hayes Wang
2013-08-15  8:34       ` David Miller
2013-08-14 12:54     ` [PATCH net-next v2 3/3] net/usb/r8152: enable interrupt transfer Hayes Wang
2013-08-15  8:35       ` David Miller
2013-08-15  8:34     ` [PATCH net-next v2 1/3] net/usb/r8152: support aggregation David Miller
2013-08-15 12:26     ` Francois Romieu
2013-08-16  3:44       ` hayeswang
2013-08-16  5:54         ` Francois Romieu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1376407030.3033.13.camel@linux-fkkt.site \
    --to=oneukum@suse.de \
    --cc=hayeswang@realtek.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).