<div dir="ltr"><div class="gmail_extra"><br><br><div class="gmail_quote">On 7 April 2014 17:46, aayush agrawal <span dir="ltr"><<a href="mailto:aayush.agrawal@calsoftinc.com" target="_blank">aayush.agrawal@calsoftinc.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>Hi,<br>
      <br>
      Following are few questions which still remain unanswered:<br>
      <br>
      <ol>
        <li>I am seeing that zero copy patch existed in lustre-2.1.2, In
          lustre/kernel-patches/patches directory for rhel5. But it has
          been removed in latest lustre 2.5.0. Is there any specific
          reason to remove it?</li></ol></div></div></blockquote>Little searching gave me this - <a href="https://jira.hpdd.intel.com/browse/LU-535">https://jira.hpdd.intel.com/browse/LU-535</a> / <a href="http://review.whamcloud.com/#/c/1142/">http://review.whamcloud.com/#/c/1142/</a> . <div>
<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
<div><ol>
        <li>If I am correct this code gets invoked from following
          location from obdfilter(correct me if I am wrong):</li>
        <ol>
          <li>lustre/obdfilter/filter_io_26.c line
            no:367                                                                                                                                                                  
  &
nbsp;                                                                                                                                                                    &
 nbsp;&nb
sp;                                      
            <snip><br>
          </li>
        </ol>
      </ol>
      <p>                        /* I only set the page to be constant
        only if it<br>
                                 * is mapped to a contiguous underlying
        disk block(s).<br>
                                 * It will then make sure the
        corresponding device<br>
                                 * cache of raid5 will be overwritten by
        this page.<br>
                                 * - jay */<br>
                                if ((rw == OBD_BRW_WRITE) &&<br>
                                    (nblocks == blocks_per_page)
        &&<br>
                                   
        mapping_cap_page_constant_write(inode->i_mapping))<br>
                                       SetPageConstant(page);<br>
                            <br>
                            </snip><br>
      </p>
      <ol>
        <li>I want to use this zero copy patch in latest lustre
          2.5.0(With kernel <font face="Times New Roman, serif"><font size="3">linux-2.6.32-358.18.1.el6</font></font>). I could
          port patch to this latest kernel. But it looks like obdfilter
          module has been replaced in latest kernel which used to invoke
          zero copy changes as mentioned in point 2. I think its ofd
          module with which it got replaced(??). So latest lustre is not
          able to invoke zero copy changes(for eg: setting/clearing
          PG_constant etc.). Is there any different patch available for
          invoking these zero copy changes?</li>
        <li>Can you also suggest which newly added module in
          lustre-2.5.0 would require these changes?</li>
      </ol>
      <br>
      Thanks,<br>
      Aayush<div class=""><br>
      <br>
      On 4/7/2014 4:50 PM, aayush agrawal wrote:<br>
    </div></div><div class="">
    <blockquote type="cite">
      
      <div>Hi,<br>
        <br>
        I got both the errors resolved. Looks like there was some issue
        with my lustre build process itself.<br>
        So I think along with raid5-zerocopy-rhel6.patch,
        raid5-stats-rhel6.patch was the only additional patch required.<br>
        <br>
        Thanks,<br>
        Aayush<br>
        <br>
        On 3/24/2014 8:40 PM, aayush agrawal wrote:<br>
      </div>
      <blockquote type="cite">
        
        Hi,<br>
        <br>
        I wanted to apply zero copy patch on rhel6 so I followed below
        steps:<br>
        <br>
        <ol>
          <li>Downloaded <font face="Times New Roman, serif"><font size="3">lustre-2.1.2 and corresponding kernel rpm</font></font><font face="Times New Roman, serif"><font size="3">(linux-2.6.32-220.17.1.el6</font></font>).


            The OS I am using is CentOS 6.4.</li>
          <li>Applied kernel patches from lustre source code to kernel.</li>
          <li>Downloaded a zero copy patch for rhel6 from: <a href="https://github.com/Xyratex/lustre-stable/blob/b_neo_1.4.0/lustre/kernel_patches/patches/raid5-zerocopy-rhel6.patch" target="_blank">https://github.com/Xyratex/lustre-stable/blob/b_neo_1.4.0/lustre/kernel_patches/patches/raid5-zerocopy-rhel6.patch</a></li>

          <li>Applied this patch to above kernel.</li>
          <li><font face="Times New Roman, serif"><font size="3">Then I
                tried to compile this kernel </font></font> but it gives
            undefined symbol errors for writes_zcopy and PageConstant.</li>
          <ol>
            <li>For writes_zcopy I found another patch on the same git
              hub link: <a href="https://github.com/Xyratex/lustre-stable/blob/b_neo_1.4.0/lustre/kernel_patches/patches/raid5-stats-rhel6.patch" target="_blank">https://github.com/Xyratex/lustre-stable/blob/b_neo_1.4.0/lustre/kernel_patches/patches/raid5-stats-rhel6.patch</a>.</li>

            <li>For PageConstant I couldn't find any patch to rectify
              this error. Even I do not see usage of
              PG_Constant/SetPageConstant etc. in
              raid5-zerocopy-rhel6.patch which I think is essential. <br>
            </li>
          </ol>
          <li>So my questions are:</li>
          <ol>
            <li>I think few patches are missing here. As mentioned above
              one of them would be raid5-stats-rhel6.patch please
              confirm.</li>
            <li>if confirmed, still there has to be at least one patch
              missing (to include PageConstant use). Are there any other
              patches to be applied before I apply
              raid5-stats-rhel6.patch and raid5-zerocopy-rhel6.patch.</li>
            <li>I am seeing that this zero copy patch existed in
              lustre-2.1.2, In lustre/kernel-patches/patches directory
              for rhel5. But it has been removed in latest lustre 2.5.0.
              Is there any specific reason to remove it.</li>
          </ol>
        </ol>
        <p>Thanks,<br>
          Aayush<br>
        </p>
        <br>
        <br>
        <br>
        <br>
        <br>
           
        
        
        <br>
         <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </div></div>

<br>_______________________________________________<br>
Lustre-discuss mailing list<br>
<a href="mailto:Lustre-discuss@lists.lustre.org">Lustre-discuss@lists.lustre.org</a><br>
<a href="http://lists.lustre.org/mailman/listinfo/lustre-discuss" target="_blank">http://lists.lustre.org/mailman/listinfo/lustre-discuss</a><br>
<br></blockquote></div><br></div></div>