Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CRC32 PPC Fast Zero Optimization #2966

Closed
wants to merge 2 commits into from

Conversation

kamasubb
Copy link
Contributor

@kamasubb kamasubb commented Oct 4, 2017

Fast Zero optimization for CRC32 computation in PowerPC

Copy link
Contributor

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@siying has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@kamasubb
Copy link
Contributor Author

@siying Please review the changes

@yiwu-arbug
Copy link
Contributor

@siying's on leave. Not sure who else on our team can review the patch.

@@ -7,6 +7,7 @@
// COPYING file in the root directory of this source tree.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BSD is not compatible with patents. I'm wondering if it is okay for us to include this header in our code.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yiwu-arbug The BSD licenses were approved by facebook legal in the past, for earlier drops that @kamasubb has submitted.

Links to prior discussion on that topic:

e612e31
#2353
#2716

The pull requests show the discussion. The commit shows 2716 was merged with these BSD licenses previously. This new drop provides a performance enhancement to that previous crc work if the buffer to be crc'ed is zero filled. The caller indicates the buffer is zero filled by passing in a null data pointer and a non-zero buffer length.

// All rights reserved.
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree. An additional grant
// of patent rights can be found in the PATENTS file in the same directory.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

@kamasubb
Copy link
Contributor Author

@yiwu-arbug If there are no more comments, can you please approve the changes

@@ -1733,6 +1736,9 @@ jl/crc32c_ppc.o: util/crc32c_ppc.c

jl/crc32c_ppc_asm.o: util/crc32c_ppc_asm.S
$(AM_V_CC)$(CC) $(CFLAGS) -c $< -o $@

jl/crc32c_ppc_fast_zero_asm.o: util/crc32c_ppc_fast_zero_asm.S
Copy link
Contributor

@ajkr ajkr Jan 23, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you also make sure the build target rocksdbjavastatic works? It builds everything under "jls/" not "jl/"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ajkr I have verified that the target rocksdbjavastatic builds everything under jls and not jl.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with that but still don't know whether the rocksdbjavastatic build target will work after this change. Have you tested it? My concern is we may need to add this target: "jls/util/crc32c_ppc_fast_zero_asm.o".

@facebook-github-bot
Copy link
Contributor

@kamasubb has updated the pull request. View: changes, changes since last import

@siying
Copy link
Contributor

siying commented Jun 22, 2018

I lost my memory for this PR. Where are we?

@ajkr
Copy link
Contributor

ajkr commented Jun 25, 2018

Was waiting for confirmation that make rocksdbjavastatic works since it was previously broken by not updating the targets for "jls/...".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants