[asterisk-bugs] [DAHDI-linux 0013500]: [patch] safer MMX support for echo canceller

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Apr 21 04:12:26 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=13500 
====================================================================== 
Reported By:                tzafrir
Assigned To:                
====================================================================== 
Project:                    DAHDI-linux
Issue ID:                   13500
Category:                   dahdi (the module)
Reproducibility:            random
Severity:                   minor
Priority:                   normal
Status:                     confirmed
====================================================================== 
Date Submitted:             2008-09-17 04:38 CDT
Last Modified:              2009-04-21 04:12 CDT
====================================================================== 
Summary:                    [patch] safer MMX support for echo canceller
Description: 
ZAPTEL_CONFIG_MMX has had a reputation for being a nice performance
improvement (e.g: by 50% and more), but OTOH also for causing "strange
things". This is because the the floating point context is not properly
saved and using MMX (uses the floating point registers) in an interrupt
context may result in corrupting them to processes.

This patch aims to properly fix that. It does so in an ugly and
i386-specific way (will not even work on x86_64), but it should be a good
starting point. It replaces not only kernel_fpu_begin but also
kernel_fpu_end .

There is some legacy 2.4-only reimplementation of kernel_fpu_begin() which
I chose not to touch.

I also added a compilation warning for the case of using CONFIG_ZAPTEL_MMX
without this fix, as I suspect it is not safe.

The initial patch is vs. zaptel, as I have no relevant EC to test this
with on DAHDI. A dahdi-linux patch is also included, but not actually
tested.
====================================================================== 

---------------------------------------------------------------------- 
 (0103518) tzafrir (manager) - 2009-04-21 04:12
 http://bugs.digium.com/view.php?id=13500#c103518 
---------------------------------------------------------------------- 
If MMX support is safe, enable it by default if supported.

Patch dahdi_mmx_auto.diff restores the magic from the zaptel Kbuild file
that was used to selectively enable MMX support in some cases. It was
unused due to the MMX support being broken and was thus removed for the
sake of simplicity. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-04-21 04:12 tzafrir        Note Added: 0103518                          
======================================================================




More information about the asterisk-bugs mailing list