All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Cc: clang-built-linux@googlegroups.com, kbuild-all@lists.01.org,
	matthew.auld@intel.com,
	"Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Subject: Re: [PATCH v2 1/5] drm/i915/gem: Implement object migration
Date: Mon, 28 Jun 2021 20:54:33 +0800	[thread overview]
Message-ID: <202106282030.HGPqoiY2-lkp@intel.com> (raw)
In-Reply-To: <20210628090943.45690-2-thomas.hellstrom@linux.intel.com>

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

Hi "Thomas,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-tip/drm-tip]
[cannot apply to drm-intel/for-linux-next drm-exynos/exynos-drm-next tegra-drm/drm/tegra/for-next drm/drm-next v5.13 next-20210628]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Thomas-Hellstr-m/drm-i915-gem-Introduce-a-migrate-interface/20210628-171204
base:   git://anongit.freedesktop.org/drm/drm-tip drm-tip
config: x86_64-randconfig-a003-20210628 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 4c92e31dd0f1bd152eda883af20ff7fbcaa14945)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/e4e5a7f5c031252f26c868a2aa17a031a1558336
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Thomas-Hellstr-m/drm-i915-gem-Introduce-a-migrate-interface/20210628-171204
        git checkout e4e5a7f5c031252f26c868a2aa17a031a1558336
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/gpu/drm/i915/

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

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/i915/gem/i915_gem_wait.c:184: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Waits for rendering to the object to be completed
>> drivers/gpu/drm/i915/gem/i915_gem_wait.c:307: warning: expecting prototype for i915_gem_object_wait_migrate(). Prototype was for i915_gem_object_wait_migration() instead


vim +307 drivers/gpu/drm/i915/gem/i915_gem_wait.c

   182	
   183	/**
 > 184	 * Waits for rendering to the object to be completed
   185	 * @obj: i915 gem object
   186	 * @flags: how to wait (under a lock, for all rendering or just for writes etc)
   187	 * @timeout: how long to wait
   188	 */
   189	int
   190	i915_gem_object_wait(struct drm_i915_gem_object *obj,
   191			     unsigned int flags,
   192			     long timeout)
   193	{
   194		might_sleep();
   195		GEM_BUG_ON(timeout < 0);
   196	
   197		timeout = i915_gem_object_wait_reservation(obj->base.resv,
   198							   flags, timeout);
   199		return timeout < 0 ? timeout : 0;
   200	}
   201	
   202	static inline unsigned long nsecs_to_jiffies_timeout(const u64 n)
   203	{
   204		/* nsecs_to_jiffies64() does not guard against overflow */
   205		if (NSEC_PER_SEC % HZ &&
   206		    div_u64(n, NSEC_PER_SEC) >= MAX_JIFFY_OFFSET / HZ)
   207			return MAX_JIFFY_OFFSET;
   208	
   209		return min_t(u64, MAX_JIFFY_OFFSET, nsecs_to_jiffies64(n) + 1);
   210	}
   211	
   212	static unsigned long to_wait_timeout(s64 timeout_ns)
   213	{
   214		if (timeout_ns < 0)
   215			return MAX_SCHEDULE_TIMEOUT;
   216	
   217		if (timeout_ns == 0)
   218			return 0;
   219	
   220		return nsecs_to_jiffies_timeout(timeout_ns);
   221	}
   222	
   223	/**
   224	 * i915_gem_wait_ioctl - implements DRM_IOCTL_I915_GEM_WAIT
   225	 * @dev: drm device pointer
   226	 * @data: ioctl data blob
   227	 * @file: drm file pointer
   228	 *
   229	 * Returns 0 if successful, else an error is returned with the remaining time in
   230	 * the timeout parameter.
   231	 *  -ETIME: object is still busy after timeout
   232	 *  -ERESTARTSYS: signal interrupted the wait
   233	 *  -ENONENT: object doesn't exist
   234	 * Also possible, but rare:
   235	 *  -EAGAIN: incomplete, restart syscall
   236	 *  -ENOMEM: damn
   237	 *  -ENODEV: Internal IRQ fail
   238	 *  -E?: The add request failed
   239	 *
   240	 * The wait ioctl with a timeout of 0 reimplements the busy ioctl. With any
   241	 * non-zero timeout parameter the wait ioctl will wait for the given number of
   242	 * nanoseconds on an object becoming unbusy. Since the wait itself does so
   243	 * without holding struct_mutex the object may become re-busied before this
   244	 * function completes. A similar but shorter * race condition exists in the busy
   245	 * ioctl
   246	 */
   247	int
   248	i915_gem_wait_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
   249	{
   250		struct drm_i915_gem_wait *args = data;
   251		struct drm_i915_gem_object *obj;
   252		ktime_t start;
   253		long ret;
   254	
   255		if (args->flags != 0)
   256			return -EINVAL;
   257	
   258		obj = i915_gem_object_lookup(file, args->bo_handle);
   259		if (!obj)
   260			return -ENOENT;
   261	
   262		start = ktime_get();
   263	
   264		ret = i915_gem_object_wait(obj,
   265					   I915_WAIT_INTERRUPTIBLE |
   266					   I915_WAIT_PRIORITY |
   267					   I915_WAIT_ALL,
   268					   to_wait_timeout(args->timeout_ns));
   269	
   270		if (args->timeout_ns > 0) {
   271			args->timeout_ns -= ktime_to_ns(ktime_sub(ktime_get(), start));
   272			if (args->timeout_ns < 0)
   273				args->timeout_ns = 0;
   274	
   275			/*
   276			 * Apparently ktime isn't accurate enough and occasionally has a
   277			 * bit of mismatch in the jiffies<->nsecs<->ktime loop. So patch
   278			 * things up to make the test happy. We allow up to 1 jiffy.
   279			 *
   280			 * This is a regression from the timespec->ktime conversion.
   281			 */
   282			if (ret == -ETIME && !nsecs_to_jiffies(args->timeout_ns))
   283				args->timeout_ns = 0;
   284	
   285			/* Asked to wait beyond the jiffie/scheduler precision? */
   286			if (ret == -ETIME && args->timeout_ns)
   287				ret = -EAGAIN;
   288		}
   289	
   290		i915_gem_object_put(obj);
   291		return ret;
   292	}
   293	
   294	/**
   295	 * i915_gem_object_wait_migrate - Sync an accelerated migration operation
   296	 * @obj: The migrating object.
   297	 * @flags: waiting flags. Currently supports only I915_WAIT_INTERRUPTIBLE.
   298	 *
   299	 * Wait for any pending async migration operation on the object,
   300	 * whether it's explicitly (i915_gem_object_migrate()) or implicitly
   301	 * (swapin, initial clearing) initiated.
   302	 *
   303	 * Return: 0 if successful, -ERESTARTSYS if a signal was hit during waiting.
   304	 */
   305	int i915_gem_object_wait_migration(struct drm_i915_gem_object *obj,
   306					   unsigned int flags)
 > 307	{

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

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

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Cc: clang-built-linux@googlegroups.com, kbuild-all@lists.01.org,
	matthew.auld@intel.com,
	"Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Subject: Re: [Intel-gfx] [PATCH v2 1/5] drm/i915/gem: Implement object migration
Date: Mon, 28 Jun 2021 20:54:33 +0800	[thread overview]
Message-ID: <202106282030.HGPqoiY2-lkp@intel.com> (raw)
In-Reply-To: <20210628090943.45690-2-thomas.hellstrom@linux.intel.com>

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

Hi "Thomas,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-tip/drm-tip]
[cannot apply to drm-intel/for-linux-next drm-exynos/exynos-drm-next tegra-drm/drm/tegra/for-next drm/drm-next v5.13 next-20210628]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Thomas-Hellstr-m/drm-i915-gem-Introduce-a-migrate-interface/20210628-171204
base:   git://anongit.freedesktop.org/drm/drm-tip drm-tip
config: x86_64-randconfig-a003-20210628 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 4c92e31dd0f1bd152eda883af20ff7fbcaa14945)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/e4e5a7f5c031252f26c868a2aa17a031a1558336
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Thomas-Hellstr-m/drm-i915-gem-Introduce-a-migrate-interface/20210628-171204
        git checkout e4e5a7f5c031252f26c868a2aa17a031a1558336
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/gpu/drm/i915/

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

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/i915/gem/i915_gem_wait.c:184: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Waits for rendering to the object to be completed
>> drivers/gpu/drm/i915/gem/i915_gem_wait.c:307: warning: expecting prototype for i915_gem_object_wait_migrate(). Prototype was for i915_gem_object_wait_migration() instead


vim +307 drivers/gpu/drm/i915/gem/i915_gem_wait.c

   182	
   183	/**
 > 184	 * Waits for rendering to the object to be completed
   185	 * @obj: i915 gem object
   186	 * @flags: how to wait (under a lock, for all rendering or just for writes etc)
   187	 * @timeout: how long to wait
   188	 */
   189	int
   190	i915_gem_object_wait(struct drm_i915_gem_object *obj,
   191			     unsigned int flags,
   192			     long timeout)
   193	{
   194		might_sleep();
   195		GEM_BUG_ON(timeout < 0);
   196	
   197		timeout = i915_gem_object_wait_reservation(obj->base.resv,
   198							   flags, timeout);
   199		return timeout < 0 ? timeout : 0;
   200	}
   201	
   202	static inline unsigned long nsecs_to_jiffies_timeout(const u64 n)
   203	{
   204		/* nsecs_to_jiffies64() does not guard against overflow */
   205		if (NSEC_PER_SEC % HZ &&
   206		    div_u64(n, NSEC_PER_SEC) >= MAX_JIFFY_OFFSET / HZ)
   207			return MAX_JIFFY_OFFSET;
   208	
   209		return min_t(u64, MAX_JIFFY_OFFSET, nsecs_to_jiffies64(n) + 1);
   210	}
   211	
   212	static unsigned long to_wait_timeout(s64 timeout_ns)
   213	{
   214		if (timeout_ns < 0)
   215			return MAX_SCHEDULE_TIMEOUT;
   216	
   217		if (timeout_ns == 0)
   218			return 0;
   219	
   220		return nsecs_to_jiffies_timeout(timeout_ns);
   221	}
   222	
   223	/**
   224	 * i915_gem_wait_ioctl - implements DRM_IOCTL_I915_GEM_WAIT
   225	 * @dev: drm device pointer
   226	 * @data: ioctl data blob
   227	 * @file: drm file pointer
   228	 *
   229	 * Returns 0 if successful, else an error is returned with the remaining time in
   230	 * the timeout parameter.
   231	 *  -ETIME: object is still busy after timeout
   232	 *  -ERESTARTSYS: signal interrupted the wait
   233	 *  -ENONENT: object doesn't exist
   234	 * Also possible, but rare:
   235	 *  -EAGAIN: incomplete, restart syscall
   236	 *  -ENOMEM: damn
   237	 *  -ENODEV: Internal IRQ fail
   238	 *  -E?: The add request failed
   239	 *
   240	 * The wait ioctl with a timeout of 0 reimplements the busy ioctl. With any
   241	 * non-zero timeout parameter the wait ioctl will wait for the given number of
   242	 * nanoseconds on an object becoming unbusy. Since the wait itself does so
   243	 * without holding struct_mutex the object may become re-busied before this
   244	 * function completes. A similar but shorter * race condition exists in the busy
   245	 * ioctl
   246	 */
   247	int
   248	i915_gem_wait_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
   249	{
   250		struct drm_i915_gem_wait *args = data;
   251		struct drm_i915_gem_object *obj;
   252		ktime_t start;
   253		long ret;
   254	
   255		if (args->flags != 0)
   256			return -EINVAL;
   257	
   258		obj = i915_gem_object_lookup(file, args->bo_handle);
   259		if (!obj)
   260			return -ENOENT;
   261	
   262		start = ktime_get();
   263	
   264		ret = i915_gem_object_wait(obj,
   265					   I915_WAIT_INTERRUPTIBLE |
   266					   I915_WAIT_PRIORITY |
   267					   I915_WAIT_ALL,
   268					   to_wait_timeout(args->timeout_ns));
   269	
   270		if (args->timeout_ns > 0) {
   271			args->timeout_ns -= ktime_to_ns(ktime_sub(ktime_get(), start));
   272			if (args->timeout_ns < 0)
   273				args->timeout_ns = 0;
   274	
   275			/*
   276			 * Apparently ktime isn't accurate enough and occasionally has a
   277			 * bit of mismatch in the jiffies<->nsecs<->ktime loop. So patch
   278			 * things up to make the test happy. We allow up to 1 jiffy.
   279			 *
   280			 * This is a regression from the timespec->ktime conversion.
   281			 */
   282			if (ret == -ETIME && !nsecs_to_jiffies(args->timeout_ns))
   283				args->timeout_ns = 0;
   284	
   285			/* Asked to wait beyond the jiffie/scheduler precision? */
   286			if (ret == -ETIME && args->timeout_ns)
   287				ret = -EAGAIN;
   288		}
   289	
   290		i915_gem_object_put(obj);
   291		return ret;
   292	}
   293	
   294	/**
   295	 * i915_gem_object_wait_migrate - Sync an accelerated migration operation
   296	 * @obj: The migrating object.
   297	 * @flags: waiting flags. Currently supports only I915_WAIT_INTERRUPTIBLE.
   298	 *
   299	 * Wait for any pending async migration operation on the object,
   300	 * whether it's explicitly (i915_gem_object_migrate()) or implicitly
   301	 * (swapin, initial clearing) initiated.
   302	 *
   303	 * Return: 0 if successful, -ERESTARTSYS if a signal was hit during waiting.
   304	 */
   305	int i915_gem_object_wait_migration(struct drm_i915_gem_object *obj,
   306					   unsigned int flags)
 > 307	{

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

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

[-- Attachment #3: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v2 1/5] drm/i915/gem: Implement object migration
Date: Mon, 28 Jun 2021 20:54:33 +0800	[thread overview]
Message-ID: <202106282030.HGPqoiY2-lkp@intel.com> (raw)
In-Reply-To: <20210628090943.45690-2-thomas.hellstrom@linux.intel.com>

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

Hi "Thomas,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-tip/drm-tip]
[cannot apply to drm-intel/for-linux-next drm-exynos/exynos-drm-next tegra-drm/drm/tegra/for-next drm/drm-next v5.13 next-20210628]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Thomas-Hellstr-m/drm-i915-gem-Introduce-a-migrate-interface/20210628-171204
base:   git://anongit.freedesktop.org/drm/drm-tip drm-tip
config: x86_64-randconfig-a003-20210628 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 4c92e31dd0f1bd152eda883af20ff7fbcaa14945)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/e4e5a7f5c031252f26c868a2aa17a031a1558336
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Thomas-Hellstr-m/drm-i915-gem-Introduce-a-migrate-interface/20210628-171204
        git checkout e4e5a7f5c031252f26c868a2aa17a031a1558336
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/gpu/drm/i915/

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

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/i915/gem/i915_gem_wait.c:184: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Waits for rendering to the object to be completed
>> drivers/gpu/drm/i915/gem/i915_gem_wait.c:307: warning: expecting prototype for i915_gem_object_wait_migrate(). Prototype was for i915_gem_object_wait_migration() instead


vim +307 drivers/gpu/drm/i915/gem/i915_gem_wait.c

   182	
   183	/**
 > 184	 * Waits for rendering to the object to be completed
   185	 * @obj: i915 gem object
   186	 * @flags: how to wait (under a lock, for all rendering or just for writes etc)
   187	 * @timeout: how long to wait
   188	 */
   189	int
   190	i915_gem_object_wait(struct drm_i915_gem_object *obj,
   191			     unsigned int flags,
   192			     long timeout)
   193	{
   194		might_sleep();
   195		GEM_BUG_ON(timeout < 0);
   196	
   197		timeout = i915_gem_object_wait_reservation(obj->base.resv,
   198							   flags, timeout);
   199		return timeout < 0 ? timeout : 0;
   200	}
   201	
   202	static inline unsigned long nsecs_to_jiffies_timeout(const u64 n)
   203	{
   204		/* nsecs_to_jiffies64() does not guard against overflow */
   205		if (NSEC_PER_SEC % HZ &&
   206		    div_u64(n, NSEC_PER_SEC) >= MAX_JIFFY_OFFSET / HZ)
   207			return MAX_JIFFY_OFFSET;
   208	
   209		return min_t(u64, MAX_JIFFY_OFFSET, nsecs_to_jiffies64(n) + 1);
   210	}
   211	
   212	static unsigned long to_wait_timeout(s64 timeout_ns)
   213	{
   214		if (timeout_ns < 0)
   215			return MAX_SCHEDULE_TIMEOUT;
   216	
   217		if (timeout_ns == 0)
   218			return 0;
   219	
   220		return nsecs_to_jiffies_timeout(timeout_ns);
   221	}
   222	
   223	/**
   224	 * i915_gem_wait_ioctl - implements DRM_IOCTL_I915_GEM_WAIT
   225	 * @dev: drm device pointer
   226	 * @data: ioctl data blob
   227	 * @file: drm file pointer
   228	 *
   229	 * Returns 0 if successful, else an error is returned with the remaining time in
   230	 * the timeout parameter.
   231	 *  -ETIME: object is still busy after timeout
   232	 *  -ERESTARTSYS: signal interrupted the wait
   233	 *  -ENONENT: object doesn't exist
   234	 * Also possible, but rare:
   235	 *  -EAGAIN: incomplete, restart syscall
   236	 *  -ENOMEM: damn
   237	 *  -ENODEV: Internal IRQ fail
   238	 *  -E?: The add request failed
   239	 *
   240	 * The wait ioctl with a timeout of 0 reimplements the busy ioctl. With any
   241	 * non-zero timeout parameter the wait ioctl will wait for the given number of
   242	 * nanoseconds on an object becoming unbusy. Since the wait itself does so
   243	 * without holding struct_mutex the object may become re-busied before this
   244	 * function completes. A similar but shorter * race condition exists in the busy
   245	 * ioctl
   246	 */
   247	int
   248	i915_gem_wait_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
   249	{
   250		struct drm_i915_gem_wait *args = data;
   251		struct drm_i915_gem_object *obj;
   252		ktime_t start;
   253		long ret;
   254	
   255		if (args->flags != 0)
   256			return -EINVAL;
   257	
   258		obj = i915_gem_object_lookup(file, args->bo_handle);
   259		if (!obj)
   260			return -ENOENT;
   261	
   262		start = ktime_get();
   263	
   264		ret = i915_gem_object_wait(obj,
   265					   I915_WAIT_INTERRUPTIBLE |
   266					   I915_WAIT_PRIORITY |
   267					   I915_WAIT_ALL,
   268					   to_wait_timeout(args->timeout_ns));
   269	
   270		if (args->timeout_ns > 0) {
   271			args->timeout_ns -= ktime_to_ns(ktime_sub(ktime_get(), start));
   272			if (args->timeout_ns < 0)
   273				args->timeout_ns = 0;
   274	
   275			/*
   276			 * Apparently ktime isn't accurate enough and occasionally has a
   277			 * bit of mismatch in the jiffies<->nsecs<->ktime loop. So patch
   278			 * things up to make the test happy. We allow up to 1 jiffy.
   279			 *
   280			 * This is a regression from the timespec->ktime conversion.
   281			 */
   282			if (ret == -ETIME && !nsecs_to_jiffies(args->timeout_ns))
   283				args->timeout_ns = 0;
   284	
   285			/* Asked to wait beyond the jiffie/scheduler precision? */
   286			if (ret == -ETIME && args->timeout_ns)
   287				ret = -EAGAIN;
   288		}
   289	
   290		i915_gem_object_put(obj);
   291		return ret;
   292	}
   293	
   294	/**
   295	 * i915_gem_object_wait_migrate - Sync an accelerated migration operation
   296	 * @obj: The migrating object.
   297	 * @flags: waiting flags. Currently supports only I915_WAIT_INTERRUPTIBLE.
   298	 *
   299	 * Wait for any pending async migration operation on the object,
   300	 * whether it's explicitly (i915_gem_object_migrate()) or implicitly
   301	 * (swapin, initial clearing) initiated.
   302	 *
   303	 * Return: 0 if successful, -ERESTARTSYS if a signal was hit during waiting.
   304	 */
   305	int i915_gem_object_wait_migration(struct drm_i915_gem_object *obj,
   306					   unsigned int flags)
 > 307	{

---
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: 49800 bytes --]

  parent reply	other threads:[~2021-06-28 12:55 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-28  9:09 [PATCH v2 0/5] drm/i915/gem: Introduce a migrate interface Thomas Hellström
2021-06-28  9:09 ` [Intel-gfx] " Thomas Hellström
2021-06-28  9:09 ` [PATCH v2 1/5] drm/i915/gem: Implement object migration Thomas Hellström
2021-06-28  9:09   ` [Intel-gfx] " Thomas Hellström
2021-06-28  9:47   ` Thomas Hellström
2021-06-28  9:47     ` [Intel-gfx] " Thomas Hellström
2021-06-28 11:28   ` kernel test robot
2021-06-28 11:28     ` kernel test robot
2021-06-28 11:28     ` [Intel-gfx] " kernel test robot
2021-06-28 12:54   ` kernel test robot [this message]
2021-06-28 12:54     ` kernel test robot
2021-06-28 12:54     ` [Intel-gfx] " kernel test robot
2021-06-28  9:09 ` [PATCH v2 2/5] drm/i915/gem: Introduce a selftest for the gem object migrate functionality Thomas Hellström
2021-06-28  9:09   ` [Intel-gfx] " Thomas Hellström
2021-06-28  9:09 ` [PATCH v2 3/5] drm/i915/display: Migrate objects to LMEM if possible for display Thomas Hellström
2021-06-28  9:09   ` [Intel-gfx] " Thomas Hellström
2021-06-28  9:09 ` [PATCH v2 4/5] drm/i915/gem: Fix same-driver-another-instance dma-buf export Thomas Hellström
2021-06-28  9:09   ` [Intel-gfx] " Thomas Hellström
2021-06-28  9:09 ` [PATCH v2 5/5] drm/i915/gem: Migrate to system at dma-buf map time Thomas Hellström
2021-06-28  9:09   ` [Intel-gfx] " Thomas Hellström

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=202106282030.HGPqoiY2-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=kbuild-all@lists.01.org \
    --cc=matthew.auld@intel.com \
    --cc=thomas.hellstrom@linux.intel.com \
    /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.