Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-4755

ASSERTION( req->rq_reqbuf_len >= msgsize ) failed when using 4MB RPC

Details

    • 3
    • 13084

    Description

      After ran "lctl set_param osc.*.max_pages_per_rpc=4M", we ran 4k random write test with IOR and easily hit this problem.

      After some test, we found that the biggest value of msgsize is 16384 for bulk write, while req->rq_reqbuf_len is only 8192.

      Attachments

        Issue Links

          Activity

            [LU-4755] ASSERTION( req->rq_reqbuf_len >= msgsize ) failed when using 4MB RPC

            Patch landed to Master.

            jlevi Jodi Levi (Inactive) added a comment - Patch landed to Master.

            The patch is failing sanity test at this time. Is it possible to submit a new patch?

            cliffw Cliff White (Inactive) added a comment - The patch is failing sanity test at this time. Is it possible to submit a new patch?

            Actually, before I dismiss the patch to increase the request size, it is worthwhile to ask if there is any performance improvement from sending 4096 random pages in one RPC compared to 16 x 256 random pages in separate RPCs? It might even be faster to send parallel RPCs due to checksums running on separate cores and being handled in parallel on the OST. If there is no improvement from many random pages in one RPC, it is better to just limit the number of niobufs that the client sends in one RPC.

            adilger Andreas Dilger added a comment - Actually, before I dismiss the patch to increase the request size, it is worthwhile to ask if there is any performance improvement from sending 4096 random pages in one RPC compared to 16 x 256 random pages in separate RPCs? It might even be faster to send parallel RPCs due to checksums running on separate cores and being handled in parallel on the OST. If there is no improvement from many random pages in one RPC, it is better to just limit the number of niobufs that the client sends in one RPC.
            pjones Peter Jones added a comment -

            Cliff

            Could you please take care of this patch?

            Thanks

            Peter

            pjones Peter Jones added a comment - Cliff Could you please take care of this patch? Thanks Peter

            With following patch, this problem won't be reproduced.

            http://review.whamcloud.com/9599

            However, I am wondering whether there is any automatic way to calculate the proper value of OST_MAXREQSIZE at compile time rather than doing guesswork or manual caculation.

            lixi Li Xi (Inactive) added a comment - With following patch, this problem won't be reproduced. http://review.whamcloud.com/9599 However, I am wondering whether there is any automatic way to calculate the proper value of OST_MAXREQSIZE at compile time rather than doing guesswork or manual caculation.

            People

              cliffw Cliff White (Inactive)
              lixi Li Xi (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: