I spent the day playing with this on the Intel Atom D2700MUD.  I rebuilt the 
system using the rtos-integration-preview3-merged-into-master
branch.  I rebuilt it for another reason (stupid graphics fubar) and figured I 
would try this branch for the heck of it.

Neither no-halt nor idle=poll had any effect (good or bad) on the system as far 
as I could tell in the short testing intervals I did today (5 minutes or so 
generally).   I played with Hyperthreading, which definitely needs to stay off 
on my system, and isolcpus which helps latency some (I think) but really makes 
the machine slow for doing anything else other than Linuxcnc - but that's the 
point isn't it?   In general I am seeing between 15,000-22,000 but I will let 
the machine run over night or a weekend soon for more concrete numbers.

If I run update-grub, whether I have made a change to grub or not, the number 
shoots up to over 170,000.  Obviously this isn't something one would do while 
using Linuxcnc, like Kent's messing in the /proc area, and shows you should 
keep your mitts out of where they don't belong.  :-)

Tom

On Feb 13, 2013, at 2:29 PM, sam sokolik <sa...@empirescreen.com> wrote:

> For this system (amd) the only thing that seems to make a difference is 
> the idle=poll (no-halt seems to have no effect)
> 
> I go from 200+us latency to 7us top.
> 
> sam
> 
> On 2/13/2013 11:29 AM, Michael Haberler wrote:
>> for reference - from 
>> http://www.kernel.org/doc/Documentation/kernel-parameters.txt
>> 
>>      nohlt           [BUGS=ARM,SH] Tells the kernel that the sleep(SH) or
>>                      wfi(ARM) instruction doesn't work correctly and not to
>>                      use it. This is also useful when using JTAG debugger.
>> 
>>      no-hlt          [BUGS=X86-32] Tells the kernel that the hlt
>>                      instruction doesn't work correctly and not to
>>                      use it.
>> 
>>       idle=           [X86]
>>                         Format: idle=poll, idle=mwait, idle=halt, 
>> idle=nomwait
>>                         Poll forces a polling idle loop that can slightly
>>                         improve the performance of waking up a idle CPU, but
>>                         will use a lot of power and make the system run hot.
>>                         Not recommended.
>>                         idle=mwait: On systems which support MONITOR/MWAIT 
>> but
>>                         the kernel chose to not use it because it doesn't 
>> save
>>                         as much power as a normal idle loop, use the
>>                         MONITOR/MWAIT idle loop anyways. Performance should 
>> be
>>                         the same as idle=poll.
>>                         idle=halt: Halt is forced to be used for CPU idle.
>>                         In such case C2/C3 won't be used again.
>>                         idle=nomwait: Disable mwait for CPU C-states
>> 
>> it seems from the above for x86 the combination would be
>> 
>>   no-hlt idle=poll
>> 
>> as for an ARM, it would be
>> 
>>   nohlt idle=poll
>> 
>> 
>> It would be value to explore the arguments to idle= a bit more on 'laggy' 
>> x86 platforms, in particular the combinations:
>> 
>>   no-hlt idle=mwait
>>   no-hlt idle=nomwait
>> 
>> assuming the combination 'no-hlt idle=halt' is contradictory
>> 
>> on ARM's, only 'nohlt' makes sense assuming the documentation is correct
>> 
>> 
>> ---
>> 
>> It seems to be about power saving modes
>> 
>> an overview of CPU C* states is here: 
>> http://www.hardwaresecrets.com/article/611
>> 
>> 
>> - Michael
>> ------------------------------------------------------------------------------
>> Free Next-Gen Firewall Hardware Offer
>> Buy your Sophos next-gen firewall before the end March 2013
>> and get the hardware for free! Learn more.
>> http://p.sf.net/sfu/sophos-d2d-feb
>> _______________________________________________
>> Emc-developers mailing list
>> Emc-developers@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/emc-developers
>> 
>> 
> 
> 
> ------------------------------------------------------------------------------
> Free Next-Gen Firewall Hardware Offer
> Buy your Sophos next-gen firewall before the end March 2013 
> and get the hardware for free! Learn more.
> http://p.sf.net/sfu/sophos-d2d-feb
> _______________________________________________
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers


------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to