public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: "santosh.shilimkar@oracle•com" <santosh.shilimkar@oracle•com>
To: shamir rabinovitch <shamir.rabinovitch@oracle•com>,
	rds-devel@oss•oracle.com, netdev@vger•kernel.org
Cc: davem@davemloft•net
Subject: Re: [PATCH] rds: rds-stress show all zeros after few minutes
Date: Thu, 31 Mar 2016 20:59:46 -0700	[thread overview]
Message-ID: <56FDF232.90108@oracle.com> (raw)
In-Reply-To: <1459385402-28449-1-git-send-email-shamir.rabinovitch@oracle.com>

Hi Shamir,

Nice to see this one soon on the list,
Just to make $subject more relevant. How about below?

RDS: fix congestion map corruption for PAGE_SIZE > 8k

On 3/30/16 5:50 PM, shamir rabinovitch wrote:
> Issue can be seen on platforms that use 8K and above page size
> while rds fragment size is 4K. On those platforms single page is
> shared between 2 or more rds fragments. Each fragment has it's own
> offeset and rds cong map code need to take this offset to account.
> Not taking this offset to account lead to reading the data fragment
> as congestion map fragment and hang of the rds transmit due to far
> cong map corruption.
>
> Reviewed-by: Wengang Wang <wen.gang.wang@oracle•com>
> Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@oracle•com>
> Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle•com>
> Tested-by: Anand Bibhuti <anand.bibhuti@oracle•com>
>
> Signed-off-by: shamir rabinovitch <shamir.rabinovitch@oracle•com>
> ---
>   net/rds/ib_recv.c |    2 +-
>   net/rds/iw_recv.c |    2 +-
>   net/rds/page.c    |    5 +++--
>   3 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/net/rds/ib_recv.c b/net/rds/ib_recv.c
> index 977fb86..abc8cc8 100644
> --- a/net/rds/ib_recv.c
> +++ b/net/rds/ib_recv.c
> @@ -796,7 +796,7 @@ static void rds_ib_cong_recv(struct rds_connection *conn,
>
>   		addr = kmap_atomic(sg_page(&frag->f_sg));
>
> -		src = addr + frag_off;
> +		src = addr + frag->f_sg.offset + frag_off;
>   		dst = (void *)map->m_page_addrs[map_page] + map_off;
>   		for (k = 0; k < to_copy; k += 8) {
>   			/* Record ports that became uncongested, ie
> diff --git a/net/rds/iw_recv.c b/net/rds/iw_recv.c
If you refresh the patch against 4.6-rc1, you won't need to
patch iw_recv.c :-)


> diff --git a/net/rds/page.c b/net/rds/page.c
> index 5a14e6d..715cbaa 100644
> --- a/net/rds/page.c
> +++ b/net/rds/page.c
> @@ -135,8 +135,9 @@ int rds_page_remainder_alloc(struct scatterlist *scat, unsigned long bytes,
>   			if (rem->r_offset != 0)
>   				rds_stats_inc(s_page_remainder_hit);
>
> -			rem->r_offset += bytes;
> -			if (rem->r_offset == PAGE_SIZE) {
> +			/* some hw (e.g. sparc) require aligned memory */
> +			rem->r_offset += ALIGN(bytes, 8);
> +			if (rem->r_offset >= PAGE_SIZE) {
>   				__free_page(rem->r_page);
>   				rem->r_page = NULL;
>   			}
>
This hunk I missed out looks like. This doesn't belong to the
$subject patch. Could you please add this in separate patch. I
will need more than just "some hw (e.g. sparc) require aligned memory"

Once you fix these, please repost the updated version, and I will add
them to the 4.7 queue. Thanks !!

Regards,
Santosh

      parent reply	other threads:[~2016-04-01  3:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-31  0:50 [PATCH] rds: rds-stress show all zeros after few minutes shamir rabinovitch
2016-03-31 13:13 ` Sergei Shtylyov
2016-03-31 14:20   ` Shamir Rabinovitch
2016-03-31 14:23     ` Sergei Shtylyov
2016-03-31 14:25       ` Shamir Rabinovitch
2016-04-01  3:59 ` santosh.shilimkar [this message]

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=56FDF232.90108@oracle.com \
    --to=santosh.shilimkar@oracle$(echo .)com \
    --cc=davem@davemloft$(echo .)net \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=rds-devel@oss$(echo .)oracle.com \
    --cc=shamir.rabinovitch@oracle$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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