rgw/op: RGWPutObj uses async_md5 for ETag#52488
Conversation
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
838ad02 to
a78f699
Compare
|
@cbodley Hi Casey, is this PR updated recently or is there new PR? can we use it to do performance testing? Any bug existing to block testing? do you implement new features? and any performance result can share for the PR? |
hey, sorry i haven't followed up on this. the base pr still has a crash bug. i added a comment in #52385 (comment) with what i've learned about that |
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
instead of building isa-l_crypto source files directly into the ceph_crypto_isal plugin, use a cmake ExternalProject to build the library with make and expose the static library as cmake target ISAL::Crypto Signed-off-by: Casey Bodley <cbodley@redhat.com>
builds an asynchronous batching library on top of the isal crypto library's multi-buffer md5 facilities: > The MD5 CTX interface functions are available for 4 architectures: SSE, AVX, AVX2 and > AVX512. In addition, a multibinary interface is provided, which selects the appropriate > architecture-specific function at runtime. Signed-off-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Just because this is what Ceph's config uses and it saves a narrowing conversion. If we want to set a max value on the thread count, we should do it in config. Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Add overloads of the constructor and `start` that take an init function, for setting up the thread before dropping into `io_context::run`. Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Pull the `io_context` and threads out of `AsioFrontend`, pass in a reference to `io_context_pool` so it can be shut down at `AsioFrontend::join` Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
track the average number of hashes per batch and the number of batch timeouts Signed-off-by: Casey Bodley <cbodley@redhat.com>
a78f699 to
f56ebe7
Compare
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
This pull request has been automatically closed because there has been no activity for 90 days. Please feel free to reopen this pull request (or open a new one) if the proposed change is still appropriate. Thank you for your contribution! |
based on #52385 (which itself is based on
#51573and #50064) and steals some commits from #51084 to share the beast frontend's context pool with the rest of rgwadds a single instance of
ceph::async_md5::Batchtorgw::AppMainthat runs on a strand of the thread pool.RGWPutObjuses this instead ofceph::crypto::MD5to calculate the object's ETagTODO:
async_hash()to run in parallel withfilter->process()async_hash()at the end with an empty buffer by passinglast=truewith the final buffer we receiveBatches (either as separate strands, or on their own background threads) to utilize more cpu coresShow available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard cephadmjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume toxjenkins test windows