<div dir="ltr">cc' <span class=""><span><a href="mailto:ltp@lists.linux.it">ltp@lists.linux.it</a><br><br></span></span><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Li Wang</b> <span dir="ltr"><<a href="mailto:liwang@redhat.com">liwang@redhat.com</a>></span><br>Date: Wed, Oct 14, 2015 at 2:50 PM<br>Subject: Re: [PATCH v3] mem/hugetlb: shift an empty region to use in hugemmap02.c<br>To: Cyril Hrubis <<a href="mailto:chrubis@suse.cz">chrubis@suse.cz</a>><br><br><div dir="ltr">Hi,<br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Wed, Oct 14, 2015 at 12:40 AM, Cyril Hrubis <span dir="ltr"><<a href="mailto:chrubis@suse.cz" target="_blank">chrubis@suse.cz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi!<br>
<span>>  int main(int ac, char **av)<br>
>  {<br>
> @@ -127,15 +130,29 @@ int main(int ac, char **av)<br>
>                       addrlist[i] = addr;<br>
>               }<br>
><br>
> +             while (range_is_mapped(low_addr, low_addr + 0x1000) == 1) {<br>
<br>
</span>                                                          ^ + map_sz?<br></blockquote><div><br></div></span><div>oops! I just focus on s390x before, it should be map_sz.<br> <br></div><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span><br>
> +                     low_addr = low_addr + 0x10000000;<br>
> +<br>
> +                     if (low_addr < LOW_ADDR)<br>
> +                             tst_brkm(TBROK | TERRNO, cleanup,<br>
> +                                             "no empty region to use");<br>
> +             }<br>
<br>
</span>Well, if we do not call tst_brkm() in the range_is_mapped() function we<br>
should check here that the return value wasn't -1 and exit the test<br>
accordingly...<br></blockquote><div><br></div></span><div>hmm, check the return value here is not good, that would make confused in range_is_mapped() used. I'd like to handle the situation by the function itself.<br></div></div><br>-----<span class=""><br><div><span>int range_is_mapped(unsigned long low, unsigned long high)</span></div></span><div><span>{</span></div><div><span>    FILE *fp;</span></div><div><br></div><div><span>    fp = fopen("/proc/self/maps", "r");</span></div><div><span>    if (fp == NULL)</span></div><div><span>        tst_brkm(TBROK | TERRNO, tst_exit, "Failed to open /proc/self/maps.");</span></div><div><br></div><div><span>    while (!feof(fp)) {</span></div><span class=""><div><span>        unsigned long start, end;</span></div><div><span>        int ret;</span></div><div><br></div></span><div><span>        ret = fscanf(fp, "%lx-%lx %*[^\n]\n", &start, &end);</span></div><div><span>        if (ret != 2) {</span></div><div><span>            fclose(fp);</span></div><div><span>            tst_brkm(TBROK | TERRNO, tst_exit, "Couldn't parse /proc/self/maps line.");</span></div><span class=""><div><span>        }</span></div><div><br></div><div><span>        if ((start >= low) && (start < high)) {</span></div></span><div><span>            fclose(fp);</span></div><div><span>            return 1;</span></div><span class=""><div><span>        }</span></div><div><span>        if ((end >= low) && (end < high)) {</span></div></span><div><span>            fclose(fp);</span></div><div><span>            return 1;</span></div><div><span>        }</span></div><div><span>    }</span></div><div><br></div><div><span>    fclose(fp);</span></div><div><span>    return 0;</span></div><div><span>}</span></div><div><br><br>any problem?<br></div><span class=""><br clear="all"><br>-- <br><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Regards,<br></div>Li Wang<br></div><div>Email: <a href="mailto:liwang@redhat.com" target="_blank">liwang@redhat.com</a><br></div></div></div></div></div></div>
</span></div></div>
</div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Regards,<br></div>Li Wang<br></div><div>Email: <a href="mailto:liwang@redhat.com" target="_blank">liwang@redhat.com</a><br></div></div></div></div></div></div>
</div>