From: Alexander Duyck <alexander.duyck@gmail.com>
To: Richard Cochran <richardcochran@gmail.com>,
Alexander Duyck <alexander.h.duyck@intel.com>
Cc: netdev@vger.kernel.org, davem@davemloft.net, willemb@google.com
Subject: Re: [PATCH net-next v4 2/3] net-timestamp: Make the clone operation stand-alone from phy timestamping
Date: Sun, 07 Sep 2014 16:35:39 -0700 [thread overview]
Message-ID: <540CEBCB.1010600@gmail.com> (raw)
In-Reply-To: <20140907215039.GA3900@localhost.localdomain>
On 09/07/2014 02:50 PM, Richard Cochran wrote:
> Just saw this now, was away on vacation, so sorry for the delay...
>
> On Thu, Sep 04, 2014 at 01:31:35PM -0400, Alexander Duyck wrote:
>> v2: Renamed function to skb_clone_sk.
>> Added destructor to call sock_put instead of doing it ourselves.
>> Dropped freeing functionality from skb_complete_tx_timestamp.
> ...
>
>> diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c
>> index d5991ac..87648b3 100644
>> --- a/drivers/net/phy/dp83640.c
>> +++ b/drivers/net/phy/dp83640.c
>> @@ -1148,7 +1148,7 @@ static void dp83640_remove(struct phy_device *phydev)
>> kfree_skb(skb);
>>
>> while ((skb = skb_dequeue(&dp83640->tx_queue)) != NULL)
>> - skb_complete_tx_timestamp(skb, NULL);
>> + kfree_skb(skb);
> The way the code was before, there was a clear usage pattern for
> phy_driver.txtstamp() and skb_complete_tx_timestamp() which was also
> documented in the comment to the latter.
>
> Now, we have drivers freeing buffers allocated by the stack. I
> thought it was cleaner to have the same layer allocate and free the
> clone. Even if you say that this new way is just fine, still you
> should correct the comment to reflect the new pattern.
The "new" pattern is how we have done it for all Tx skbs handed down by
the stack, so why should we treat Tx timestamp SKBs any different? If
anything this change eliminates a risk since now they don't have to
remember specifically to use a special "destructor included" callback to
free the buffer and the socket. Instead all of the standard
kfree/consume_skb calls can be used to free the buffer.
It just occurred to me when I was looking at this code is that it can
now use standard calls such as __skb_queue_purge instead of having to
implement its own version of the call. I will try to remember to submit
a patch for that tomorrow.
Thanks,
Alex
next prev parent reply other threads:[~2014-09-07 23:35 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-04 17:30 [PATCH net-next v4 0/3] Series short description Alexander Duyck
2014-09-04 17:31 ` [PATCH net-next v4 1/3] net-timestamp: Merge shared code between phy and regular timestamping Alexander Duyck
2014-09-04 17:31 ` [PATCH net-next v4 2/3] net-timestamp: Make the clone operation stand-alone from phy timestamping Alexander Duyck
2014-09-04 17:48 ` Rick Jones
2014-09-04 18:30 ` Alexander Duyck
2014-09-04 18:33 ` Rick Jones
2014-09-07 21:50 ` Richard Cochran
2014-09-07 23:35 ` Alexander Duyck [this message]
2014-09-07 21:54 ` Richard Cochran
2014-09-04 17:32 ` [PATCH net-next v4 3/3] net: merge cases where sock_efree and sock_edemux are the same function Alexander Duyck
2014-09-06 0:44 ` [PATCH net-next v4 0/3] Series short description David Miller
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=540CEBCB.1010600@gmail.com \
--to=alexander.duyck@gmail.com \
--cc=alexander.h.duyck@intel.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=richardcochran@gmail.com \
--cc=willemb@google.com \
/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).