Messages in this thread |  | | Date | Sun, 6 Aug 2017 17:39:48 +0800 | From | kbuild test robot <> | Subject | drivers/gpu/drm/i915/selftests/i915_gem_request.c:344: error: 'request' may be used uninitialized in this function |
| |
Hi Jan,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 0fdd951c9bef93637d5af036851e7a5632fbd6c3 commit: 7e6091209f7f73e2a81943020793b5ad26d645c6 x86/build: Permit building with old make versions date: 2 months ago config: x86_64-randconfig-v0-08061633 (attached as .config) compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7 reproduce: git checkout 7e6091209f7f73e2a81943020793b5ad26d645c6 # save the attached .config to linux build tree make ARCH=x86_64
Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings
All errors (new ones prefixed by >>):
cc1: warnings being treated as errors In file included from drivers/gpu/drm/i915/i915_gem_request.c:1219: drivers/gpu/drm/i915/selftests/i915_gem_request.c: In function 'live_nop_request': >> drivers/gpu/drm/i915/selftests/i915_gem_request.c:344: error: 'request' may be used uninitialized in this function
vim +/request +344 drivers/gpu/drm/i915/selftests/i915_gem_request.c
b348090d Chris Wilson 2017-02-13 326 b348090d Chris Wilson 2017-02-13 327 static int live_nop_request(void *arg) b348090d Chris Wilson 2017-02-13 328 { b348090d Chris Wilson 2017-02-13 329 struct drm_i915_private *i915 = arg; b348090d Chris Wilson 2017-02-13 330 struct intel_engine_cs *engine; b348090d Chris Wilson 2017-02-13 331 struct live_test t; b348090d Chris Wilson 2017-02-13 332 unsigned int id; b348090d Chris Wilson 2017-02-13 333 int err; b348090d Chris Wilson 2017-02-13 334 b348090d Chris Wilson 2017-02-13 335 /* Submit various sized batches of empty requests, to each engine b348090d Chris Wilson 2017-02-13 336 * (individually), and wait for the batch to complete. We can check b348090d Chris Wilson 2017-02-13 337 * the overhead of submitting requests to the hardware. b348090d Chris Wilson 2017-02-13 338 */ b348090d Chris Wilson 2017-02-13 339 b348090d Chris Wilson 2017-02-13 340 mutex_lock(&i915->drm.struct_mutex); b348090d Chris Wilson 2017-02-13 341 b348090d Chris Wilson 2017-02-13 342 for_each_engine(engine, i915, id) { b348090d Chris Wilson 2017-02-13 343 IGT_TIMEOUT(end_time); b348090d Chris Wilson 2017-02-13 @344 struct drm_i915_gem_request *request; b348090d Chris Wilson 2017-02-13 345 unsigned long n, prime; b348090d Chris Wilson 2017-02-13 346 ktime_t times[2] = {}; b348090d Chris Wilson 2017-02-13 347 b348090d Chris Wilson 2017-02-13 348 err = begin_live_test(&t, i915, __func__, engine->name); b348090d Chris Wilson 2017-02-13 349 if (err) b348090d Chris Wilson 2017-02-13 350 goto out_unlock; b348090d Chris Wilson 2017-02-13 351 b348090d Chris Wilson 2017-02-13 352 for_each_prime_number_from(prime, 1, 8192) { b348090d Chris Wilson 2017-02-13 353 times[1] = ktime_get_raw(); b348090d Chris Wilson 2017-02-13 354 b348090d Chris Wilson 2017-02-13 355 for (n = 0; n < prime; n++) { b348090d Chris Wilson 2017-02-13 356 request = i915_gem_request_alloc(engine, b348090d Chris Wilson 2017-02-13 357 i915->kernel_context); b348090d Chris Wilson 2017-02-13 358 if (IS_ERR(request)) { b348090d Chris Wilson 2017-02-13 359 err = PTR_ERR(request); b348090d Chris Wilson 2017-02-13 360 goto out_unlock; b348090d Chris Wilson 2017-02-13 361 } b348090d Chris Wilson 2017-02-13 362 b348090d Chris Wilson 2017-02-13 363 /* This space is left intentionally blank. b348090d Chris Wilson 2017-02-13 364 * b348090d Chris Wilson 2017-02-13 365 * We do not actually want to perform any b348090d Chris Wilson 2017-02-13 366 * action with this request, we just want b348090d Chris Wilson 2017-02-13 367 * to measure the latency in allocation b348090d Chris Wilson 2017-02-13 368 * and submission of our breadcrumbs - b348090d Chris Wilson 2017-02-13 369 * ensuring that the bare request is sufficient b348090d Chris Wilson 2017-02-13 370 * for the system to work (i.e. proper HEAD b348090d Chris Wilson 2017-02-13 371 * tracking of the rings, interrupt handling, b348090d Chris Wilson 2017-02-13 372 * etc). It also gives us the lowest bounds b348090d Chris Wilson 2017-02-13 373 * for latency. b348090d Chris Wilson 2017-02-13 374 */ b348090d Chris Wilson 2017-02-13 375 b348090d Chris Wilson 2017-02-13 376 i915_add_request(request); b348090d Chris Wilson 2017-02-13 377 } b348090d Chris Wilson 2017-02-13 378 i915_wait_request(request, b348090d Chris Wilson 2017-02-13 379 I915_WAIT_LOCKED, b348090d Chris Wilson 2017-02-13 380 MAX_SCHEDULE_TIMEOUT); b348090d Chris Wilson 2017-02-13 381 b348090d Chris Wilson 2017-02-13 382 times[1] = ktime_sub(ktime_get_raw(), times[1]); b348090d Chris Wilson 2017-02-13 383 if (prime == 1) b348090d Chris Wilson 2017-02-13 384 times[0] = times[1]; b348090d Chris Wilson 2017-02-13 385 b348090d Chris Wilson 2017-02-13 386 if (__igt_timeout(end_time, NULL)) b348090d Chris Wilson 2017-02-13 387 break; b348090d Chris Wilson 2017-02-13 388 } b348090d Chris Wilson 2017-02-13 389 b348090d Chris Wilson 2017-02-13 390 err = end_live_test(&t); b348090d Chris Wilson 2017-02-13 391 if (err) b348090d Chris Wilson 2017-02-13 392 goto out_unlock; b348090d Chris Wilson 2017-02-13 393 b348090d Chris Wilson 2017-02-13 394 pr_info("Request latencies on %s: 1 = %lluns, %lu = %lluns\n", b348090d Chris Wilson 2017-02-13 395 engine->name, b348090d Chris Wilson 2017-02-13 396 ktime_to_ns(times[0]), b348090d Chris Wilson 2017-02-13 397 prime, div64_u64(ktime_to_ns(times[1]), prime)); b348090d Chris Wilson 2017-02-13 398 } b348090d Chris Wilson 2017-02-13 399 b348090d Chris Wilson 2017-02-13 400 out_unlock: b348090d Chris Wilson 2017-02-13 401 mutex_unlock(&i915->drm.struct_mutex); b348090d Chris Wilson 2017-02-13 402 return err; b348090d Chris Wilson 2017-02-13 403 } b348090d Chris Wilson 2017-02-13 404
:::::: The code at line 344 was first introduced by commit :::::: b348090d6758cc391dc91f8a8233b18f0acc8458 drm/i915: Simple selftest to exercise live requests
:::::: TO: Chris Wilson <chris@chris-wilson.co.uk> :::::: CC: Chris Wilson <chris@chris-wilson.co.uk>
--- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [unhandled content-type:application/gzip] |  |