All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [linux-next:pending-fixes 86/168] drivers/gpu/drm/i915/gt/selftest_lrc.c:1333:3: error: too few arguments to function 'engine_heartbeat_disable'
Date: Tue, 16 Jun 2020 12:38:11 +0800	[thread overview]
Message-ID: <202006161209.4TYE29pc%lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 5173 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git pending-fixes
head:   d1a574997c4e461b39d3c8162b5fcf1a402888b7
commit: 04dc41776145f539ab6da442cb633e45539bed9a [86/168] drm/i915/gt: Prevent timeslicing into unpreemptable requests
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

Note: the linux-next/pending-fixes HEAD d1a574997c4e461b39d3c8162b5fcf1a402888b7 builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>, old ones prefixed by <<):

In file included from drivers/gpu/drm/i915/gt/intel_lrc.c:5953:
drivers/gpu/drm/i915/gt/selftest_lrc.c: In function 'live_timeslice_nopreempt':
>> drivers/gpu/drm/i915/gt/selftest_lrc.c:1333:3: error: too few arguments to function 'engine_heartbeat_disable'
1333 |   engine_heartbeat_disable(engine);
|   ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/gt/selftest_lrc.c:54:13: note: declared here
54 | static void engine_heartbeat_disable(struct intel_engine_cs *engine,
|             ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/gt/selftest_lrc.c:1402:3: error: too few arguments to function 'engine_heartbeat_enable'
1402 |   engine_heartbeat_enable(engine);
|   ^~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/gt/selftest_lrc.c:64:13: note: declared here
64 | static void engine_heartbeat_enable(struct intel_engine_cs *engine,
|             ^~~~~~~~~~~~~~~~~~~~~~~

vim +/engine_heartbeat_disable +1333 drivers/gpu/drm/i915/gt/selftest_lrc.c

  1300	
  1301	static int live_timeslice_nopreempt(void *arg)
  1302	{
  1303		struct intel_gt *gt = arg;
  1304		struct intel_engine_cs *engine;
  1305		enum intel_engine_id id;
  1306		struct igt_spinner spin;
  1307		int err = 0;
  1308	
  1309		/*
  1310		 * We should not timeslice into a request that is marked with
  1311		 * I915_REQUEST_NOPREEMPT.
  1312		 */
  1313		if (!IS_ACTIVE(CONFIG_DRM_I915_TIMESLICE_DURATION))
  1314			return 0;
  1315	
  1316		if (igt_spinner_init(&spin, gt))
  1317			return -ENOMEM;
  1318	
  1319		for_each_engine(engine, gt, id) {
  1320			struct intel_context *ce;
  1321			struct i915_request *rq;
  1322			unsigned long timeslice;
  1323	
  1324			if (!intel_engine_has_preemption(engine))
  1325				continue;
  1326	
  1327			ce = intel_context_create(engine);
  1328			if (IS_ERR(ce)) {
  1329				err = PTR_ERR(ce);
  1330				break;
  1331			}
  1332	
> 1333			engine_heartbeat_disable(engine);
  1334			timeslice = xchg(&engine->props.timeslice_duration_ms, 1);
  1335	
  1336			/* Create an unpreemptible spinner */
  1337	
  1338			rq = igt_spinner_create_request(&spin, ce, MI_ARB_CHECK);
  1339			intel_context_put(ce);
  1340			if (IS_ERR(rq)) {
  1341				err = PTR_ERR(rq);
  1342				goto out_heartbeat;
  1343			}
  1344	
  1345			i915_request_get(rq);
  1346			i915_request_add(rq);
  1347	
  1348			if (!igt_wait_for_spinner(&spin, rq)) {
  1349				i915_request_put(rq);
  1350				err = -ETIME;
  1351				goto out_spin;
  1352			}
  1353	
  1354			set_bit(I915_FENCE_FLAG_NOPREEMPT, &rq->fence.flags);
  1355			i915_request_put(rq);
  1356	
  1357			/* Followed by a maximum priority barrier (heartbeat) */
  1358	
  1359			ce = intel_context_create(engine);
  1360			if (IS_ERR(ce)) {
  1361				err = PTR_ERR(rq);
  1362				goto out_spin;
  1363			}
  1364	
  1365			rq = intel_context_create_request(ce);
  1366			intel_context_put(ce);
  1367			if (IS_ERR(rq)) {
  1368				err = PTR_ERR(rq);
  1369				goto out_spin;
  1370			}
  1371	
  1372			rq->sched.attr.priority = I915_PRIORITY_BARRIER;
  1373			i915_request_get(rq);
  1374			i915_request_add(rq);
  1375	
  1376			/*
  1377			 * Wait until the barrier is in ELSP, and we know timeslicing
  1378			 * will have been activated.
  1379			 */
  1380			if (wait_for_submit(engine, rq, HZ / 2)) {
  1381				i915_request_put(rq);
  1382				err = -ETIME;
  1383				goto out_spin;
  1384			}
  1385	
  1386			/*
  1387			 * Since the ELSP[0] request is unpreemptible, it should not
  1388			 * allow the maximum priority barrier through. Wait long
  1389			 * enough to see if it is timesliced in by mistake.
  1390			 */
  1391			if (i915_request_wait(rq, 0, timeslice_threshold(engine)) >= 0) {
  1392				pr_err("%s: I915_PRIORITY_BARRIER request completed, bypassing no-preempt request\n",
  1393				       engine->name);
  1394				err = -EINVAL;
  1395			}
  1396			i915_request_put(rq);
  1397	
  1398	out_spin:
  1399			igt_spinner_end(&spin);
  1400	out_heartbeat:
  1401			xchg(&engine->props.timeslice_duration_ms, timeslice);
  1402			engine_heartbeat_enable(engine);
  1403			if (err)
  1404				break;
  1405	
  1406			if (igt_flush_test(gt->i915)) {
  1407				err = -EIO;
  1408				break;
  1409			}
  1410		}
  1411	
  1412		igt_spinner_fini(&spin);
  1413		return err;
  1414	}
  1415	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 74658 bytes --]

                 reply	other threads:[~2020-06-16  4:38 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202006161209.4TYE29pc%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.