ppc64-mont.pl: commentary update.

This commit is contained in:
Andy Polyakov 2010-01-06 10:58:59 +00:00
parent dacdcf3c15
commit 1f23001d07

View File

@ -47,22 +47,23 @@
# December 2009 # December 2009
# Adapted for 32-bit build this module delivers 25-120%, more for # Adapted for 32-bit build this module delivers 25-120%, yes, more
# longer keys, performance improvement on 1.8GHz PPC970. However! # than *twice* for longer keys, performance improvement over 32-bit
# This implementation utilizes even 64-bit integer operations and # ppc-mont.pl on 1.8GHz PPC970. However! This implementation utilizes
# trouble is that most PPC operating systems don't preserve upper # even 64-bit integer operations and the trouble is that most PPC
# halves of general purpose registers upong signal delivery. They do # operating systems don't preserve upper halves of general purpose
# preserve them upon context switch, but not signalling:-( This means # registers upon 32-bit signal delivery. They do preserve them upon
# that asynchronous signals have to be blocked upon entry to this # context switch, but not signalling:-( This means that asynchronous
# subroutine. Signal masking (and complementary unmasking) has quite # signals have to be blocked upon entry to this subroutine. Signal
# an impact on performance, naturally larger for shorter keys. It's # masking (and of course complementary unmasking) has quite an impact
# so severe that 512-bit key performance can be as low as 1/3 of # on performance, naturally larger for shorter keys. It's so severe
# expected one. This is why this routine can be engaged for longer # that 512-bit key performance can be as low as 1/3 of expected one.
# key operations only, see crypto/ppccap.c for further details. # This is why this routine can be engaged for longer key operations
# Alternative is to break dependence on upper halves on GPRs... # only on these OSes, see crypto/ppccap.c for further details. MacOS X
# MacOS X is an exception from this and doesn't require signal # is an exception from this and doesn't require signal masking, and
# masking, and that's where above improvement coefficients were # that's where above improvement coefficients were collected. For
# collected. # others alternative would be to break dependence on upper halves of
# GPRs by sticking to 32-bit integer operations...
$flavour = shift; $flavour = shift;