Mark,

   In the meantime, How about letting bash do the arithmetic as a
workaround ...

# MEMUNPLUG="(freemem>  $[256/2*2] )"
# echo $MEMUNPLUG
(freemem> 256)
# MEMUNPLUG="(freemem>  $[256/2/2] )"
# echo $MEMUNPLUG
(freemem> 64)
# MEMUNPLUG="(freemem>  $[(256/2)*2] )"
# echo $MEMUNPLUG
(freemem> 256)
                                                                       
                                                                       
 ________________________                                              
                                                                       
 Mike O'Reilly                                                         
 IBM Linux Change Team                                                 
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
 _____________                                                         
                                                                       




                                                                       
             Gerald Schaefer                                           
             <gerald.schaefer@                                         
             de.ibm.com>                                                To
             Sent by: Linux on         [email protected]         
             390 Port                                                   cc
             <[email protected]                                         
             ist.edu>                                              Subject
                                       Re: Problems With cpuplugd      
                                       Evaluating Expressions in       
             03/29/2011 10:37          MEMPLUG/MEMUNPLUG Rules         
             AM                                                        
                                                                       
                                                                       
             Please respond to                                         
             gerald.schaefer@d                                         
                 e.ibm.com                                             
                                                                       
                                                                       




Hi Mark,

thanks for the report, it turned out that multiplication is currently
broken in the cpuplugd on all distributions, which leads to the behaviour
that you noticed. We will release a fixed version with the next s390-tools
update on developerWorks and submit patches for the distributions. In the
meantime, the only way I see for doing correct multiplications in cpuplugd
rules is to use inverse division instead.

Regards,
Gerald Schaefer

Linux on System z Development
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294


On 29.03.2011 15:08, Mark Wheeler wrote:
> Greetings all,
>
> I'm running cpuplugd (Linux on System z CPU hotplug daemon version
1.8.1-8.el5) and am having problems getting it to evaluate expressions
correctly.
> In order to better see what was happenning, I reduced it down to a couple
very simple cases:
> 1) MEMUNPLUG="(freemem>  256/2*2)"
>      Trims freemem down to 64 MB
> 2) MEMUNPLUG="(freemem>  256/2/2)"
>      Trims freemem down to 64 MB
> 3) MEMUNPLUG="(freemem>  (256/2)*2)"
>      Trims freemem down to 64 MB
> 4) MEMUNPLUG="(freemem>  256/(2/2)"
>      Trims freemem down to 256 MB
>
> Only 2) and 4) perform as expected.
>
> Has anyone else seen this? Is able to reproduce? Show me the error of my
ways?
>
> This is on RHEL 5.5 2.6.18-194.3.1.el5.
>
> Mark Wheeler
> UnitedHealth Group
>
> --
>
> "Excellence. Always. If Not Excellence, What? If Not Excellence Now,
When?"
> Tom Peters, author of "The Little BIG Things"
>
>
>
>
> ----------------------------------------------------------------------
> For LINUX-390 subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO LINUX-390 or
visit
> http://www.marist.edu/htbin/wlvindex?LINUX-390
> ----------------------------------------------------------------------
> For more information on Linux on System z, visit
> http://wiki.linuxvm.org/

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO LINUX-390 or
visit
http://www.marist.edu/htbin/wlvindex?LINUX-390
----------------------------------------------------------------------
For more information on Linux on System z, visit
http://wiki.linuxvm.org/

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390
----------------------------------------------------------------------
For more information on Linux on System z, visit
http://wiki.linuxvm.org/

Reply via email to