From patchwork Sat Nov 17 06:39:49 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akinobu Mita X-Patchwork-Id: 199820 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 92ADF2C008C for ; Sat, 17 Nov 2012 17:40:20 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751612Ab2KQGkQ (ORCPT ); Sat, 17 Nov 2012 01:40:16 -0500 Received: from mail-pb0-f46.google.com ([209.85.160.46]:59963 "EHLO mail-pb0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751029Ab2KQGkP (ORCPT ); Sat, 17 Nov 2012 01:40:15 -0500 Received: by mail-pb0-f46.google.com with SMTP id wy7so2399614pbc.19 for ; Fri, 16 Nov 2012 22:40:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=31jvBWxJkJyIJLt1lFWRIVqePtMYytruDSWN8qhZUBQ=; b=ayNuG4GalUfDh4vt1JuPjFN2HQ9TE/3BQaeoZ9j8giLPdLE7b0m9Nw9qvSpYnb8Y/B tN/SXQ/NLCe6/CuO3Ih3n605Ko5cAUkfjYLScG2vDLD9vwqei/QGt+uD/OLB2Ang31f1 LKbltn/oSDOp3XgHRNxFH2NipTS+x/OTFsb5UuxQOHRWxBLMwV6Z/Yvf4tI7yzDKXXc5 yltKlNeDg2qm3GLuzX7L1xPO0OjKrqV2ex5+dC6lTyLJbfh8N1UwipDV6D846LPhVciU +ojgkcoDYIIAVVB4r8fSeKmu99na1KP0J/otgS7LTekLFq7Tl3Y2hr35fVDI9dMURIwT VVew== Received: by 10.69.0.134 with SMTP id ay6mr16199048pbd.50.1353134414450; Fri, 16 Nov 2012 22:40:14 -0800 (PST) Received: from localhost.localdomain (p1120-ipbf2201hodogaya.kanagawa.ocn.ne.jp. [123.220.186.120]) by mx.google.com with ESMTPS id uh9sm2472155pbc.5.2012.11.16.22.40.12 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 16 Nov 2012 22:40:13 -0800 (PST) From: Akinobu Mita To: linux-sctp@vger.kernel.org Cc: Akinobu Mita , Vlad Yasevich , Sridhar Samudrala , netdev@vger.kernel.org Subject: [PATCH] sctp: use bitmap_weight Date: Sat, 17 Nov 2012 15:39:49 +0900 Message-Id: <1353134389-25583-1-git-send-email-akinobu.mita@gmail.com> X-Mailer: git-send-email 1.7.11.7 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Use bitmap_weight to count the total number of bits set in bitmap. Signed-off-by: Akinobu Mita Cc: Vlad Yasevich Cc: Sridhar Samudrala Cc: linux-sctp@vger.kernel.org Cc: netdev@vger.kernel.org Acked-by: Vlad Yasevich --- net/sctp/tsnmap.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/net/sctp/tsnmap.c b/net/sctp/tsnmap.c index b5fb7c4..5f25e0c 100644 --- a/net/sctp/tsnmap.c +++ b/net/sctp/tsnmap.c @@ -272,7 +272,7 @@ __u16 sctp_tsnmap_pending(struct sctp_tsnmap *map) __u32 max_tsn = map->max_tsn_seen; __u32 base_tsn = map->base_tsn; __u16 pending_data; - u32 gap, i; + u32 gap; pending_data = max_tsn - cum_tsn; gap = max_tsn - base_tsn; @@ -280,11 +280,7 @@ __u16 sctp_tsnmap_pending(struct sctp_tsnmap *map) if (gap == 0 || gap >= map->len) goto out; - for (i = 0; i < gap+1; i++) { - if (test_bit(i, map->tsn_map)) - pending_data--; - } - + pending_data -= bitmap_weight(map->tsn_map, gap + 1); out: return pending_data; }