From: Eric Dumazet <eric.dumazet@gmail.com>
To: Shreyas Bhatewara <sbhatewara@vmware.com>
Cc: "VMware, Inc." <pv-drivers@vmware.com>,
netdev@vger.kernel.org, edumazet@google.com,
linux-kernel@vger.kernel.org,
jongman heo <jongman.heo@samsung.com>
Subject: Re: [Pv-drivers] 3.7-rc2 regression : file copied to CIFS-mounted directory corrupted
Date: Tue, 23 Oct 2012 15:50:46 +0200 [thread overview]
Message-ID: <1351000246.8609.1926.camel@edumazet-glaptop> (raw)
In-Reply-To: <1103939870.6550404.1350986530909.JavaMail.root@vmware.com>
On Tue, 2012-10-23 at 03:02 -0700, Shreyas Bhatewara wrote:
Please dont top post on netdev or lkml
> Well, actually the driver does split large frags into frags of VMXNET3_MAX_TX_BUF_SIZE bytes each.
>
> vmxnet3_drv.c
> 711 while (len) {
> 712 u32 buf_size;
> 713
> 714 if (len < VMXNET3_MAX_TX_BUF_SIZE) {
> 715 buf_size = len;
> 716 dw2 |= len;
> 717 } else {
> 718 buf_size = VMXNET3_MAX_TX_BUF_SIZE;
> 719 /* spec says that for TxDesc.len, 0 == 2^14 */
> 720 }
> 721
> ....
> 743
> 744 len -= buf_size;
> 745 buf_offset += buf_size;
> 746 }
Only the skb head is handled in the code you copy/pasted.
You need to generalize that to code in lines ~754
Then, the number of estimated descriptors is bad :
/* conservatively estimate # of descriptors to use */
count = VMXNET3_TXD_NEEDED(skb_headlen(skb)) +
skb_shinfo(skb)->nr_frags + 1;
Yes, you need a more precise estimation and vmxnet3_map_pkt() should
eventually split too big frags.
next prev parent reply other threads:[~2012-10-23 13:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-23 8:17 Re: 3.7-rc2 regression : file copied to CIFS-mounted directory corrupted Jongman Heo
2012-10-23 9:05 ` Eric Dumazet
2012-10-23 9:20 ` Shreyas Bhatewara
2012-10-23 10:02 ` [Pv-drivers] " Shreyas Bhatewara
2012-10-23 13:50 ` Eric Dumazet [this message]
2012-10-23 19:39 ` Eric Dumazet
2012-10-29 17:30 ` [PATCH] vmxnet3: must split too big fragments Eric Dumazet
2012-10-29 17:52 ` [Pv-drivers] " Bhavesh Davda
2012-10-29 18:13 ` Eric Dumazet
2012-10-29 18:17 ` Shreyas Bhatewara
2012-10-29 18:19 ` Shreyas Bhatewara
2012-11-03 1:58 ` 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=1351000246.8609.1926.camel@edumazet-glaptop \
--to=eric.dumazet@gmail.com \
--cc=edumazet@google.com \
--cc=jongman.heo@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pv-drivers@vmware.com \
--cc=sbhatewara@vmware.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