<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<div>Yes, to be comptibility, I kept both seq_no and syncfile fd in the patch set, you can take a look, which really is simpler and effective way.<br>
<br>
syncfile indeed be a good way to pass fence for user space, which already is proved in Android and is upstreamed.<br>
<br>
Regards,<br>
David Zhou<br>
<br>
<p dir="ltr" style="display:inline"><span style="color:#888888"><span style="font-size:0.81em">发自坚果 Pro</span></span></p>
<style type="text/css">
<!--
* body
        {padding:0 16px 30px!important;
        margin:0!important;
        background-color:#ffffff;
        line-height:1.4;
        word-wrap:break-word;
        word-break:normal}
div
        {word-wrap:break-word;
        word-break:normal}
p
        {word-wrap:break-word;
        word-break:normal;
        text-indent:0pt!important}
span
        {word-wrap:break-word;
        word-break:normal}
a
        {word-wrap:break-word;
        word-break:normal}
td
        {word-wrap:break-word;
        word-break:break-all}
-->
</style>
<div class="x_quote">
<div style="margin:0 0px; font-size:105%"><font color="#629140" style="line-height:1.4"><span>Marek Ol?醟 <maraeo@gmail.com> 于 2017年9月13日 下午8:06写道:</span></font></div>
<br type="attribution">
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">On Wed, Sep 13, 2017 at 1:32 PM, Zhou, David(ChunMing)<br>
<David1.Zhou@amd.com> wrote:<br>
> Could you describe how difficult to directly use CS syncfile fd in Mesa<br>
> compared with concerting CS seq to syncfile fd via several syncobj ioctls?<br>
<br>
It just simplifies things. Mesa primarily uses seq_no-based fences and<br>
will continue to use them. We can't remove the seq_no fence code<br>
because we have to keep Mesa compatible with older kernels.<br>
<br>
The only possibilities are:<br>
- Mesa gets both seq_no and sync_file from CS.<br>
- Mesa only gets seq_no from CS.<br>
<br>
I decided to take the simpler option. I don't know if there is a perf<br>
difference between CS returning a sync_file and using a separate<br>
ioctl, but it's probably insignificant since we already call 3 ioctls<br>
per IB submission (BO list create+destroy, submit).<br>
<br>
Marek<br>
<br>
><br>
> Regards,<br>
> David Zhou<br>
><br>
> 发自坚果 Pro<br>
><br>
> Marek Ol?醟 <maraeo@gmail.com> 于 2017年9月13日 下午6:11写道:<br>
><br>
> On Wed, Sep 13, 2017 at 5:03 AM, zhoucm1 <david1.zhou@amd.com> wrote:<br>
>> Hi Marek,<br>
>><br>
>> You're doing same things with me, see my "introduce syncfile as fence<br>
>> reuturn" patch set, which makes things more simple, we just need to<br>
>> directly<br>
>> return syncfile fd to UMD when CS, then the fence UMD get will be always<br>
>> syncfile fd, UMD don't need to construct ip_type/ip_instance/ctx_id/ring<br>
>> any<br>
>> more, which also can pass to dependency and syncobj as well.<br>
><br>
> For simpler Mesa code, Mesa won't get a sync file from the CS ioctl.<br>
><br>
> Marek<br>
</div>
</span></font>
</body>
</html>