Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Sep 2013 23:41:49 -0700
From:      John-Mark Gurney <jmg@funkthat.com>
To:        "David O'Brien" <obrien@FreeBSD.org>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, re@FreeBSD.org
Subject:   Re: svn commit: r255187 - in head/sys: conf crypto/aesni modules/aesni
Message-ID:  <20130910064149.GS68682@funkthat.com>
In-Reply-To: <20130910060132.GA61541@dragon.NUXI.org>
References:  <201309031831.r83IVNkh026523@svn.freebsd.org> <20130910060132.GA61541@dragon.NUXI.org>

next in thread | previous in thread | raw e-mail | index | archive | help
David O'Brien wrote this message on Mon, Sep 09, 2013 at 23:01 -0700:
> On Tue, Sep 03, 2013 at 06:31:23PM +0000, John-Mark Gurney wrote:
> > Log:
> >   Use the fact that the AES-NI instructions can be pipelined to improve
> >   performance... Use SSE2 instructions for calculating the XTS tweek
> >   factor...  Let the compiler do more work and handle register allocation
> >   by using intrinsics, now only the key schedule is in assembly...
> 
> Hi John-Mark,
> Unfortunately this does not work with /usr/bin/gcc (which I still use as
> /usr/bin/cc on this old IBM T60 laptop due to clang's enormous pestimation
> on 'make world' and build times.
> 
> Please fix this ASAP or back it out out of 10-CURRENT as it does not work
> with /usr/bin/gcc:
> 
> 1. /usr/bin/gcc cannot handle the "-maes" option.
> I committed r255440 to address this.

Please back that out until you have an understand of what the real
problem is...  I'm sad that the commit was approved w/o bothering to
attempt to figure out the problem...

> 2. /usr/src/sys/modules/aesni/../../crypto/aesni/aesencdec.h:30:23: error: wmmintrin.h: No such file or directory
> and then a cascade of errors follow.

Sounds like you don't have the latest in-tree gcc... I've been
compiling the AES module w/ the in tree gcc for a while..  This is
w/ the changes in r255185...

> For now, I've sent a patch to re@ for approval to remove the 'aesni'
> module from the build if not using clang.  But the LINT build is
> still broken with /usr/bin/gcc.

I'll strongly object to this change...

> >   Replace .byte hard coded instructions w/ the proper instructions now
> >   that both clang and gcc support them...
> 
> Is this out-of-tree latest GCC that supports this?

Nope, in-tree...  Sounds like you haven't installed the latest version
of gcc in tree...

It could be a problem with a bad interaction w/ delete-old as glebius
added the wmmintrin.h header to the delete-old target in r255354...

I'll take a closer look at this in the morning, but next time please
attempt to contact the author before taking such actions...

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130910064149.GS68682>