<div>Dear all,</div>
<div> </div>
<div>I will change the naming conventions and symbolic names once perfcounter for ARM is supported.</div>
<div>I want to do intermediate releases for review in mean time</div>
<div> </div>
<div>1. I am able to support page faults in ARM with the attached patch along with application.( this is for linux-2.6.29 kernel)</div>
<div> </div>
<div>-bash-3.2# ./perf  stat ./array<br> <br> Performance counter stats for &#39;./array&#39;:<br> <br>    2005.297192  task-clock-msecs         #      0.998 CPUs <br>              7  context-switches         #      0.000 M/sec<br>
              0  CPU-migrations           #      0.000 M/sec<br>             76  page-faults              #      0.000 M/sec<br>  &lt;not counted&gt;  cycles                  <br>  &lt;not counted&gt;  instructions            <br>
  &lt;not counted&gt;  cache-references        <br>  &lt;not counted&gt;  cache-misses            <br> <br>    2.009101297  seconds time elapsed</div>
<div> </div>
<div> </div>
<div>Please look at it and give your review comments.</div>
<div> </div>
<div>Regards,</div>
<div>Koteswararao.</div>
<p> </p>
<p><br><br> </p>
<div><span class="gmail_quote">On 9/30/09, <b class="gmail_sendername">nelakurthi koteswararao</b> &lt;<a href="mailto:koteswararao18@gmail.com">koteswararao18@gmail.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>Dear Frederic ,</div><span class="q">
<div> </div>
<div>&gt; There have been a big rename recently.<br>&gt; perf counters has become perf events. This renaming has been propagated<br>&gt; everywhere: filenames, symbol names, etc...</div>
<div> </div></span>
<div>I will change the names and symbols once i supported successfully perfcounters for ARM.</div><span class="q">
<div><br>&gt;I guess that for now you should base your patches against latest<br>&gt;linus tree (2.6.32-rc1)</div>
<div> </div></span>
<div>Right now , i am trying to support perfcounter for 2.6.29 but not 2.6.32</div><span class="q">
<div> </div>
<div>&gt;Doesn&#39;t this file already exist?<br>&gt;Oh btw, another stage of the perf arm integration would<br>&gt;be the atomic 64 ARM implementation, to optimize it.</div>
<div> </div></span>
<div>That&#39;s why i added atomic64.h and atomic64.c files as they are not present in my 2.6.29 version</div><span class="q">
<div> </div>
<div>&gt; Once you have fixed this patch, please don&#39;t forget to cc<br>&gt; the perf maintainers and LKML. And also Russell King.</div>
<div> </div></span>
<div>I will post mails during the implementation of perfcounters for ARM . this mail i am not sending to all mail ids.</div>
<div> </div>
<div>Regards,</div>
<div>koteswararao.<br><br><br><br> </div>
<div><span class="q"><span class="gmail_quote">On 9/29/09, <b class="gmail_sendername">Frederic Weisbecker</b> &lt;<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:fweisbec@gmail.com" target="_blank">fweisbec@gmail.com</a>&gt; wrote:</span> </span>
<div><span class="e" id="q_124098ce84df4e45_10">
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">On Tue, Sep 29, 2009 at 04:15:47PM +0530, nelakurthi koteswararao wrote:<br>&gt; ---<br>&gt;  arch/arm/Kconfig                    |    2   2 +     0 -     0 !<br>
&gt;  arch/arm/include/asm/atomic.h       |  253   253 +   0 -     0 !<br>&gt;  arch/arm/include/asm/perf_counter.h |   11   11 +    0 -     0 !<br><br><br>There have been a big rename recently.<br>perf counters has become perf events. This renaming has been propagated<br>
everywhere: filenames, symbol names, etc...<br><br>Could you please update your patch to integrate this change?<br><br>I don&#39;t know exactly where your patches should go.<br>It could be -tip (<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://people.redhat.com/mingo/tip.git/README" target="_blank">http://people.redhat.com/mingo/tip.git/README</a>)<br>
where you can find the latest perf event core, tools and x86 changes.<br>But that could be also the ARM tree.<br><br>I guess that for now you should base your patches against latest<br>linus tree (2.6.32-rc1)<br><br>(More comments below.)<br>
<br><br>&gt; +static inline void set_perf_counter_pending(void) {<br>&gt; +     //do {<br>&gt; +     //} while(0);<br>&gt; +}<br>&gt; +<br><br><br>Please remove these comments.<br>You can just do:<br><br>       static inline void set_perf_counter_pending(void) { }<br>
<br>until you need to implement it in further patches.<br><br>Also the standard way to put comments is to do:<br><br>/* blah */<br><br>You should scripts/checkpatch.pl on your patches, it will warn<br>you about such static coding standard issues...<br>
<br>But also look at Documentation/SubmittingPatches<br><br><br><br>&gt; +#endif /* _ASM_ARM_PERF_COUNTER_H */<br>&gt; Index: b/arch/arm/include/asm/atomic.h<br>&gt; ===================================================================<br>
&gt; --- a/arch/arm/include/asm/atomic.h<br>&gt; +++ b/arch/arm/include/asm/atomic.h<br>&gt; @@ -225,6 +225,7 @@ static inline int atomic_add_unless(atom<br>&gt;  #define smp_mb__before_atomic_inc()  barrier()<br>&gt;  #define smp_mb__after_atomic_inc()   barrier()<br>
&gt;<br>&gt; +#include &lt;asm-generic/atomic64.h&gt;<br>&gt;  #include &lt;asm-generic/atomic.h&gt;<br>&gt;  #endif<br>&gt;  #endif<br>&gt; Index: b/include/asm-generic/atomic64.h<br>&gt; ===================================================================<br>
&gt; --- /dev/null<br>&gt; +++ b/include/asm-generic/atomic64.h<br><br><br>Doesn&#39;t this file already exist?<br><br>Oh btw, another stage of the perf arm integration would<br>be the atomic 64 ARM implementation, to optimize it.<br>
<br><br>&gt; ===================================================================<br>&gt; --- /dev/null<br>&gt; +++ b/lib/atomic64.c<br><br><br>Same for this one, it already exists, and same for what follows<br>after.<br><br>
Once you have fixed this patch, please don&#39;t forget to cc<br>the perf maintainers and LKML. And also Russell King.<br><br>Thanks!<br><br></blockquote></span></div></div><br></blockquote></div><br>