Re: [2637] 2009-10-16 Colin Watson cjwat...@ubuntu.com

2009-10-18 Thread Robert Millan
On Sat, Oct 17, 2009 at 11:09:28AM -0500, richardvo...@gmail.com wrote:
  mmx/sse/sse2/3dnow because we don't use floating point arithmetics. If I
  remember correctly sse has some commands for operations on parallel
  operations on integers but the only place I see where benefit could be
  considerable is decompression and decryption. If it's proven that
 
 For example, memcpy is much faster using those extended instruction
 sets.  Maybe that's not an important use case for grub2 either.

We have some code in our loaders that memcpy large chunks of data.  Not
sure how relevant this is though.

Anyhow, I bet our grub_memmove() is still suboptimal in comparison with those
on Glibc.

-- 
Robert Millan

  The DRM opt-in fallacy: Your data belongs to us. We will decide when (and
  how) you may access your data; but nobody's threatening your freedom: we
  still allow you to remove your data and not access it at all.


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [2637] 2009-10-16 Colin Watson cjwat...@ubuntu.com

2009-10-17 Thread Robert Millan
On Fri, Oct 16, 2009 at 03:38:44PM +, Colin Watson wrote:
 Revision: 2637
   http://svn.sv.gnu.org/viewvc/?view=revroot=grubrevision=2637
 Author:   cjwatson
 Date: 2009-10-16 15:38:42 + (Fri, 16 Oct 2009)
 Log Message:
 ---
 2009-10-16  Colin Watson  cjwat...@ubuntu.com
 
   * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
   -mno-3dnow on x86 architectures.  Some toolchains enable these
   features by default, but they rely on registers that aren't enabled
   in GRUB.  Thanks to Vladimir Serbinenko for the suggestion.

Would it be preferable to enable those registers instead?

-- 
Robert Millan

  The DRM opt-in fallacy: Your data belongs to us. We will decide when (and
  how) you may access your data; but nobody's threatening your freedom: we
  still allow you to remove your data and not access it at all.


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [2637] 2009-10-16 Colin Watson cjwat...@ubuntu.com

2009-10-17 Thread Vladimir 'phcoder' Serbinenko
Robert Millan wrote:
 On Fri, Oct 16, 2009 at 03:38:44PM +, Colin Watson wrote:
   
 Revision: 2637
   http://svn.sv.gnu.org/viewvc/?view=revroot=grubrevision=2637
 Author:   cjwatson
 Date: 2009-10-16 15:38:42 + (Fri, 16 Oct 2009)
 Log Message:
 ---
 2009-10-16  Colin Watson  cjwat...@ubuntu.com

  * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
  -mno-3dnow on x86 architectures.  Some toolchains enable these
  features by default, but they rely on registers that aren't enabled
  in GRUB.  Thanks to Vladimir Serbinenko for the suggestion.
 

 Would it be preferable to enable those registers instead?

   
They are disabled for following simple reason:
imagine an OS which isn't aware of those registers. Then if user
simultaneously launches two applications which use those registers then
they won't be preserved accross context switches leading to bugs. I
don't know if there is a way to disable these registers again after
enabling them. I don't think grub2 will benefit a lot because of
mmx/sse/sse2/3dnow because we don't use floating point arithmetics. If I
remember correctly sse has some commands for operations on parallel
operations on integers but the only place I see where benefit could be
considerable is decompression and decryption. If it's proven that
decompressing/decrypting with SSE makes it considerably faster then
enabling SSE would be a good thing. Anyhow for now we can just disable
MMX/SSE/SSE2/3dnow and when someone implements handling those registers
he can enable them again
On FreeBSD kernel itself is compiled without MMX, SSE, SSE2 and 3dnow to
avoid to have to handle them on kernel threads switches.


-- 
Regards
Vladimir 'phcoder' Serbinenko
Personal git repository: http://repo.or.cz/w/grub2/phcoder.git 



___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [2637] 2009-10-16 Colin Watson cjwat...@ubuntu.com

2009-10-17 Thread richardvo...@gmail.com
On Sat, Oct 17, 2009 at 6:40 AM, Vladimir 'phcoder' Serbinenko
phco...@gmail.com wrote:
 Robert Millan wrote:
 On Fri, Oct 16, 2009 at 03:38:44PM +, Colin Watson wrote:

 Revision: 2637
           http://svn.sv.gnu.org/viewvc/?view=revroot=grubrevision=2637
 Author:   cjwatson
 Date:     2009-10-16 15:38:42 + (Fri, 16 Oct 2009)
 Log Message:
 ---
 2009-10-16  Colin Watson  cjwat...@ubuntu.com

      * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
      -mno-3dnow on x86 architectures.  Some toolchains enable these
      features by default, but they rely on registers that aren't enabled
      in GRUB.  Thanks to Vladimir Serbinenko for the suggestion.


 Would it be preferable to enable those registers instead?


 They are disabled for following simple reason:
 imagine an OS which isn't aware of those registers. Then if user
 simultaneously launches two applications which use those registers then
 they won't be preserved accross context switches leading to bugs. I
 don't know if there is a way to disable these registers again after
 enabling them. I don't think grub2 will benefit a lot because of

I think this cannot be accurate because virtual machines would be
badly broken (registers enabled by the host, guest without awareness
is exactly the situation you describe).


 mmx/sse/sse2/3dnow because we don't use floating point arithmetics. If I
 remember correctly sse has some commands for operations on parallel
 operations on integers but the only place I see where benefit could be
 considerable is decompression and decryption. If it's proven that

For example, memcpy is much faster using those extended instruction
sets.  Maybe that's not an important use case for grub2 either.

 decompressing/decrypting with SSE makes it considerably faster then
 enabling SSE would be a good thing. Anyhow for now we can just disable
 MMX/SSE/SSE2/3dnow and when someone implements handling those registers
 he can enable them again
 On FreeBSD kernel itself is compiled without MMX, SSE, SSE2 and 3dnow to
 avoid to have to handle them on kernel threads switches.


 --
 Regards
 Vladimir 'phcoder' Serbinenko
 Personal git repository: http://repo.or.cz/w/grub2/phcoder.git



 ___
 Grub-devel mailing list
 Grub-devel@gnu.org
 http://lists.gnu.org/mailman/listinfo/grub-devel



___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel