This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Altivec patches for glibc


(resending, for some reason the initial mail was considered spam)

Ok, sending to the main libc mailing list, to get official feedback 
from the people actually knowledgeable about these things.

So here is the deal:
  Freescale has made available some optimized routines for the PowerPC 
architecture, that take advantage of the Altivec unit commonly found 
in processors such as 74xx (G4) or the 970 (G5) (but not in the G3). 
In some cases the performance gain is amazing, from 4x to even >20x.
After some initial discussion at the SNDF conference, it was decided 
to at least try to incorporate these optimized routines in commonly 
used components of Linux, such as the kernel, glibc, and at a later 
stage at the library level (eg. STL) and the application level 
(MySQL, Apache, etc).

  I understand that there might be some licensing and IP issues here, 
and I believe that it would be to everyone's benefit if these were 
agreed on at this point. 

  The main question is, what license should Freescale use for the 
altivec patches to be included into glibc itself? Would there be a 
need for anything more? IANAL, so I'll refrain from making any 
suggestions on this.

  The patches are not ready yet (the routines are, but the actual 
integration with glibc has not been completed and/or tested 
thoroughly). While we do the testing it would be nice to get this 
thing decided upon.

  I hope I have described the situation in a fairly consistent 
manner...

Regards

Konstantinos


On ÎÎÏ 12 ÎÎÎ 2004 23:08, Corley Chuck-rxdg90 wrote:
> Now that I re-read your email, I may be doing this backward but I
> have been working on the licensing issue and I could use your
> input.
>
> All of the code that we have made available is at
> http://www.freescale.com/webapp/sps/site/overview.jsp?nodeId=018rH3
>bTdGmKqW5Nf2d9nb
>
> Or go to www.freescale.com and search for AltiVec Libraries.
>
> But what I want to ask is:  what license did you want to see on
> these?
>
> The current license grants a source license with unlimited
> distribution but is not a GNU Public License or a Lesser GNU Public
> License.  I was in the process of getting it changed to LGPL when
> it was suggested to me that I use the BSD Open Source License which
> apparently IBM uses on similar libraries they provide.  What would
> you recommend if we want them to be incorporated into glibc?
>
> Chuck Corley
> email:   chuck.corley@freescale.com
> Manager, Applications Engineering
> Phone: 512-996-5048
>
> > -----Original Message-----
> > From: Konstantinos Margaritis [mailto:markos@debian.gr]
> > Sent: Friday, October 15, 2004 5:48 AM
> > To: Larin Sergei-R60478; Corley Chuck-rxdg90
> > Subject: Altivec patches for glibc
> >
> >
> > Hi Sergei and Chuck,
> >   I hope you remember me, we met at the SNDF conference in
> > Frankfurt. I just started playing around with Altivec and i find
> > it a very cool technology. But this is not the reason of my mail.
> > If you remember our discussion with Chuck, it would be really
> > great if we got all the altivec optimized generic functions
> > (memcpy, strcmp, etc) into glibc (into Debian at first but also
> > upstream).
> >   So, first I'll need the patches for the routines (I couldn't
> > find them on the site, but to be frank, I wasn't very thorough)
> > so that I can test and benchmark them and produce a patch for the
> > Debian glibc maintainers to see and examine. Also, I'll need some
> > way to fallback to normal scalar code if an Altivec unit is not
> > found, eg on 603/604/750, is there a default way to do that?
> >   When we have a final solution for that, we can then discuss the
> > licensing issue, but I think it's probably too early for that.
> >   I anticipate your replies!
> >
> > Regards and a Big Thanks for a wonderful system!
> >
> > Konstantinos



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]