<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: i.MX53 Code Alignment and Execution Speed, explanation? in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289584#M34819</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Tom,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also noticed that only adding .align 4 prior to __loop delay works fine:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;diff --git a/arch/arm/lib/delay-loop.S b/arch/arm/lib/delay-loop.S&lt;/P&gt;&lt;P&gt;index 36b668d..756337a 100644&lt;/P&gt;&lt;P&gt;--- a/arch/arm/lib/delay-loop.S&lt;/P&gt;&lt;P&gt;+++ b/arch/arm/lib/delay-loop.S&lt;/P&gt;&lt;P&gt;@@ -41,6 +41,7 @@ ENTRY(__loop_const_udelay)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @ 0 &amp;lt;= r0 &amp;lt;= 0x7fffff06&lt;/P&gt;&lt;P&gt;&amp;nbsp; * loops = r0 * HZ * loops_per_jiffy / 1000000&lt;/P&gt;&lt;P&gt;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .align 4&lt;/P&gt;&lt;P&gt; @ Delay routine&lt;/P&gt;&lt;P&gt; ENTRY(__loop_delay)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, #1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does this also work well for you?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 21 Nov 2013 15:06:25 GMT</pubDate>
    <dc:creator>fabio_estevam</dc:creator>
    <dc:date>2013-11-21T15:06:25Z</dc:date>
    <item>
      <title>i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289578#M34813</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We're running Linux on an i.MX53 board where the CPU is running at 800MHz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With some kernels this reports in the Linux startup:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;Calibrating delay loop... 531.66 BogoMIPS (lpj=2658304)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P&gt;With other ones it reports:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After hours I managed to track down the difference. The BogoMIPS are calculated from the execution time of a "__delay()" function in arch/arm/lib/delay.S, which looks like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;c01415e8 &amp;lt;__delay&amp;gt;:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;c01415e8:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e2500001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, #1&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;c01415ec:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8afffffd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bhi&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c01415fc &amp;lt;__delay&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;c01415f0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e1a0f00e&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pc, lr&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P&gt;The above version of that function runs at "800 BogoMIPS", which means it is executing the "subs" and the "bhi" in the same clock cycle and managing one loop per clock. Impressive!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the code is instead located one 32-bit word higher or lower in memory (so starting at &lt;SPAN style="font-family: courier new,courier;"&gt;c01415e4&lt;/SPAN&gt;), it now runs at "533 BogoMIPS" which means it is taking 3 clocks to run the loop twice. Something is preventing full-speed execution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is lots of information in the ARM CPU manuals detailing instruction timing, and when things can and can't be double-issued, but there's nothing that I can see that explains different execution speed for different four-byte alignment of the instructions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anyone know of a reference in the manuals that explains this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is measuring "Bogus MIPS", and it normally shouldn't matter, but we're passing the "lpj" (Loops per Jiffy) on the kernel command line to make it boot faster, and so we have to have this the same every time we build a kernel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Nov 2013 03:58:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289578#M34813</guid>
      <dc:creator>TomE</dc:creator>
      <dc:date>2013-11-20T03:58:50Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289579#M34814</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tom,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tested this on a mx53qsb running at 1GHz with kernel 3.12 and I got:&lt;/P&gt;&lt;P&gt;Calibrating delay loop... 663.55 BogoMIPS (lpj=3317760)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I get almost 1000 BogoMIPS with 2.6.35 though.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;It would be nice if you could post your results at &lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:linux-arm-kernel@lists.infradead.org"&gt;linux-arm-kernel@lists.infradead.org&lt;/A&gt;&lt;SPAN&gt; so that people could comment on this behavior.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Nov 2013 19:49:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289579#M34814</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2013-11-20T19:49:35Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289580#M34815</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The speed is a result of the "random" result of everything that goes into a build. Sometimes the two instructions end in the same 64-bit word and sometimes they don't. I'm guessing there must be a 64-bit pathin the instruction fetch logic somewhere that is acting as a bottleneck.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had to add an "align" directive to arch/arm/lib/delay.S to fix the alignment for our builds. You had two kernels behaving in the two ways. I have 14 kernel builds that run "slow" and two that run "fast".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; It would be nice if you could post your results at&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't have an account there.I see you post there a lot, so please feel free to post this observation/question on my behalf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Someone else spotted this problem here, didn't know why it was happening and didn't get any responses:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="external" href="http://thread.gmane.org/gmane.linux.ports.arm.kernel/61420"&gt;http://thread.gmane.org/gmane.linux.ports.arm.kernel/61420&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There's a huge thread here with 80 posts worrying about the "#if 0" code in delay.S on whether to remove, comment or make it a configuration item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://thread.gmane.org/gmane.linux.kernel/888845/focus=888867" title="http://thread.gmane.org/gmane.linux.kernel/888845/focus=888867"&gt;Gmane Loom&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2013 01:52:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289580#M34815</guid>
      <dc:creator>TomE</dc:creator>
      <dc:date>2013-11-21T01:52:33Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289581#M34816</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Tom,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you please show me the exact location where you added the .align directive?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to try it here as well. It looks interesting :smileywink:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2013 02:15:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289581#M34816</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2013-11-21T02:15:44Z</dc:date>
    </item>
    <item>
      <title>Re: Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289582#M34817</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt; Can you please show me the exact location where you added the .align directive?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code is in arch/arm/lib/delay.S.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Between Kernel 3.5 and 3.6 this file was renamed to "delay-loop.S", so if you're using a new kernel you'll have to look at that file, and make sure the build is using that one and not "delay.c" and not replacing it with a timer-based one.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The function "__udelay()" falls into "__delay()" so you can't directly align the __delay() function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I added an "align" directive as shown below. With this code that results in "__delay()" being on an ODD 4-byte boundary and it runs slow. Adding a single "nop" just before "__delay()" changes it to the "fast" behaviour.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro _jivemacro_uid_13850103906237744 jive_macro_code" jivemacro_uid="_13850103906237744"&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;/*&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;*&amp;nbsp; linux/arch/arm/lib/delay.S&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;*&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;*&amp;nbsp; Copyright (C) 1995, 1996 Russell King&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;*&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;* This program is free software; you can redistribute it and/or modify&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;* it under the terms of the GNU General Public License version 2 as&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;* published by the Free Software Foundation.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;*/&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;#include &amp;lt;linux/linkage.h&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;#include &amp;lt;asm/assembler.h&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;#include &amp;lt;asm/param.h&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .text&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;.align 5&amp;nbsp; /* __delay() 2/3 speed on odd-32-bit alignment */&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;.LC0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .word&amp;nbsp; loops_per_jiffy&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;.LC1:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .word&amp;nbsp; (2199023*HZ)&amp;gt;&amp;gt;11&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;/*&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;* r0&amp;nbsp; &amp;lt;= 2000&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;* lpj &amp;lt;= 0x01ffffff (max. 3355 bogomips)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;* HZ&amp;nbsp; &amp;lt;= 1000&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;*/&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;ENTRY(__udelay)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, .LC1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mul&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r2, r0&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;ENTRY(__const_udelay)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @ 0 &amp;lt;= r0 &amp;lt;= 0x7fffff06&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; r1, #-1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, .LC0&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, [r2]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @ max = 0x01ffffff&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, r1, lsr #32-14&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, lsr #14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @ max = 0x0001ffff&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, r2, r1, lsr #32-10&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, r2, lsr #10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @ max = 0x00007fff&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mul&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r2, r0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @ max = 2^32-1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, r1, lsr #32-6&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, lsr #6&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; moveq&amp;nbsp; pc, lr&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;/*&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;* loops = r0 * HZ * loops_per_jiffy / 1000000&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;*&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;* Oh, if only we had a cycle counter...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;*/&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;STRONG&gt;/* Add one or more nops in here to change the code alignment of __delay() */&lt;/STRONG&gt;
&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;@ Delay routine&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;ENTRY(__delay)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, #1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;#if 0&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movls&amp;nbsp; pc, lr&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, #1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movls&amp;nbsp; pc, lr&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, #1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movls&amp;nbsp; pc, lr&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, #1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movls&amp;nbsp; pc, lr&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, #1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movls&amp;nbsp; pc, lr&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, #1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movls&amp;nbsp; pc, lr&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, #1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movls&amp;nbsp; pc, lr&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, #1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;#endif&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bhi&amp;nbsp;&amp;nbsp;&amp;nbsp; __delay&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; pc, lr&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;ENDPROC(__udelay)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;ENDPROC(__const_udelay)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;ENDPROC(__delay)&lt;/SPAN&gt;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I got rid of the "#if, #endif"&amp;nbsp; above and it got 1273 BogoMIPs at 800MHz. From the news posts mentioned previously, this was apparently for old and slow ARM CPUs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2013 05:04:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289582#M34817</guid>
      <dc:creator>TomE</dc:creator>
      <dc:date>2013-11-21T05:04:20Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289583#M34818</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tom,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tested your suggestion here and now I get 996 BogoMIPS for mx53 running at 1GHz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why the '.align 5' instead of '.align 4'? On my tests if I only put the 'nop' I get the faster behaviour. Also tested 'align 4' and got the same faster result.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You don't need to have any special account to post to the ARM kernel list. Just plain text email would suffice.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also tested on a mx6q (CortexA9) and the reported BogoMIPS did not change.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Of course I could post this there, but I think you are in much better initimacy with this piece of code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just post a RFC patch based on 3.12, so that people can comment. It is important if we can really close this issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2013 12:36:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289583#M34818</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2013-11-21T12:36:39Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289584#M34819</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Tom,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also noticed that only adding .align 4 prior to __loop delay works fine:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;diff --git a/arch/arm/lib/delay-loop.S b/arch/arm/lib/delay-loop.S&lt;/P&gt;&lt;P&gt;index 36b668d..756337a 100644&lt;/P&gt;&lt;P&gt;--- a/arch/arm/lib/delay-loop.S&lt;/P&gt;&lt;P&gt;+++ b/arch/arm/lib/delay-loop.S&lt;/P&gt;&lt;P&gt;@@ -41,6 +41,7 @@ ENTRY(__loop_const_udelay)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @ 0 &amp;lt;= r0 &amp;lt;= 0x7fffff06&lt;/P&gt;&lt;P&gt;&amp;nbsp; * loops = r0 * HZ * loops_per_jiffy / 1000000&lt;/P&gt;&lt;P&gt;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .align 4&lt;/P&gt;&lt;P&gt; @ Delay routine&lt;/P&gt;&lt;P&gt; ENTRY(__loop_delay)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, #1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does this also work well for you?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2013 15:06:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289584#M34819</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2013-11-21T15:06:25Z</dc:date>
    </item>
    <item>
      <title>Re: Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289585#M34820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What BogoMIPS values are you getting, and which CPU are you running the tests on? Are you getting the same results I'm getting?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; Also noticed that only adding .align 4 prior to __loop delay works fine:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That requires the linker to pad code sections with NOP instructions. I wasn't sure it would do that, and still can't find any documentation stating what the default fill is (or if and where it is overridden anywhere in the Linux Kernel build system), so I used a simple approach that I knew would work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Testing it the way you did it shows that code sections are padded with NOPs, so that is a better approach. The following is the output of "arm-cortexa8-linux-gnueabi-objdump -S vmlinux | less" and then searching for "__delay":&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro _jivemacro_uid_1385075583817109 jive_macro_code" jivemacro_uid="_1385075583817109" modifiedtitle="true"&gt;
&lt;P&gt;c014425c &amp;lt;__udelay&amp;gt;:&lt;/P&gt;
&lt;P&gt;c014425c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e51f200c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, [pc, #-12]&amp;nbsp; ; c0144258 &amp;lt;PRRR+0xc109c0b0&amp;gt;&lt;/P&gt;
&lt;P&gt;c0144260:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e0000092&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mul&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r2, r0&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;c0144264 &amp;lt;__const_udelay&amp;gt;:&lt;/P&gt;
&lt;P&gt;c0144264:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e3e01000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mvn&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r1, #0&lt;/P&gt;
&lt;P&gt;c0144268:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e51f201c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, [pc, #-28]&amp;nbsp; ; c0144254 &amp;lt;PRRR+0xc109c0ac&amp;gt;&lt;/P&gt;
&lt;P&gt;c014426c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e5922000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, [r2]&lt;/P&gt;
&lt;P&gt;c0144270:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e0800921&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, r1, lsr #18&lt;/P&gt;
&lt;P&gt;c0144274:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e1a00720&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lsr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, #14&lt;/P&gt;
&lt;P&gt;c0144278:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e0822b21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, r2, r1, lsr #22&lt;/P&gt;
&lt;P&gt;c014427c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e1a02522&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lsr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, r2, #10&lt;/P&gt;
&lt;P&gt;c0144280:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e0000092&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mul&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r2, r0&lt;/P&gt;
&lt;P&gt;c0144284:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e0800d21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, r1, lsr #26&lt;/P&gt;
&lt;P&gt;c0144288:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e1b00320&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lsrs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, #6&lt;/P&gt;
&lt;P&gt;c014428c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01a0f00e&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; moveq&amp;nbsp;&amp;nbsp; pc, lr&lt;/P&gt;
&lt;P&gt;c0144290:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e320f000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0}&lt;/P&gt;
&lt;P&gt;c0144294:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e320f000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0}&lt;/P&gt;
&lt;P&gt;c0144298:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e320f000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0}&lt;/P&gt;
&lt;P&gt;c014429c:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e320f000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;c01442a0 &amp;lt;__delay&amp;gt;:&lt;/P&gt;
&lt;P&gt;c01442a0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e2500001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, r0, #1&lt;/P&gt;
&lt;P&gt;c01442a4:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8afffffd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bhi&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c01442a0 &amp;lt;__delay&amp;gt;&lt;/P&gt;
&lt;P&gt;c01442a8:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e1a0f00e&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pc, lr&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2013 23:15:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289585#M34820</guid>
      <dc:creator>TomE</dc:creator>
      <dc:date>2013-11-21T23:15:57Z</dc:date>
    </item>
    <item>
      <title>Re: Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289586#M34821</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Tom,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tested on mx51 and mx53 and I get the same results that you reported. Running mx53 at 1GHz just scales linearly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to send a RFC patch to the ARM list and would like to know if I can add your Reported-by flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you are OK with that I will contact you offline so that you provide me your email address.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2013 23:25:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289586#M34821</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2013-11-21T23:25:46Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289587#M34822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt; I would like to send a RFC patch to the ARM list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And you have. Thanks for doing that. Going back a bit...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; Why the '.align 5' instead of '.align 4'?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was also testing larger alignments (8 bytes, 16 bytes, 32 bytes) to see if that made any difference. That code was also ending up near/over a cache-line boundary and I wanted to avoid that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would you believe I need guaranteed "pessimal" behavior? I need that code to always run in the slow mode as we've shipped lots of devices with a hardcoded "lpj=nnnn" on the Kernel Command Line that is stored in the Redboot Bootstrap configuration. We can upgrade the Apps and the Kernel in the field, but we can't change that command line. Why did we override this? To make it boot faster. All of 60ms faster.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; Just post a RFC patch based on 3.12,...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unlikely to affect us or any of your customers, as Freescale is using 2.6 for i.MX53 and 3.0 for i.MX6. We're using code based off 3.4. This change is unlikely to get backported.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 23 Nov 2013 03:23:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289587#M34822</guid>
      <dc:creator>TomE</dc:creator>
      <dc:date>2013-11-23T03:23:49Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289588#M34823</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I wrote:&lt;/P&gt;&lt;P&gt;&amp;gt; Fabio wrote:&lt;/P&gt;&lt;P&gt;&amp;gt; &amp;gt; I would like to send a RFC patch to the ARM list&lt;/P&gt;&lt;P&gt;&amp;gt; And you have. Thanks for doing that. Going back a bit..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;No takers. it looks like the post hasn't got any responses.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So it is still a mystery as to why the CPU does this and whether it has any other implications.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Nov 2013 12:22:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289588#M34823</guid>
      <dc:creator>TomE</dc:creator>
      <dc:date>2013-11-26T12:22:02Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289589#M34824</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is normal. We should allow more time for people to comment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If no comment is given after a week, then I will ping.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Nov 2013 12:26:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289589#M34824</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2013-11-26T12:26:04Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289590#M34825</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tom,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good news. please check: &lt;A href="http://marc.info/?l=linux-arm-kernel&amp;amp;m=138581227811109&amp;amp;w=2" title="http://marc.info/?l=linux-arm-kernel&amp;amp;m=138581227811109&amp;amp;w=2"&gt;'Re: [RFC] ARM: lib: delay-loop: Add align directive to fix BogoMIPS calculation' - MARC&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Russell is happy with the patch and I will submit it to his patch system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would it be possible for you to run the benchmark that Russell suggested?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 30 Nov 2013 13:17:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289590#M34825</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2013-11-30T13:17:36Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289591#M34826</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt; Would it be possible for you to run the benchmark that Russell suggested?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not easily. I'd have to compile from source as we're not running a standard "Package" system. It could take days to get it running.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hackbench is a VERY high level system benchmark. We have found a looped pair of instructions where the CPU execution speed depends on alignment. The alignment of instruction pairs within function are effectively "random", so for every pair that might get faster with that compiler alignment I'd expect the other 50% (aligned the other way) would get slower and cancel out in the benchmark results. The code size increase of that extra alignment would also make the code slower due to cache issues, so I'd expect hackbench to slow slightly slower results with this change.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We know from our testing what this alignment does to the BogoMIPS. We don't know why the ARM CPU is doing this. It is probably so esoteric and artificial (a two instruction loop can't do any useful work really) that it doesn't affect anything except this very public BogoMIPS value. So perhaps "interesting but not really important".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 01 Dec 2013 00:22:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289591#M34826</guid>
      <dc:creator>TomE</dc:creator>
      <dc:date>2013-12-01T00:22:35Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289592#M34827</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;P&gt;Had your issue got resolved? If yes, we are going to close the discussion in 3 days. If you still need help please feel free to contact Freescale.&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Yixing&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Feb 2014 06:36:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289592#M34827</guid>
      <dc:creator>YixingKong</dc:creator>
      <dc:date>2014-02-19T06:36:09Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX53 Code Alignment and Execution Speed, explanation?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289593#M34828</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yixing,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have sent a fix for this, which already hit the mainline kernel:&lt;/P&gt;&lt;P&gt;&lt;A href="https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/arch/arm/lib/delay-loop.S?id=11d4bb1bd067f9d01d18f620ccfad516dc579593" title="https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/arch/arm/lib/delay-loop.S?id=11d4bb1bd067f9d01d18f620ccfad516dc579593"&gt;https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/arch/arm/lib/delay-loop.S?id=11d4bb1bd067f9d…&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Feb 2014 11:41:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX53-Code-Alignment-and-Execution-Speed-explanation/m-p/289593#M34828</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2014-02-19T11:41:11Z</dc:date>
    </item>
  </channel>
</rss>

