[Intel-gfx] [drm-intel:drm-intel-next-queued 2/2] drivers/gpu//drm/i915/i915_reset.c:689:13: error: format '%lld' expects argument of type 'long long int', but argument 5 has type 'unsigned int'

kbuild test robot lkp at intel.com
Mon Jan 21 14:03:09 UTC 2019


tree:   git://anongit.freedesktop.org/drm-intel drm-intel-next-queued
head:   9f58892ea9962002399132fd3f40c6a273f8d9e1
commit: 9f58892ea9962002399132fd3f40c6a273f8d9e1 [2/2] drm/i915: Pull all the reset functionality together into i915_reset.c
config: i386-randconfig-x007-201903 (attached as .config)
compiler: gcc-8 (Debian 8.2.0-14) 8.2.0
reproduce:
        git checkout 9f58892ea9962002399132fd3f40c6a273f8d9e1
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   In file included from include/linux/sched/mm.h:5,
                    from drivers/gpu//drm/i915/i915_reset.c:7:
   drivers/gpu//drm/i915/i915_reset.c: In function 'reset_request':
>> drivers/gpu//drm/i915/i915_reset.c:689:13: error: format '%lld' expects argument of type 'long long int', but argument 5 has type 'unsigned int' [-Werror=format=]
      GEM_TRACE("%s pardoned global=%d (fence %llx:%lld), current %d\n",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu//drm/i915/i915_reset.c:691:25:
         rq->fence.context, rq->fence.seqno,
                            ~~~~~~~~~~~~~~~
   include/linux/kernel.h:683:33: note: in definition of macro '__trace_printk_check_format'
      ____trace_printk_check_format(fmt, ##args);  \
                                    ^~~
   include/linux/kernel.h:720:3: note: in expansion of macro 'do_trace_printk'
      do_trace_printk(fmt, ##__VA_ARGS__); \
      ^~~~~~~~~~~~~~~
   drivers/gpu//drm/i915/i915_gem.h:66:24: note: in expansion of macro 'trace_printk'
    #define GEM_TRACE(...) trace_printk(__VA_ARGS__)
                           ^~~~~~~~~~~~
   drivers/gpu//drm/i915/i915_reset.c:689:3: note: in expansion of macro 'GEM_TRACE'
      GEM_TRACE("%s pardoned global=%d (fence %llx:%lld), current %d\n",
      ^~~~~~~~~
   drivers/gpu//drm/i915/i915_reset.c:689:13: error: format '%lld' expects argument of type 'long long int', but argument 6 has type 'unsigned int' [-Werror=format=]
      GEM_TRACE("%s pardoned global=%d (fence %llx:%lld), current %d\n",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu//drm/i915/i915_reset.c:691:25:
         rq->fence.context, rq->fence.seqno,
                            ~~~~~~~~~~~~~~~
   include/linux/kernel.h:736:29: note: in definition of macro 'do_trace_printk'
      __trace_printk(_THIS_IP_, fmt, ##args);   \
                                ^~~
   drivers/gpu//drm/i915/i915_gem.h:66:24: note: in expansion of macro 'trace_printk'
    #define GEM_TRACE(...) trace_printk(__VA_ARGS__)
                           ^~~~~~~~~~~~
   drivers/gpu//drm/i915/i915_reset.c:689:3: note: in expansion of macro 'GEM_TRACE'
      GEM_TRACE("%s pardoned global=%d (fence %llx:%lld), current %d\n",
      ^~~~~~~~~
   drivers/gpu//drm/i915/i915_reset.c: In function 'nop_submit_request':
   drivers/gpu//drm/i915/i915_reset.c:804:12: error: format '%lld' expects argument of type 'long long int', but argument 4 has type 'unsigned int' [-Werror=format=]
     GEM_TRACE("%s fence %llx:%lld -> -EIO\n",
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu//drm/i915/i915_reset.c:806:29:
        request->fence.context, request->fence.seqno);
                                ~~~~~~~~~~~~~~~~~~~~
   include/linux/kernel.h:683:33: note: in definition of macro '__trace_printk_check_format'
      ____trace_printk_check_format(fmt, ##args);  \
                                    ^~~
   include/linux/kernel.h:720:3: note: in expansion of macro 'do_trace_printk'
      do_trace_printk(fmt, ##__VA_ARGS__); \
      ^~~~~~~~~~~~~~~
   drivers/gpu//drm/i915/i915_gem.h:66:24: note: in expansion of macro 'trace_printk'
    #define GEM_TRACE(...) trace_printk(__VA_ARGS__)
                           ^~~~~~~~~~~~
   drivers/gpu//drm/i915/i915_reset.c:804:2: note: in expansion of macro 'GEM_TRACE'
     GEM_TRACE("%s fence %llx:%lld -> -EIO\n",
     ^~~~~~~~~
   drivers/gpu//drm/i915/i915_reset.c:804:12: error: format '%lld' expects argument of type 'long long int', but argument 5 has type 'unsigned int' [-Werror=format=]
     GEM_TRACE("%s fence %llx:%lld -> -EIO\n",
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu//drm/i915/i915_reset.c:806:29:
        request->fence.context, request->fence.seqno);
                                ~~~~~~~~~~~~~~~~~~~~
   include/linux/kernel.h:736:29: note: in definition of macro 'do_trace_printk'
      __trace_printk(_THIS_IP_, fmt, ##args);   \
                                ^~~
   drivers/gpu//drm/i915/i915_gem.h:66:24: note: in expansion of macro 'trace_printk'
    #define GEM_TRACE(...) trace_printk(__VA_ARGS__)
                           ^~~~~~~~~~~~
   drivers/gpu//drm/i915/i915_reset.c:804:2: note: in expansion of macro 'GEM_TRACE'
     GEM_TRACE("%s fence %llx:%lld -> -EIO\n",
     ^~~~~~~~~
   cc1: all warnings being treated as errors

vim +689 drivers/gpu//drm/i915/i915_reset.c

   659	
   660	/* Returns the request if it was guilty of the hang */
   661	static struct i915_request *
   662	reset_request(struct intel_engine_cs *engine,
   663		      struct i915_request *rq,
   664		      bool stalled)
   665	{
   666		/*
   667		 * The guilty request will get skipped on a hung engine.
   668		 *
   669		 * Users of client default contexts do not rely on logical
   670		 * state preserved between batches so it is safe to execute
   671		 * queued requests following the hang. Non default contexts
   672		 * rely on preserved state, so skipping a batch loses the
   673		 * evolution of the state and it needs to be considered corrupted.
   674		 * Executing more queued batches on top of corrupted state is
   675		 * risky. But we take the risk by trying to advance through
   676		 * the queued requests in order to make the client behaviour
   677		 * more predictable around resets, by not throwing away random
   678		 * amount of batches it has prepared for execution. Sophisticated
   679		 * clients can use gem_reset_stats_ioctl and dma fence status
   680		 * (exported via sync_file info ioctl on explicit fences) to observe
   681		 * when it loses the context state and should rebuild accordingly.
   682		 *
   683		 * The context ban, and ultimately the client ban, mechanism are safety
   684		 * valves if client submission ends up resulting in nothing more than
   685		 * subsequent hangs.
   686		 */
   687	
   688		if (i915_request_completed(rq)) {
 > 689			GEM_TRACE("%s pardoned global=%d (fence %llx:%lld), current %d\n",
   690				  engine->name, rq->global_seqno,
   691				  rq->fence.context, rq->fence.seqno,
   692				  intel_engine_get_seqno(engine));
   693			stalled = false;
   694		}
   695	
   696		if (stalled) {
   697			context_mark_guilty(rq->gem_context);
   698			i915_request_skip(rq, -EIO);
   699	
   700			/* If this context is now banned, skip all pending requests. */
   701			if (i915_gem_context_is_banned(rq->gem_context))
   702				engine_skip_context(rq);
   703		} else {
   704			/*
   705			 * Since this is not the hung engine, it may have advanced
   706			 * since the hang declaration. Double check by refinding
   707			 * the active request at the time of the reset.
   708			 */
   709			rq = i915_gem_find_active_request(engine);
   710			if (rq) {
   711				unsigned long flags;
   712	
   713				context_mark_innocent(rq->gem_context);
   714				dma_fence_set_error(&rq->fence, -EAGAIN);
   715	
   716				/* Rewind the engine to replay the incomplete rq */
   717				spin_lock_irqsave(&engine->timeline.lock, flags);
   718				rq = list_prev_entry(rq, link);
   719				if (&rq->link == &engine->timeline.requests)
   720					rq = NULL;
   721				spin_unlock_irqrestore(&engine->timeline.lock, flags);
   722			}
   723		}
   724	
   725		return rq;
   726	}
   727	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 25871 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20190121/e3b39db0/attachment-0001.gz>


More information about the Intel-gfx mailing list