<!DOCTYPE html><html data-lt-installed="true"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="padding-bottom: 1px;">
<p><br>
</p>
<div class="moz-cite-prefix">On 5/14/2024 3:47 PM, Konda, SaiKishore
wrote:<br>
</div>
<blockquote type="cite" cite="mid:PH0PR11MB5674E8EF849E5B47A847B70594E32@PH0PR11MB5674.namprd11.prod.outlook.com">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
<style>@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}div.WordSection1
{page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Hi
<a id="OWAAMB3B24BE1CEFA408B8563DFC28E3AA050" href="mailto:himal.prasad.ghimiray@intel.com" moz-do-not-send="true">
<span style="font-family:"Calibri",sans-serif;text-decoration:none">@Ghimiray,
Himal Prasad</span></a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">What
was the conclusion ? Will XE team support this ? Sysman
consumers use single KMD Config and they don’t have
different configs for different use cases.
</span></p>
</div>
</blockquote>
<p>I discussed with Saikishore and He will check with XPUM E2E team
for usages of L0 API which are programming exclusive mode.</p>
<blockquote type="cite" cite="mid:PH0PR11MB5674E8EF849E5B47A847B70594E32@PH0PR11MB5674.namprd11.prod.outlook.com">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">SaiKishore<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Ghimiray, Himal Prasad
<a class="moz-txt-link-rfc2396E" href="mailto:himal.prasad.ghimiray@intel.com"><himal.prasad.ghimiray@intel.com></a>
<br>
<b>Sent:</b> Friday, May 10, 2024 3:14 PM<br>
<b>To:</b> Joonas Lahtinen
<a class="moz-txt-link-rfc2396E" href="mailto:joonas.lahtinen@linux.intel.com"><joonas.lahtinen@linux.intel.com></a>; De Marchi,
Lucas <a class="moz-txt-link-rfc2396E" href="mailto:lucas.demarchi@intel.com"><lucas.demarchi@intel.com></a>; Brost, Matthew
<a class="moz-txt-link-rfc2396E" href="mailto:matthew.brost@intel.com"><matthew.brost@intel.com></a>; Konda, SaiKishore
<a class="moz-txt-link-rfc2396E" href="mailto:saikishore.konda@intel.com"><saikishore.konda@intel.com></a><br>
<b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:intel-xe@lists.freedesktop.org">intel-xe@lists.freedesktop.org</a>; Upadhyay,
Tejas <a class="moz-txt-link-rfc2396E" href="mailto:tejas.upadhyay@intel.com"><tejas.upadhyay@intel.com></a>; Siddiqui, Ayaz A
<a class="moz-txt-link-rfc2396E" href="mailto:ayaz.siddiqui@intel.com"><ayaz.siddiqui@intel.com></a><br>
<b>Subject:</b> Re: [PATCH] drm/xe: Modify minimum of
various scheduler timeout to 0<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div class="MsoNormal" style="text-align:center" align="center">
<hr width="98%" size="2" align="center">
</div>
<div id="divRplyFwdMsg">
<p class="MsoNormal"><b><span style="color:black">From:</span></b><span style="color:black"> Joonas Lahtinen <<a href="mailto:joonas.lahtinen@linux.intel.com" moz-do-not-send="true" class="moz-txt-link-freetext">joonas.lahtinen@linux.intel.com</a>><br>
<b>Sent:</b> Friday, May 10, 2024 2:39:56 PM<br>
<b>To:</b> De Marchi, Lucas <<a href="mailto:lucas.demarchi@intel.com" moz-do-not-send="true" class="moz-txt-link-freetext">lucas.demarchi@intel.com</a>>;
Brost, Matthew <<a href="mailto:matthew.brost@intel.com" moz-do-not-send="true" class="moz-txt-link-freetext">matthew.brost@intel.com</a>><br>
<b>Cc:</b> Ghimiray, Himal Prasad <<a href="mailto:himal.prasad.ghimiray@intel.com" moz-do-not-send="true" class="moz-txt-link-freetext">himal.prasad.ghimiray@intel.com</a>>;
<a href="mailto:intel-xe@lists.freedesktop.org" moz-do-not-send="true" class="moz-txt-link-freetext">intel-xe@lists.freedesktop.org</a>
<<a href="mailto:intel-xe@lists.freedesktop.org" moz-do-not-send="true" class="moz-txt-link-freetext">intel-xe@lists.freedesktop.org</a>>;
Upadhyay, Tejas <<a href="mailto:tejas.upadhyay@intel.com" moz-do-not-send="true" class="moz-txt-link-freetext">tejas.upadhyay@intel.com</a>><br>
<b>Subject:</b> Re: [PATCH] drm/xe: Modify minimum of
various scheduler timeout to 0</span>
<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Quoting Matthew Brost (2024-05-09
19:00:43)<br>
> On Wed, May 08, 2024 at 08:06:52AM -0500, Lucas De
Marchi wrote:<br>
> > On Mon, May 06, 2024 at 07:04:47PM GMT, Himal
Prasad Ghimiray wrote:<br>
> > > Remove the min/max configs and change
minimum values of preemption and<br>
> > > timeslice to 0. The sysman teams must
deactivate preemption and<br>
> > > timeslice to assess exclusivity mode. They
depend on configuring<br>
> > > timeslice_duration_us and
preempt_timeout_us to 0, ensuring these<br>
> > > values are set at their minimum.<br>
> > <br>
> > nack for now, based on this explanation. See
below.<br>
> > <br>
> > > <br>
> > > Cc: Matthew Brost <<a href="mailto:matthew.brost@intel.com" moz-do-not-send="true" class="moz-txt-link-freetext">matthew.brost@intel.com</a>><br>
> > > Cc: Tejas Upadhyay <<a href="mailto:tejas.upadhyay@intel.com" moz-do-not-send="true" class="moz-txt-link-freetext">tejas.upadhyay@intel.com</a>><br>
> > > Cc: Joonas Lahtinen <<a href="mailto:joonas.lahtinen@linux.intel.com" moz-do-not-send="true" class="moz-txt-link-freetext">joonas.lahtinen@linux.intel.com</a>><br>
> > > Signed-off-by: Himal Prasad Ghimiray <<a href="mailto:himal.prasad.ghimiray@intel.com" moz-do-not-send="true" class="moz-txt-link-freetext">himal.prasad.ghimiray@intel.com</a>><br>
<br>
<SNIP><br>
<br>
> > > +++ b/drivers/gpu/drm/xe/xe_hw_engine.h<br>
> > > @@ -10,41 +10,17 @@<br>
> > > <br>
> > > struct drm_printer;<br>
> > > <br>
> > > -#ifdef CONFIG_DRM_XE_JOB_TIMEOUT_MIN<br>
> > > -#define XE_HW_ENGINE_JOB_TIMEOUT_MIN
CONFIG_DRM_XE_JOB_TIMEOUT_MIN<br>
> > > -#else<br>
> > > #define XE_HW_ENGINE_JOB_TIMEOUT_MIN 1<br>
> > > -#endif<br>
> > > -#ifdef CONFIG_DRM_XE_JOB_TIMEOUT_MAX<br>
> > > -#define XE_HW_ENGINE_JOB_TIMEOUT_MAX
CONFIG_DRM_XE_JOB_TIMEOUT_MAX<br>
> > > -#else<br>
> > > #define XE_HW_ENGINE_JOB_TIMEOUT_MAX (10 *
1000)<br>
> > <br>
> > previously one could configure a kernel with a
different max.<br>
> > And now it's hardcoded. How is this better and
related to the<br>
> > motivation in the commit message?<br>
> > <br>
> > is this commit doing 2 different things?<br>
> > <br>
> > 1) Removing the _MAX from config since nobody is
or should change that<br>
> > 2) Modify the min value to 0... That seems weird
as basically there is<br>
> > no minimum.<br>
> <br>
> This is true.<br>
<br>
Maybe I've missed some discussion but what is wrong with
the previously<br>
agreed approach where KConfig would determine hard
_MIN/_MAX bounds<br>
(and maybe _DEFAULT) that the kernel can work with, then
there would be<br>
sysfs min/max (+ default) which the sysadmin sets as
comfortable with<br>
considering the expected use-cases on the system and
application then<br>
choose within those bounds (if it wants expedited hang
detection for an<br>
example)?<br>
<br>
> > I'd like to hear Matt Brost's opinion on that.<br>
> <br>
> I chatted with Lucas and second his nack. The
requirements for this<br>
> change are coming from sysman and are unclear. If
sysman needs to set<br>
> this to 0 (akin to no maximum), why can't sysman
build the kernel with a<br>
> Kconfig to allow this? This use case appears to be an
HPC/AI data center<br>
> scenario in which the kernel is probably built with a
non-standard<br>
> Kconfig anyway. Why can't CONFIG_DRM_*_MIN be set to
zero? This needs to<br>
> be addressed clearly and publicly.<br>
<br>
I also thought we agreed on doing different build for such
scenario<br>
where the interactive desktop is not expected to be used,
so larger<br>
delays are more allowable.<br>
</p>
</div>
</div>
</div>
</blockquote>
<p>So you are proposing an server only build where it can be set to
zero.</p>
<p>Regards</p>
<p>-Ayaz</p>
<p><br>
</p>
<blockquote type="cite" cite="mid:PH0PR11MB5674E8EF849E5B47A847B70594E32@PH0PR11MB5674.namprd11.prod.outlook.com">
<div class="WordSection1">
<div>
<div>
<p class="MsoNormal">
<br>
The default build simply can't allow unlimited blocking of
the HW by<br>
certain workloads in order to make sure the
desktop/compositor stays<br>
operational. That can only be enabled by default build
when the long-running<br>
workloads can be isolated so they won't interfere with the
workloads<br>
using dma-fences. And I don't think that code exists yet.<br>
<br>
Sysman should be able to report a feature missing from the
kernel if it<br>
detects that it can't set the limits wanted. This can be
reported to<br>
user via error code and/or error message asking to install
a different<br>
kernel build.<br>
<br>
Same strategy has been applied in the past for various
kernel features<br>
like realtime/virtualization etc. <br>
<br>
Regards, Joonas<br>
<br>
> <br>
> Matt<br>
> <br>
> > <br>
> > Lucas De Marchi<br>
> > <br>
> > > -#endif<br>
> > > -#ifdef CONFIG_DRM_XE_TIMESLICE_MIN<br>
> > > -#define XE_HW_ENGINE_TIMESLICE_MIN
CONFIG_DRM_XE_TIMESLICE_MIN<br>
> > > -#else<br>
> > > -#define XE_HW_ENGINE_TIMESLICE_MIN 1<br>
> > > -#endif<br>
> > > -#ifdef CONFIG_DRM_XE_TIMESLICE_MAX<br>
> > > -#define XE_HW_ENGINE_TIMESLICE_MAX
CONFIG_DRM_XE_TIMESLICE_MAX<br>
> > > -#else<br>
> > > +#define XE_HW_ENGINE_TIMESLICE_MIN 0<br>
> > > #define XE_HW_ENGINE_TIMESLICE_MAX (10 *
1000 * 1000)<br>
> > > -#endif<br>
> > > #ifdef CONFIG_DRM_XE_PREEMPT_TIMEOUT<br>
> > > #define XE_HW_ENGINE_PREEMPT_TIMEOUT
CONFIG_DRM_XE_PREEMPT_TIMEOUT<br>
> > > #else<br>
> > > #define XE_HW_ENGINE_PREEMPT_TIMEOUT (640 *
1000)<br>
> > > #endif<br>
> > > -#ifdef CONFIG_DRM_XE_PREEMPT_TIMEOUT_MIN<br>
> > > -#define XE_HW_ENGINE_PREEMPT_TIMEOUT_MIN
CONFIG_DRM_XE_PREEMPT_TIMEOUT_MIN<br>
> > > -#else<br>
> > > -#define XE_HW_ENGINE_PREEMPT_TIMEOUT_MIN 1<br>
> > > -#endif<br>
> > > -#ifdef CONFIG_DRM_XE_PREEMPT_TIMEOUT_MAX<br>
> > > -#define XE_HW_ENGINE_PREEMPT_TIMEOUT_MAX
CONFIG_DRM_XE_PREEMPT_TIMEOUT_MAX<br>
> > > -#else<br>
> > > +#define XE_HW_ENGINE_PREEMPT_TIMEOUT_MIN 0<br>
> > > #define XE_HW_ENGINE_PREEMPT_TIMEOUT_MAX
(10 * 1000 * 1000)<br>
> > > -#endif<br>
> > > <br>
> > > int xe_hw_engines_init_early(struct xe_gt
*gt);<br>
> > > int xe_hw_engines_init(struct xe_gt *gt);<br>
> > > -- <br>
> > > 2.25.1<br>
> > > <o:p></o:p></p>
</div>
</div>
</div>
</blockquote>
</body>
<lt-container></lt-container>
</html>