All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Elder <elder@dreamhost.com>
To: ceph-devel@vger.kernel.org
Subject: [PATCH 2/2] libceph: some simple changes
Date: Tue, 28 Feb 2012 20:55:45 -0800	[thread overview]
Message-ID: <4F4DAFD1.7000100@dreamhost.com> (raw)
In-Reply-To: <4F4DAF00.5020908@dreamhost.com>

Nothing too big here.
     - define the size of the buffer used for consuming ignored
       incoming data using a symbolic constant
     - simplify the condition determining whether to unmap the page
       in write_partial_msg_pages(): do it for crc but not if the
       page is the zero page

Signed-off-by: Alex Elder <elder@dreamhost.com>
---
  net/ceph/messenger.c |   13 +++++++++----
  1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
index 63f281f..27a1364 100644
--- a/net/ceph/messenger.c
+++ b/net/ceph/messenger.c
@@ -38,6 +38,11 @@ static char tag_keepalive = CEPH_MSGR_TAG_KEEPALIVE;
  static struct lock_class_key socket_class;
  #endif

+/*
+ * When skipping (ignoring) a block of input we read it into a "skip
+ * buffer," which is this many bytes in size.
+ */
+#define SKIP_BUF_SIZE	1024

  static void queue_con(struct ceph_connection *con);
  static void con_work(struct work_struct *);
@@ -889,8 +894,7 @@ static int write_partial_msg_pages(struct 
ceph_connection *con)
  				      MSG_DONTWAIT | MSG_NOSIGNAL |
  				      MSG_MORE);

-		if (do_crc &&
-		    (msg->pages || msg->pagelist || msg->bio || in_trail))
+		if (do_crc && kaddr != zero_page_address)
  			kunmap(page);

  		if (ret == -EAGAIN)
@@ -1979,8 +1983,9 @@ more:
  		 *
  		 * FIXME: there must be a better way to do this!
  		 */
-		static char buf[1024];
-		int skip = min(1024, -con->in_base_pos);
+		static char buf[SKIP_BUF_SIZE];
+		int skip = min((int) sizeof buf, -con->in_base_pos);
+
  		dout("skipping %d / %d bytes\n", skip, -con->in_base_pos);
  		ret = ceph_tcp_recvmsg(con->sock, buf, skip);
  		if (ret <= 0)
-- 
1.7.5.4


  parent reply	other threads:[~2012-02-29  4:55 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-29  4:52 [PATCH 0/2] libceph: more miscellaneous cleanups Alex Elder
2012-02-29  4:55 ` Alex Elder
2012-02-29  4:55 ` [PATCH 1/2] libceph: small refactor in write_partial_kvec() Alex Elder
2012-02-29  4:55 ` Alex Elder [this message]
2012-03-02 21:49   ` [PATCH 2/2] libceph: some simple changes Sage Weil

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=4F4DAFD1.7000100@dreamhost.com \
    --to=elder@dreamhost.com \
    --cc=ceph-devel@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.