<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>