netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	Hank Janssen <hjanssen@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Greg Kroah-Hartman <gregkh@suse.de>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	Abhishek Kane <v-abkane@microsoft.com>,
	devel@driverdev.osuosl.org
Subject: Re: [PATCH 68/75] hv: netvsc: convert to SKB paged frag API.
Date: Wed, 24 Aug 2011 14:30:10 -0400	[thread overview]
Message-ID: <20110824183010.GG15675@dumpdata.com> (raw)
In-Reply-To: <1313760467-8598-68-git-send-email-ian.campbell@citrix.com>

What is with the 'XXX' ?

> diff --git a/drivers/net/cxgb4/sge.c b/drivers/net/cxgb4/sge.c
> index f1813b5..3e7c4b3 100644
> --- a/drivers/net/cxgb4/sge.c
> +++ b/drivers/net/cxgb4/sge.c
> @@ -1416,7 +1416,7 @@ static inline void copy_frags(struct sk_buff *skb,
>  	unsigned int n;
>  
>  	/* usually there's just one frag */
> -	skb_frag_set_page(skb, 0, gl->frags[0].page);
> +	skb_frag_set_page(skb, 0, gl->frags[0].page.p);	/* XXX */
>  	ssi->frags[0].page_offset = gl->frags[0].page_offset + offset;
>  	ssi->frags[0].size = gl->frags[0].size - offset;
>  	ssi->nr_frags = gl->nfrags;
> @@ -1425,7 +1425,7 @@ static inline void copy_frags(struct sk_buff *skb,
>  		memcpy(&ssi->frags[1], &gl->frags[1], n * sizeof(skb_frag_t));
>  
>  	/* get a reference to the last page, we don't own it */
> -	get_page(gl->frags[n].page);
> +	get_page(gl->frags[n].page.p);	/* XXX */
>  }
>  
>  /**
> @@ -1482,7 +1482,7 @@ static void t4_pktgl_free(const struct pkt_gl *gl)
>  	const skb_frag_t *p;
>  
>  	for (p = gl->frags, n = gl->nfrags - 1; n--; p++)
> -		put_page(p->page);
> +		put_page(p->page.p); /* XXX */
>  }
>  
>  /*
> @@ -1635,7 +1635,7 @@ static void restore_rx_bufs(const struct pkt_gl *si, struct sge_fl *q,
>  		else
>  			q->cidx--;
>  		d = &q->sdesc[q->cidx];
> -		d->page = si->frags[frags].page;
> +		d->page = si->frags[frags].page.p; /* XXX */
>  		d->dma_addr |= RX_UNMAPPED_BUF;
>  		q->avail++;
>  	}
> @@ -1717,7 +1717,7 @@ static int process_responses(struct sge_rspq *q, int budget)
>  			for (frags = 0, fp = si.frags; ; frags++, fp++) {
>  				rsd = &rxq->fl.sdesc[rxq->fl.cidx];
>  				bufsz = get_buf_size(rsd);
> -				fp->page = rsd->page;
> +				fp->page.p = rsd->page; /* XXX */
>  				fp->page_offset = q->offset;
>  				fp->size = min(bufsz, len);
>  				len -= fp->size;
> @@ -1734,8 +1734,8 @@ static int process_responses(struct sge_rspq *q, int budget)
>  						get_buf_addr(rsd),
>  						fp->size, DMA_FROM_DEVICE);
>  
> -			si.va = page_address(si.frags[0].page) +
> -				si.frags[0].page_offset;
> +			si.va = page_address(si.frags[0].page.p) +
> +				si.frags[0].page_offset; /* XXX */
>  
>  			prefetch(si.va);
>  
> diff --git a/drivers/net/cxgb4vf/sge.c b/drivers/net/cxgb4vf/sge.c
> index 6d6060e..3688423 100644
> --- a/drivers/net/cxgb4vf/sge.c
> +++ b/drivers/net/cxgb4vf/sge.c
> @@ -1397,7 +1397,7 @@ struct sk_buff *t4vf_pktgl_to_skb(const struct pkt_gl *gl,
>  		skb_copy_to_linear_data(skb, gl->va, pull_len);
>  
>  		ssi = skb_shinfo(skb);
> -		skb_frag_set_page(skb, 0, gl->frags[0].page);
> +		skb_frag_set_page(skb, 0, gl->frags[0].page.p); /* XXX */
>  		ssi->frags[0].page_offset = gl->frags[0].page_offset + pull_len;
>  		ssi->frags[0].size = gl->frags[0].size - pull_len;
>  		if (gl->nfrags > 1)
> @@ -1410,7 +1410,7 @@ struct sk_buff *t4vf_pktgl_to_skb(const struct pkt_gl *gl,
>  		skb->truesize += skb->data_len;
>  
>  		/* Get a reference for the last page, we don't own it */
> -		get_page(gl->frags[gl->nfrags - 1].page);
> +		get_page(gl->frags[gl->nfrags - 1].page.p); /* XXX */
>  	}
>  
>  out:
> @@ -1430,7 +1430,7 @@ void t4vf_pktgl_free(const struct pkt_gl *gl)
>  
>  	frag = gl->nfrags - 1;
>  	while (frag--)
> -		put_page(gl->frags[frag].page);
> +		put_page(gl->frags[frag].page.p); /* XXX */
>  }
>  
>  /**
> @@ -1450,7 +1450,7 @@ static inline void copy_frags(struct sk_buff *skb,
>  	unsigned int n;
>  
>  	/* usually there's just one frag */
> -	skb_frag_set_page(skb, 0, gl->frags[0].page);
> +	skb_frag_set_page(skb, 0, gl->frags[0].page.p);	/* XXX */
>  	si->frags[0].page_offset = gl->frags[0].page_offset + offset;
>  	si->frags[0].size = gl->frags[0].size - offset;
>  	si->nr_frags = gl->nfrags;
> @@ -1460,7 +1460,7 @@ static inline void copy_frags(struct sk_buff *skb,
>  		memcpy(&si->frags[1], &gl->frags[1], n * sizeof(skb_frag_t));
>  
>  	/* get a reference to the last page, we don't own it */
> -	get_page(gl->frags[n].page);
> +	get_page(gl->frags[n].page.p); /* XXX */
>  }
>  
>  /**
> @@ -1613,7 +1613,7 @@ static void restore_rx_bufs(const struct pkt_gl *gl, struct sge_fl *fl,
>  		else
>  			fl->cidx--;
>  		sdesc = &fl->sdesc[fl->cidx];
> -		sdesc->page = gl->frags[frags].page;
> +		sdesc->page = gl->frags[frags].page.p; /* XXX */
>  		sdesc->dma_addr |= RX_UNMAPPED_BUF;
>  		fl->avail++;
>  	}
> @@ -1701,7 +1701,7 @@ int process_responses(struct sge_rspq *rspq, int budget)
>  				BUG_ON(rxq->fl.avail == 0);
>  				sdesc = &rxq->fl.sdesc[rxq->fl.cidx];
>  				bufsz = get_buf_size(sdesc);
> -				fp->page = sdesc->page;
> +				fp->page.p = sdesc->page; /* XXX */
>  				fp->page_offset = rspq->offset;
>  				fp->size = min(bufsz, len);
>  				len -= fp->size;
> @@ -1719,8 +1719,8 @@ int process_responses(struct sge_rspq *rspq, int budget)
>  			dma_sync_single_for_cpu(rspq->adapter->pdev_dev,
>  						get_buf_addr(sdesc),
>  						fp->size, DMA_FROM_DEVICE);
> -			gl.va = (page_address(gl.frags[0].page) +
> -				 gl.frags[0].page_offset);
> +			gl.va = (page_address(gl.frags[0].page.p) +
> +				 gl.frags[0].page_offset); /* XXX */
>  			prefetch(gl.va);
>  

  parent reply	other threads:[~2011-08-24 18:30 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-19 13:26 [PATCH/RFC v3 0/75] enable SKB paged fragment lifetime visibility Ian Campbell
2011-08-19 13:26 ` [PATCH 01/75] net: add APIs for manipulating skb page fragments Ian Campbell
2011-08-24 18:21   ` Konrad Rzeszutek Wilk
2011-08-24 21:09     ` Ian Campbell
2011-08-24 21:15       ` Konrad Rzeszutek Wilk
2011-08-19 13:26 ` [PATCH 02/75] net: convert core to skb paged frag APIs Ian Campbell
2011-08-19 13:26 ` [PATCH 03/75] net: ipv4: convert to SKB " Ian Campbell
2011-08-19 13:26 ` [PATCH 04/75] net: ipv6: " Ian Campbell
2011-08-19 13:26 ` [PATCH 05/75] net: xfrm: " Ian Campbell
2011-08-19 13:26 ` [PATCH 06/75] atm: convert to SKB paged frag API Ian Campbell
2011-08-19 13:26 ` [PATCH 07/75] IB: amso1100: " Ian Campbell
2011-08-19 13:26 ` [PATCH 08/75] IB: nes: " Ian Campbell
2011-08-19 13:26 ` [PATCH 09/75] IPoIB: " Ian Campbell
2011-08-19 13:26 ` [PATCH 10/75] 3c59x: " Ian Campbell
2011-08-19 13:26 ` [PATCH 11/75] 8139cp: " Ian Campbell
2011-08-19 13:26 ` [PATCH 12/75] acenic: " Ian Campbell
2011-08-19 13:26 ` [PATCH 13/75] atl1c: " Ian Campbell
2011-08-19 13:26 ` [PATCH 14/75] atl1e: " Ian Campbell
2011-08-19 13:26 ` [PATCH 15/75] atlx: " Ian Campbell
2011-08-19 13:26 ` [PATCH 16/75] benet: " Ian Campbell
2011-08-19 13:26 ` [PATCH 17/75] bna: " Ian Campbell
2011-08-19 13:26 ` [PATCH 18/75] bnx2: " Ian Campbell
2011-08-19 13:26 ` [PATCH 19/75] bnx2x: " Ian Campbell
2011-08-19 13:26 ` [PATCH 21/75] chelsio: " Ian Campbell
2011-08-19 13:26 ` [PATCH 22/75] cxgb3: " Ian Campbell
2011-08-19 13:26 ` [PATCH 23/75] cxgb4: " Ian Campbell
2011-08-19 13:26 ` [PATCH 24/75] cxgb4vf: " Ian Campbell
2011-08-19 13:26 ` [PATCH 25/75] intel: " Ian Campbell
2011-08-19 13:26 ` [PATCH 26/75] enic: " Ian Campbell
2011-08-19 13:26 ` [PATCH 27/75] forcedeth: " Ian Campbell
2011-08-19 13:27 ` [PATCH 28/75] gianfar: " Ian Campbell
2011-08-19 13:27 ` [PATCH 30/75] ibmveth: " Ian Campbell
2011-08-19 13:27 ` [PATCH 31/75] jme: " Ian Campbell
2011-08-19 13:27 ` [PATCH 32/75] ksz884x: " Ian Campbell
2011-08-19 13:27 ` [PATCH 33/75] macvtap: " Ian Campbell
2011-08-19 13:27 ` [PATCH 34/75] mlx4: " Ian Campbell
2011-08-19 13:27 ` [PATCH 35/75] mv643xx: " Ian Campbell
2011-08-19 13:27 ` [PATCH 36/75] myri10ge: " Ian Campbell
2011-08-19 13:27 ` [PATCH 37/75] netxen: " Ian Campbell
2011-08-19 13:27 ` [PATCH 38/75] niu: " Ian Campbell
2011-08-19 13:27 ` [PATCH 39/75] ns83820: " Ian Campbell
     [not found] ` <1313760393.5010.356.camel-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2011-08-19 13:26   ` [PATCH 20/75] cassini: " Ian Campbell
2011-08-19 13:27   ` [PATCH 29/75] greth: " Ian Campbell
2011-08-19 13:27   ` [PATCH 40/75] pasemi: " Ian Campbell
2011-08-19 13:27   ` [PATCH 66/75] fcoe: " Ian Campbell
2011-08-19 13:27   ` [PATCH 73/75] net: move skb frag kmap functions to skbuff.h Ian Campbell
2011-08-19 13:29   ` [PATCH/RFC v3 0/75] enable SKB paged fragment lifetime visibility David Miller
2011-08-19 13:34     ` David Miller
2011-08-19 13:45       ` Ian Campbell
2011-08-19 14:04       ` David Miller
2011-08-19 14:30         ` Ian Campbell
2011-08-19 13:27 ` [PATCH 41/75] qeth: convert to SKB paged frag API Ian Campbell
2011-08-19 13:27 ` [PATCH 42/75] qla3xxx: " Ian Campbell
2011-08-19 13:27 ` [PATCH 43/75] qlcnic: " Ian Campbell
2011-08-19 13:27 ` [PATCH 44/75] qlge: " Ian Campbell
2011-08-19 13:27 ` [PATCH 45/75] r8169: " Ian Campbell
2011-08-19 13:27 ` [PATCH 46/75] s2io: " Ian Campbell
2011-08-19 13:27 ` [PATCH 47/75] sfc: " Ian Campbell
2011-08-19 13:27 ` [PATCH 48/75] skge: " Ian Campbell
2011-08-19 13:27 ` [PATCH 49/75] sky2: " Ian Campbell
2011-08-19 13:27 ` [PATCH 50/75] starfire: " Ian Campbell
2011-08-19 13:27 ` [PATCH 51/75] stmmac: " Ian Campbell
2011-08-19 13:27 ` [PATCH 52/75] sungem: " Ian Campbell
2011-08-19 13:27 ` [PATCH 53/75] sunhme: " Ian Campbell
2011-08-19 13:27 ` [PATCH 54/75] tehuti: " Ian Campbell
2011-08-19 13:27 ` [PATCH 55/75] tg3: " Ian Campbell
2011-08-19 13:27 ` [PATCH 56/75] tsi108: " Ian Campbell
2011-08-19 13:27 ` [PATCH 57/75] typhoon: " Ian Campbell
2011-08-19 13:27 ` [PATCH 58/75] via-velocity: " Ian Campbell
2011-08-19 13:27 ` [PATCH 59/75] virtionet: " Ian Campbell
2011-08-19 13:27 ` [PATCH 60/75] vmxnet3: " Ian Campbell
2011-08-19 13:27 ` [PATCH 61/75] vxge: " Ian Campbell
2011-08-19 13:27 ` [PATCH 62/75] xen: netback: " Ian Campbell
2011-08-19 13:27 ` [PATCH 63/75] xen: netfront: " Ian Campbell
2011-08-19 13:27 ` [PATCH 64/75] bnx2fc: " Ian Campbell
2011-08-19 13:27 ` [PATCH 65/75] cxgbi: " Ian Campbell
2011-08-19 13:27 ` [PATCH 67/75] et131x: " Ian Campbell
2011-08-19 17:59   ` Mark Einon
2011-08-19 13:27 ` [PATCH 68/75] hv: netvsc: " Ian Campbell
2011-08-19 13:37   ` Dan Carpenter
2011-08-19 13:46     ` Ian Campbell
2011-08-19 13:50   ` Ian Campbell
2011-08-24 18:30   ` Konrad Rzeszutek Wilk [this message]
2011-08-24 21:10     ` Ian Campbell
2011-08-19 13:27 ` [PATCH 69/75] net: only allow paged fragments with the same destructor to be coalesced Ian Campbell
2011-08-19 13:27 ` [PATCH 70/75] net: add paged frag destructor support to kernel_sendpage Ian Campbell
2011-08-19 13:27 ` [PATCH 71/75] sunrpc: use SKB fragment destructors to delay completion until page is released by network stack Ian Campbell
2011-08-19 13:27 ` [PATCH 72/75] signals: move trace header #include to after all others Ian Campbell
2011-08-19 13:27 ` [PATCH 74/75] net: add skb_frag_k(un)map convenience functions Ian Campbell
2011-08-19 13:27 ` [PATCH 75/75] net: return a *const* struct page from skb_frag_page Ian Campbell

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=20110824183010.GG15675@dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@suse.de \
    --cc=haiyangz@microsoft.com \
    --cc=hjanssen@microsoft.com \
    --cc=ian.campbell@citrix.com \
    --cc=kys@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=v-abkane@microsoft.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).