From patchwork Tue Apr 24 03:48:27 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 154577 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 03C80B6FA3 for ; Tue, 24 Apr 2012 13:49:05 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753562Ab2DXDsd (ORCPT ); Mon, 23 Apr 2012 23:48:33 -0400 Received: from mail-we0-f174.google.com ([74.125.82.174]:42744 "EHLO mail-we0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751064Ab2DXDsc (ORCPT ); Mon, 23 Apr 2012 23:48:32 -0400 Received: by wejx9 with SMTP id x9so126317wej.19 for ; Mon, 23 Apr 2012 20:48:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:from:to:cc:content-type:date:message-id:mime-version :x-mailer:content-transfer-encoding; bh=zLEr+fvxD4pIsRQ0pzeOoingmI9Lwi/44ibUuvvIXl8=; b=XJdB70d6nnW4w9z0SxpJB5agFsvtQPZHvbqferU6aw/H4e3f05r6UMBfl+HkwRWvaA XL9QvgzpKGHuo0ZNzKjslxh2V3reIzT6/diIdXxNVmsusDecxyK936n/Z212mnLzH3Xi G0zNc8xf828P433+IXP33TpGSeBC75lngPBqvUfs0pcX+e+GS6WJWL5P3PbBs7NSVzpV pD3qM7+Y/74Pk+LOI99gJwQF2q07PL1Kc6aIEBi5DI1I4YYyBpVyJcoRvA52CO1e1K+V dmDp/n0AgDenqAzEA7skzhLcRLNx2YvLjxcShb48cgsgHVH1dY7UQiZhBUlo7h7KZvfC ecuA== Received: by 10.180.94.33 with SMTP id cz1mr27385295wib.13.1335239311568; Mon, 23 Apr 2012 20:48:31 -0700 (PDT) Received: from [172.28.92.147] ([74.125.122.49]) by mx.google.com with ESMTPS id ff9sm27056820wib.2.2012.04.23.20.48.29 (version=SSLv3 cipher=OTHER); Mon, 23 Apr 2012 20:48:30 -0700 (PDT) Subject: [PATCH net-next] net: skb_can_coalesce returns a boolean From: Eric Dumazet To: David Miller Cc: netdev Date: Tue, 24 Apr 2012 05:48:27 +0200 Message-ID: <1335239307.5205.125.camel@edumazet-glaptop> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Eric Dumazet Signed-off-by: Eric Dumazet --- include/linux/skbuff.h | 6 +++--- net/ipv4/tcp.c | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index f25795c..4a656b5 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -1963,8 +1963,8 @@ static inline int skb_add_data(struct sk_buff *skb, return -EFAULT; } -static inline int skb_can_coalesce(struct sk_buff *skb, int i, - const struct page *page, int off) +static inline bool skb_can_coalesce(struct sk_buff *skb, int i, + const struct page *page, int off) { if (i) { const struct skb_frag_struct *frag = &skb_shinfo(skb)->frags[i - 1]; @@ -1972,7 +1972,7 @@ static inline int skb_can_coalesce(struct sk_buff *skb, int i, return page == skb_frag_page(frag) && off == frag->page_offset + skb_frag_size(frag); } - return 0; + return false; } static inline int __skb_linearize(struct sk_buff *skb) diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index bcc4eab..de6a238 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -848,9 +848,10 @@ static ssize_t do_tcp_sendpages(struct sock *sk, struct page **pages, int poffse while (psize > 0) { struct sk_buff *skb = tcp_write_queue_tail(sk); struct page *page = pages[poffset / PAGE_SIZE]; - int copy, i, can_coalesce; + int copy, i; int offset = poffset % PAGE_SIZE; int size = min_t(size_t, psize, PAGE_SIZE - offset); + bool can_coalesce; if (!tcp_send_head(sk) || (copy = size_goal - skb->len) <= 0) { new_segment: