archive mirror
 help / color / mirror / Atom feed
From: Bob Pearson <>
To: Jason Gunthorpe <>, Bart Van Assche <>
Cc: "" <>
Subject: Re: blktest/rxe almost working
Date: Fri, 3 Sep 2021 17:18:03 -0500	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

On 9/2/21 6:38 PM, Jason Gunthorpe wrote:
> On Thu, Sep 02, 2021 at 04:41:15PM -0500, Bob Pearson wrote:
>> Now that for-next is on 5.14.0-rc6+ blktest srp/002 is very close to
>> working for rxe but there is still one error. After adding MW
>> support I added a test to local invalidate to check and see if the
>> l/rkey matched the key actually contained in the MR/MW when local
>> invalidate is called. This is failing for srp/002 with the key
>> portion of the rkey off by one. Looking at ib_srp.c I see code that
>> does in fact increment the rkey by one and also has code that posts
>> a local invalidate. This was never checked before and is now failing
>> to match. If I mask off the key portion in the test the whole test
>> case passes so the other problems appear to have been fixed. If the
>> increment and invalidate are out of sync this could result in the
>> error. I suspect this may be a bug in srp. Worst case I can remove
>> this test but I would rather not.
> I didn't check the spec, but since SRP works with HW devices I wonder
> if invalidation is supposed to ignore the variant bits in the mkey?
> Jason

I am a little worried. srp is pretty complex but roughly it looks like it maintains a pool of
MRs which it recycles. Each time it reuses the MR it increments the key portion of the rkey. Before
that it uses local invalidate WRs to invalidate the MRs presumably to prevent stray accesses
to the old version of the MR from e.g. replicated packets. It posts these WRs to a send queue but I
don't see where it closes the loop by waiting for a WC so there may be a race between the invalidate
and the subsequent map_sg call. The invalidate marks the MR as not usable so this must all happen
before the MR is turned on again.


  reply	other threads:[~2021-09-03 22:18 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-02 21:41 Bob Pearson
2021-09-02 23:38 ` Jason Gunthorpe
2021-09-03 22:18   ` Bob Pearson [this message]
2021-09-03 23:13     ` Bart Van Assche
2021-09-04 22:30       ` Jason Gunthorpe
2021-09-05 18:02         ` Bob Pearson
2021-09-07 12:01           ` Jason Gunthorpe
2021-09-07 16:35             ` Bob Pearson
2021-09-07 16:39               ` Jason Gunthorpe
2021-09-07 16:47                 ` Bob Pearson

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \
    --subject='Re: blktest/rxe almost working' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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).