* [PATCH v2 0/2] Let userspace know when snd-hda-intel needs i915
@ 2022-04-30 10:30 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 10:30 UTC (permalink / raw)
To: Luis Chamberlain
Cc: Mauro Carvalho Chehab, mauro.chehab, Greg KH, intel-gfx,
dri-devel, Lucas De Marchi, Kai Vehmanen, Pierre-Louis Bossart,
Jaroslav Kysela, Takashi Iwai, alsa-devel, linux-kernel,
linux-modules, Daniel Vetter, David Airlie
Currently, kernel/module annotates module dependencies when
request_symbol is used, but it doesn't cover more complex inter-driver
dependencies that are subsystem and/or driver-specific.
In the case of hdmi sound, depending on the CPU/GPU, sometimes the
snd_hda_driver can talk directly with the hardware, but sometimes, it
uses the i915 driver. When the snd_hda_driver uses i915, it should
first be unbind/rmmod, as otherwise trying to unbind/rmmod the i915
driver cause driver issues, as as reported by CI tools with different
GPU models:
https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6415/fi-tgl-1115g4/igt@core_hotunplug@unbind-rebind.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11495/bat-adlm-1/igt@i915_module_load@reload.html
In the past, just a few CPUs were doing such bindings, but this issue now
applies to all "modern" Intel CPUs that have onboard graphics, as well as
to the newer discrete GPUs.
With the discrete GPU case, the HDA controller is physically separate and
requires i915 to power on the hardware for all hardware access. In this
case, the issue is hit basicly 100% of the time.
With on-board graphics, i915 driver is needed only when the display
codec is accessed. If i915 is unbind during runtime suspend, while
snd-hda-intel is still bound, nothing bad happens, but unbinding i915
on other situations may also cause issues.
So, add support at kernel/modules to allow snd-hda drivers to properly
annotate when a dependency on a DRM driver dependencies exists,
and add a call to such new function at the snd-hda driver when it
successfully binds into the DRM driver.
This would allow userspace tools to check and properly remove the
audio driver before trying to remove or unbind the GPU driver.
It should be noticed that this series conveys the hidden module
dependencies. Other changes are needed in order to allow
removing or unbinding the i915 driver while keeping the snd-hda-intel
driver loaded/bound. With that regards, there are some discussions on
how to improve this at alsa-devel a while back:
https://mailman.alsa-project.org/pipermail/alsa-devel/2021-September/190099.html
So, future improvements on both in i915 and the audio drivers could be made.
E.g. with discrete GPUs, it's the only codec of the card, so it seems feasible
to detach the ALSA card if i915 is bound (using infra made for VGA
switcheroo), but, until these improvements are done and land in
upstream, audio drivers needs to be unbound if i915 driver goes unbind.
Yet, even if such fixes got merged, this series is still needed, as it makes
such dependencies more explicit and easier to debug.
PS.: This series was generated against next-20220428.
---
v2: the dependencies are now handled directly at try_module_get().
Mauro Carvalho Chehab (2):
module: update dependencies at try_module_get()
ALSA: hda - identify when audio is provided by a video driver
include/linux/module.h | 4 +++-
kernel/module/main.c | 35 +++++++++++++++++++++++++++++++++--
sound/hda/hdac_component.c | 2 +-
3 files changed, 37 insertions(+), 4 deletions(-)
--
2.35.1
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH v2 0/2] Let userspace know when snd-hda-intel needs i915
@ 2022-04-30 10:30 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 10:30 UTC (permalink / raw)
To: Luis Chamberlain
Cc: mauro.chehab, alsa-devel, Kai Vehmanen, Greg KH, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Jaroslav Kysela,
David Airlie, linux-modules, Mauro Carvalho Chehab, linux-kernel,
Pierre-Louis Bossart
Currently, kernel/module annotates module dependencies when
request_symbol is used, but it doesn't cover more complex inter-driver
dependencies that are subsystem and/or driver-specific.
In the case of hdmi sound, depending on the CPU/GPU, sometimes the
snd_hda_driver can talk directly with the hardware, but sometimes, it
uses the i915 driver. When the snd_hda_driver uses i915, it should
first be unbind/rmmod, as otherwise trying to unbind/rmmod the i915
driver cause driver issues, as as reported by CI tools with different
GPU models:
https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6415/fi-tgl-1115g4/igt@core_hotunplug@unbind-rebind.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11495/bat-adlm-1/igt@i915_module_load@reload.html
In the past, just a few CPUs were doing such bindings, but this issue now
applies to all "modern" Intel CPUs that have onboard graphics, as well as
to the newer discrete GPUs.
With the discrete GPU case, the HDA controller is physically separate and
requires i915 to power on the hardware for all hardware access. In this
case, the issue is hit basicly 100% of the time.
With on-board graphics, i915 driver is needed only when the display
codec is accessed. If i915 is unbind during runtime suspend, while
snd-hda-intel is still bound, nothing bad happens, but unbinding i915
on other situations may also cause issues.
So, add support at kernel/modules to allow snd-hda drivers to properly
annotate when a dependency on a DRM driver dependencies exists,
and add a call to such new function at the snd-hda driver when it
successfully binds into the DRM driver.
This would allow userspace tools to check and properly remove the
audio driver before trying to remove or unbind the GPU driver.
It should be noticed that this series conveys the hidden module
dependencies. Other changes are needed in order to allow
removing or unbinding the i915 driver while keeping the snd-hda-intel
driver loaded/bound. With that regards, there are some discussions on
how to improve this at alsa-devel a while back:
https://mailman.alsa-project.org/pipermail/alsa-devel/2021-September/190099.html
So, future improvements on both in i915 and the audio drivers could be made.
E.g. with discrete GPUs, it's the only codec of the card, so it seems feasible
to detach the ALSA card if i915 is bound (using infra made for VGA
switcheroo), but, until these improvements are done and land in
upstream, audio drivers needs to be unbound if i915 driver goes unbind.
Yet, even if such fixes got merged, this series is still needed, as it makes
such dependencies more explicit and easier to debug.
PS.: This series was generated against next-20220428.
---
v2: the dependencies are now handled directly at try_module_get().
Mauro Carvalho Chehab (2):
module: update dependencies at try_module_get()
ALSA: hda - identify when audio is provided by a video driver
include/linux/module.h | 4 +++-
kernel/module/main.c | 35 +++++++++++++++++++++++++++++++++--
sound/hda/hdac_component.c | 2 +-
3 files changed, 37 insertions(+), 4 deletions(-)
--
2.35.1
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Intel-gfx] [PATCH v2 0/2] Let userspace know when snd-hda-intel needs i915
@ 2022-04-30 10:30 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 10:30 UTC (permalink / raw)
To: Luis Chamberlain
Cc: mauro.chehab, alsa-devel, Kai Vehmanen, Greg KH, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Jaroslav Kysela,
David Airlie, linux-modules, Mauro Carvalho Chehab, linux-kernel,
Pierre-Louis Bossart
Currently, kernel/module annotates module dependencies when
request_symbol is used, but it doesn't cover more complex inter-driver
dependencies that are subsystem and/or driver-specific.
In the case of hdmi sound, depending on the CPU/GPU, sometimes the
snd_hda_driver can talk directly with the hardware, but sometimes, it
uses the i915 driver. When the snd_hda_driver uses i915, it should
first be unbind/rmmod, as otherwise trying to unbind/rmmod the i915
driver cause driver issues, as as reported by CI tools with different
GPU models:
https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6415/fi-tgl-1115g4/igt@core_hotunplug@unbind-rebind.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11495/bat-adlm-1/igt@i915_module_load@reload.html
In the past, just a few CPUs were doing such bindings, but this issue now
applies to all "modern" Intel CPUs that have onboard graphics, as well as
to the newer discrete GPUs.
With the discrete GPU case, the HDA controller is physically separate and
requires i915 to power on the hardware for all hardware access. In this
case, the issue is hit basicly 100% of the time.
With on-board graphics, i915 driver is needed only when the display
codec is accessed. If i915 is unbind during runtime suspend, while
snd-hda-intel is still bound, nothing bad happens, but unbinding i915
on other situations may also cause issues.
So, add support at kernel/modules to allow snd-hda drivers to properly
annotate when a dependency on a DRM driver dependencies exists,
and add a call to such new function at the snd-hda driver when it
successfully binds into the DRM driver.
This would allow userspace tools to check and properly remove the
audio driver before trying to remove or unbind the GPU driver.
It should be noticed that this series conveys the hidden module
dependencies. Other changes are needed in order to allow
removing or unbinding the i915 driver while keeping the snd-hda-intel
driver loaded/bound. With that regards, there are some discussions on
how to improve this at alsa-devel a while back:
https://mailman.alsa-project.org/pipermail/alsa-devel/2021-September/190099.html
So, future improvements on both in i915 and the audio drivers could be made.
E.g. with discrete GPUs, it's the only codec of the card, so it seems feasible
to detach the ALSA card if i915 is bound (using infra made for VGA
switcheroo), but, until these improvements are done and land in
upstream, audio drivers needs to be unbound if i915 driver goes unbind.
Yet, even if such fixes got merged, this series is still needed, as it makes
such dependencies more explicit and easier to debug.
PS.: This series was generated against next-20220428.
---
v2: the dependencies are now handled directly at try_module_get().
Mauro Carvalho Chehab (2):
module: update dependencies at try_module_get()
ALSA: hda - identify when audio is provided by a video driver
include/linux/module.h | 4 +++-
kernel/module/main.c | 35 +++++++++++++++++++++++++++++++++--
sound/hda/hdac_component.c | 2 +-
3 files changed, 37 insertions(+), 4 deletions(-)
--
2.35.1
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH v2 0/2] Let userspace know when snd-hda-intel needs i915
@ 2022-04-30 10:30 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 10:30 UTC (permalink / raw)
To: Luis Chamberlain
Cc: mauro.chehab, alsa-devel, Kai Vehmanen, Greg KH, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, David Airlie,
linux-modules, Daniel Vetter, Mauro Carvalho Chehab,
linux-kernel, Pierre-Louis Bossart
Currently, kernel/module annotates module dependencies when
request_symbol is used, but it doesn't cover more complex inter-driver
dependencies that are subsystem and/or driver-specific.
In the case of hdmi sound, depending on the CPU/GPU, sometimes the
snd_hda_driver can talk directly with the hardware, but sometimes, it
uses the i915 driver. When the snd_hda_driver uses i915, it should
first be unbind/rmmod, as otherwise trying to unbind/rmmod the i915
driver cause driver issues, as as reported by CI tools with different
GPU models:
https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6415/fi-tgl-1115g4/igt@core_hotunplug@unbind-rebind.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11495/bat-adlm-1/igt@i915_module_load@reload.html
In the past, just a few CPUs were doing such bindings, but this issue now
applies to all "modern" Intel CPUs that have onboard graphics, as well as
to the newer discrete GPUs.
With the discrete GPU case, the HDA controller is physically separate and
requires i915 to power on the hardware for all hardware access. In this
case, the issue is hit basicly 100% of the time.
With on-board graphics, i915 driver is needed only when the display
codec is accessed. If i915 is unbind during runtime suspend, while
snd-hda-intel is still bound, nothing bad happens, but unbinding i915
on other situations may also cause issues.
So, add support at kernel/modules to allow snd-hda drivers to properly
annotate when a dependency on a DRM driver dependencies exists,
and add a call to such new function at the snd-hda driver when it
successfully binds into the DRM driver.
This would allow userspace tools to check and properly remove the
audio driver before trying to remove or unbind the GPU driver.
It should be noticed that this series conveys the hidden module
dependencies. Other changes are needed in order to allow
removing or unbinding the i915 driver while keeping the snd-hda-intel
driver loaded/bound. With that regards, there are some discussions on
how to improve this at alsa-devel a while back:
https://mailman.alsa-project.org/pipermail/alsa-devel/2021-September/190099.html
So, future improvements on both in i915 and the audio drivers could be made.
E.g. with discrete GPUs, it's the only codec of the card, so it seems feasible
to detach the ALSA card if i915 is bound (using infra made for VGA
switcheroo), but, until these improvements are done and land in
upstream, audio drivers needs to be unbound if i915 driver goes unbind.
Yet, even if such fixes got merged, this series is still needed, as it makes
such dependencies more explicit and easier to debug.
PS.: This series was generated against next-20220428.
---
v2: the dependencies are now handled directly at try_module_get().
Mauro Carvalho Chehab (2):
module: update dependencies at try_module_get()
ALSA: hda - identify when audio is provided by a video driver
include/linux/module.h | 4 +++-
kernel/module/main.c | 35 +++++++++++++++++++++++++++++++++--
sound/hda/hdac_component.c | 2 +-
3 files changed, 37 insertions(+), 4 deletions(-)
--
2.35.1
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH v2 1/2] module: update dependencies at try_module_get()
2022-04-30 10:30 ` Mauro Carvalho Chehab
(?)
(?)
@ 2022-04-30 10:30 ` Mauro Carvalho Chehab
-1 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 10:30 UTC (permalink / raw)
To: Luis Chamberlain
Cc: Mauro Carvalho Chehab, Daniel Vetter, David Airlie, Greg KH,
Jaroslav Kysela, Kai Vehmanen, Lucas De Marchi,
Pierre-Louis Bossart, Takashi Iwai, alsa-devel, dri-devel,
intel-gfx, linux-kernel, linux-modules, mauro.chehab,
Dan Williams
Sometimes, device drivers are bound into each other via try_module_get(),
making such references invisible when looking at /proc/modules or lsmod.
Add a function to allow setting up module references for such
cases, and call it when try_module_get() is used.
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
See [PATCH v2 0/2] at: https://lore.kernel.org/all/cover.1651314499.git.mchehab@kernel.org/
include/linux/module.h | 4 +++-
kernel/module/main.c | 35 +++++++++++++++++++++++++++++++++--
2 files changed, 36 insertions(+), 3 deletions(-)
diff --git a/include/linux/module.h b/include/linux/module.h
index 46d4d5f2516e..836851baaad4 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -620,7 +620,9 @@ extern void __module_get(struct module *module);
/* This is the Right Way to get a module: if it fails, it's being removed,
* so pretend it's not there. */
-extern bool try_module_get(struct module *module);
+extern bool __try_module_get(struct module *module, struct module *this);
+
+#define try_module_get(mod) __try_module_get(mod, THIS_MODULE)
extern void module_put(struct module *module);
diff --git a/kernel/module/main.c b/kernel/module/main.c
index 05a42d8fcd7a..9f4416381e65 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c
@@ -631,6 +631,35 @@ static int ref_module(struct module *a, struct module *b)
return 0;
}
+static int ref_module_dependency(struct module *mod,
+ struct module *this)
+{
+ int ret;
+
+ if (!this || !this->name) {
+ return -EINVAL;
+ }
+
+ if (mod == this)
+ return 0;
+
+ mutex_lock(&module_mutex);
+
+ ret = ref_module(this, mod);
+
+#ifdef CONFIG_MODULE_UNLOAD
+ if (ret)
+ goto ret;
+
+ ret = sysfs_create_link(mod->holders_dir,
+ &this->mkobj.kobj, this->name);
+#endif
+
+ret:
+ mutex_unlock(&module_mutex);
+ return ret;
+}
+
/* Clear the unload stuff of the module. */
static void module_unload_free(struct module *mod)
{
@@ -841,7 +870,7 @@ void __module_get(struct module *module)
}
EXPORT_SYMBOL(__module_get);
-bool try_module_get(struct module *module)
+bool __try_module_get(struct module *module, struct module *this)
{
bool ret = true;
@@ -856,9 +885,11 @@ bool try_module_get(struct module *module)
preempt_enable();
}
+ if (ret)
+ ref_module_dependency(module, this);
return ret;
}
-EXPORT_SYMBOL(try_module_get);
+EXPORT_SYMBOL(__try_module_get);
void module_put(struct module *module)
{
--
2.35.1
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH v2 1/2] module: update dependencies at try_module_get()
@ 2022-04-30 10:30 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 10:30 UTC (permalink / raw)
To: Luis Chamberlain
Cc: alsa-devel, mauro.chehab, David Airlie, Greg KH, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Jaroslav Kysela,
Kai Vehmanen, linux-modules, Dan Williams, Mauro Carvalho Chehab,
linux-kernel, Pierre-Louis Bossart
Sometimes, device drivers are bound into each other via try_module_get(),
making such references invisible when looking at /proc/modules or lsmod.
Add a function to allow setting up module references for such
cases, and call it when try_module_get() is used.
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
See [PATCH v2 0/2] at: https://lore.kernel.org/all/cover.1651314499.git.mchehab@kernel.org/
include/linux/module.h | 4 +++-
kernel/module/main.c | 35 +++++++++++++++++++++++++++++++++--
2 files changed, 36 insertions(+), 3 deletions(-)
diff --git a/include/linux/module.h b/include/linux/module.h
index 46d4d5f2516e..836851baaad4 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -620,7 +620,9 @@ extern void __module_get(struct module *module);
/* This is the Right Way to get a module: if it fails, it's being removed,
* so pretend it's not there. */
-extern bool try_module_get(struct module *module);
+extern bool __try_module_get(struct module *module, struct module *this);
+
+#define try_module_get(mod) __try_module_get(mod, THIS_MODULE)
extern void module_put(struct module *module);
diff --git a/kernel/module/main.c b/kernel/module/main.c
index 05a42d8fcd7a..9f4416381e65 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c
@@ -631,6 +631,35 @@ static int ref_module(struct module *a, struct module *b)
return 0;
}
+static int ref_module_dependency(struct module *mod,
+ struct module *this)
+{
+ int ret;
+
+ if (!this || !this->name) {
+ return -EINVAL;
+ }
+
+ if (mod == this)
+ return 0;
+
+ mutex_lock(&module_mutex);
+
+ ret = ref_module(this, mod);
+
+#ifdef CONFIG_MODULE_UNLOAD
+ if (ret)
+ goto ret;
+
+ ret = sysfs_create_link(mod->holders_dir,
+ &this->mkobj.kobj, this->name);
+#endif
+
+ret:
+ mutex_unlock(&module_mutex);
+ return ret;
+}
+
/* Clear the unload stuff of the module. */
static void module_unload_free(struct module *mod)
{
@@ -841,7 +870,7 @@ void __module_get(struct module *module)
}
EXPORT_SYMBOL(__module_get);
-bool try_module_get(struct module *module)
+bool __try_module_get(struct module *module, struct module *this)
{
bool ret = true;
@@ -856,9 +885,11 @@ bool try_module_get(struct module *module)
preempt_enable();
}
+ if (ret)
+ ref_module_dependency(module, this);
return ret;
}
-EXPORT_SYMBOL(try_module_get);
+EXPORT_SYMBOL(__try_module_get);
void module_put(struct module *module)
{
--
2.35.1
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [Intel-gfx] [PATCH v2 1/2] module: update dependencies at try_module_get()
@ 2022-04-30 10:30 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 10:30 UTC (permalink / raw)
To: Luis Chamberlain
Cc: alsa-devel, mauro.chehab, David Airlie, Greg KH, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Jaroslav Kysela,
Kai Vehmanen, linux-modules, Dan Williams, Mauro Carvalho Chehab,
linux-kernel, Pierre-Louis Bossart
Sometimes, device drivers are bound into each other via try_module_get(),
making such references invisible when looking at /proc/modules or lsmod.
Add a function to allow setting up module references for such
cases, and call it when try_module_get() is used.
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
See [PATCH v2 0/2] at: https://lore.kernel.org/all/cover.1651314499.git.mchehab@kernel.org/
include/linux/module.h | 4 +++-
kernel/module/main.c | 35 +++++++++++++++++++++++++++++++++--
2 files changed, 36 insertions(+), 3 deletions(-)
diff --git a/include/linux/module.h b/include/linux/module.h
index 46d4d5f2516e..836851baaad4 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -620,7 +620,9 @@ extern void __module_get(struct module *module);
/* This is the Right Way to get a module: if it fails, it's being removed,
* so pretend it's not there. */
-extern bool try_module_get(struct module *module);
+extern bool __try_module_get(struct module *module, struct module *this);
+
+#define try_module_get(mod) __try_module_get(mod, THIS_MODULE)
extern void module_put(struct module *module);
diff --git a/kernel/module/main.c b/kernel/module/main.c
index 05a42d8fcd7a..9f4416381e65 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c
@@ -631,6 +631,35 @@ static int ref_module(struct module *a, struct module *b)
return 0;
}
+static int ref_module_dependency(struct module *mod,
+ struct module *this)
+{
+ int ret;
+
+ if (!this || !this->name) {
+ return -EINVAL;
+ }
+
+ if (mod == this)
+ return 0;
+
+ mutex_lock(&module_mutex);
+
+ ret = ref_module(this, mod);
+
+#ifdef CONFIG_MODULE_UNLOAD
+ if (ret)
+ goto ret;
+
+ ret = sysfs_create_link(mod->holders_dir,
+ &this->mkobj.kobj, this->name);
+#endif
+
+ret:
+ mutex_unlock(&module_mutex);
+ return ret;
+}
+
/* Clear the unload stuff of the module. */
static void module_unload_free(struct module *mod)
{
@@ -841,7 +870,7 @@ void __module_get(struct module *module)
}
EXPORT_SYMBOL(__module_get);
-bool try_module_get(struct module *module)
+bool __try_module_get(struct module *module, struct module *this)
{
bool ret = true;
@@ -856,9 +885,11 @@ bool try_module_get(struct module *module)
preempt_enable();
}
+ if (ret)
+ ref_module_dependency(module, this);
return ret;
}
-EXPORT_SYMBOL(try_module_get);
+EXPORT_SYMBOL(__try_module_get);
void module_put(struct module *module)
{
--
2.35.1
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH v2 1/2] module: update dependencies at try_module_get()
@ 2022-04-30 10:30 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 10:30 UTC (permalink / raw)
To: Luis Chamberlain
Cc: alsa-devel, mauro.chehab, David Airlie, Greg KH, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Kai Vehmanen,
linux-modules, Daniel Vetter, Dan Williams,
Mauro Carvalho Chehab, linux-kernel, Pierre-Louis Bossart
Sometimes, device drivers are bound into each other via try_module_get(),
making such references invisible when looking at /proc/modules or lsmod.
Add a function to allow setting up module references for such
cases, and call it when try_module_get() is used.
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
See [PATCH v2 0/2] at: https://lore.kernel.org/all/cover.1651314499.git.mchehab@kernel.org/
include/linux/module.h | 4 +++-
kernel/module/main.c | 35 +++++++++++++++++++++++++++++++++--
2 files changed, 36 insertions(+), 3 deletions(-)
diff --git a/include/linux/module.h b/include/linux/module.h
index 46d4d5f2516e..836851baaad4 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -620,7 +620,9 @@ extern void __module_get(struct module *module);
/* This is the Right Way to get a module: if it fails, it's being removed,
* so pretend it's not there. */
-extern bool try_module_get(struct module *module);
+extern bool __try_module_get(struct module *module, struct module *this);
+
+#define try_module_get(mod) __try_module_get(mod, THIS_MODULE)
extern void module_put(struct module *module);
diff --git a/kernel/module/main.c b/kernel/module/main.c
index 05a42d8fcd7a..9f4416381e65 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c
@@ -631,6 +631,35 @@ static int ref_module(struct module *a, struct module *b)
return 0;
}
+static int ref_module_dependency(struct module *mod,
+ struct module *this)
+{
+ int ret;
+
+ if (!this || !this->name) {
+ return -EINVAL;
+ }
+
+ if (mod == this)
+ return 0;
+
+ mutex_lock(&module_mutex);
+
+ ret = ref_module(this, mod);
+
+#ifdef CONFIG_MODULE_UNLOAD
+ if (ret)
+ goto ret;
+
+ ret = sysfs_create_link(mod->holders_dir,
+ &this->mkobj.kobj, this->name);
+#endif
+
+ret:
+ mutex_unlock(&module_mutex);
+ return ret;
+}
+
/* Clear the unload stuff of the module. */
static void module_unload_free(struct module *mod)
{
@@ -841,7 +870,7 @@ void __module_get(struct module *module)
}
EXPORT_SYMBOL(__module_get);
-bool try_module_get(struct module *module)
+bool __try_module_get(struct module *module, struct module *this)
{
bool ret = true;
@@ -856,9 +885,11 @@ bool try_module_get(struct module *module)
preempt_enable();
}
+ if (ret)
+ ref_module_dependency(module, this);
return ret;
}
-EXPORT_SYMBOL(try_module_get);
+EXPORT_SYMBOL(__try_module_get);
void module_put(struct module *module)
{
--
2.35.1
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH v2 2/2] ALSA: hda - identify when audio is provided by a video driver
2022-04-30 10:30 ` Mauro Carvalho Chehab
(?)
(?)
@ 2022-04-30 10:30 ` Mauro Carvalho Chehab
-1 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 10:30 UTC (permalink / raw)
To: Luis Chamberlain
Cc: Mauro Carvalho Chehab, Daniel Vetter, David Airlie, Greg KH,
Jaroslav Kysela, Kai Vehmanen, Lucas De Marchi,
Pierre-Louis Bossart, Takashi Iwai, alsa-devel, dri-devel,
intel-gfx, linux-kernel, linux-modules, mauro.chehab
On some devices, the hda driver needs to hook into a video driver,
in order to be able to properly access the audio hardware and/or
the power management function.
That's the case of several snd_hda_intel devices that depends on
i915 driver.
Ensure that a proper reference between the snd-hda driver needing
such binding is shown at /proc/modules, in order to allow userspace
to know about such binding.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
See [PATCH v2 0/2] at: https://lore.kernel.org/all/cover.1651314499.git.mchehab@kernel.org/
sound/hda/hdac_component.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/hda/hdac_component.c b/sound/hda/hdac_component.c
index bb37e7e0bd79..30e130457272 100644
--- a/sound/hda/hdac_component.c
+++ b/sound/hda/hdac_component.c
@@ -199,7 +199,7 @@ static int hdac_component_master_bind(struct device *dev)
}
/* pin the module to avoid dynamic unbinding, but only if given */
- if (!try_module_get(acomp->ops->owner)) {
+ if (!__try_module_get(acomp->ops->owner, dev->driver->owner)) {
ret = -ENODEV;
goto out_unbind;
}
--
2.35.1
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH v2 2/2] ALSA: hda - identify when audio is provided by a video driver
@ 2022-04-30 10:30 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 10:30 UTC (permalink / raw)
To: Luis Chamberlain
Cc: alsa-devel, mauro.chehab, David Airlie, Greg KH, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Jaroslav Kysela,
Kai Vehmanen, linux-modules, Mauro Carvalho Chehab, linux-kernel,
Pierre-Louis Bossart
On some devices, the hda driver needs to hook into a video driver,
in order to be able to properly access the audio hardware and/or
the power management function.
That's the case of several snd_hda_intel devices that depends on
i915 driver.
Ensure that a proper reference between the snd-hda driver needing
such binding is shown at /proc/modules, in order to allow userspace
to know about such binding.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
See [PATCH v2 0/2] at: https://lore.kernel.org/all/cover.1651314499.git.mchehab@kernel.org/
sound/hda/hdac_component.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/hda/hdac_component.c b/sound/hda/hdac_component.c
index bb37e7e0bd79..30e130457272 100644
--- a/sound/hda/hdac_component.c
+++ b/sound/hda/hdac_component.c
@@ -199,7 +199,7 @@ static int hdac_component_master_bind(struct device *dev)
}
/* pin the module to avoid dynamic unbinding, but only if given */
- if (!try_module_get(acomp->ops->owner)) {
+ if (!__try_module_get(acomp->ops->owner, dev->driver->owner)) {
ret = -ENODEV;
goto out_unbind;
}
--
2.35.1
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [Intel-gfx] [PATCH v2 2/2] ALSA: hda - identify when audio is provided by a video driver
@ 2022-04-30 10:30 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 10:30 UTC (permalink / raw)
To: Luis Chamberlain
Cc: alsa-devel, mauro.chehab, David Airlie, Greg KH, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Jaroslav Kysela,
Kai Vehmanen, linux-modules, Mauro Carvalho Chehab, linux-kernel,
Pierre-Louis Bossart
On some devices, the hda driver needs to hook into a video driver,
in order to be able to properly access the audio hardware and/or
the power management function.
That's the case of several snd_hda_intel devices that depends on
i915 driver.
Ensure that a proper reference between the snd-hda driver needing
such binding is shown at /proc/modules, in order to allow userspace
to know about such binding.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
See [PATCH v2 0/2] at: https://lore.kernel.org/all/cover.1651314499.git.mchehab@kernel.org/
sound/hda/hdac_component.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/hda/hdac_component.c b/sound/hda/hdac_component.c
index bb37e7e0bd79..30e130457272 100644
--- a/sound/hda/hdac_component.c
+++ b/sound/hda/hdac_component.c
@@ -199,7 +199,7 @@ static int hdac_component_master_bind(struct device *dev)
}
/* pin the module to avoid dynamic unbinding, but only if given */
- if (!try_module_get(acomp->ops->owner)) {
+ if (!__try_module_get(acomp->ops->owner, dev->driver->owner)) {
ret = -ENODEV;
goto out_unbind;
}
--
2.35.1
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH v2 2/2] ALSA: hda - identify when audio is provided by a video driver
@ 2022-04-30 10:30 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 10:30 UTC (permalink / raw)
To: Luis Chamberlain
Cc: alsa-devel, mauro.chehab, David Airlie, Greg KH, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Kai Vehmanen,
linux-modules, Daniel Vetter, Mauro Carvalho Chehab,
linux-kernel, Pierre-Louis Bossart
On some devices, the hda driver needs to hook into a video driver,
in order to be able to properly access the audio hardware and/or
the power management function.
That's the case of several snd_hda_intel devices that depends on
i915 driver.
Ensure that a proper reference between the snd-hda driver needing
such binding is shown at /proc/modules, in order to allow userspace
to know about such binding.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
See [PATCH v2 0/2] at: https://lore.kernel.org/all/cover.1651314499.git.mchehab@kernel.org/
sound/hda/hdac_component.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/hda/hdac_component.c b/sound/hda/hdac_component.c
index bb37e7e0bd79..30e130457272 100644
--- a/sound/hda/hdac_component.c
+++ b/sound/hda/hdac_component.c
@@ -199,7 +199,7 @@ static int hdac_component_master_bind(struct device *dev)
}
/* pin the module to avoid dynamic unbinding, but only if given */
- if (!try_module_get(acomp->ops->owner)) {
+ if (!__try_module_get(acomp->ops->owner, dev->driver->owner)) {
ret = -ENODEV;
goto out_unbind;
}
--
2.35.1
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for Let userspace know when snd-hda-intel needs i915 (rev2)
2022-04-30 10:30 ` Mauro Carvalho Chehab
` (4 preceding siblings ...)
(?)
@ 2022-04-30 11:00 ` Patchwork
-1 siblings, 0 replies; 27+ messages in thread
From: Patchwork @ 2022-04-30 11:00 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: intel-gfx
== Series Details ==
Series: Let userspace know when snd-hda-intel needs i915 (rev2)
URL : https://patchwork.freedesktop.org/series/103315/
State : warning
== Summary ==
Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for Let userspace know when snd-hda-intel needs i915 (rev2)
2022-04-30 10:30 ` Mauro Carvalho Chehab
` (5 preceding siblings ...)
(?)
@ 2022-04-30 11:31 ` Patchwork
-1 siblings, 0 replies; 27+ messages in thread
From: Patchwork @ 2022-04-30 11:31 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 8285 bytes --]
== Series Details ==
Series: Let userspace know when snd-hda-intel needs i915 (rev2)
URL : https://patchwork.freedesktop.org/series/103315/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_11584 -> Patchwork_103315v2
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/index.html
Participating hosts (44 -> 42)
------------------------------
Additional (2): bat-rpls-1 fi-rkl-11600
Missing (4): bat-adlm-1 fi-bsw-cyan fi-bsw-nick fi-kbl-8809g
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_103315v2:
### IGT changes ###
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@gem_exec_suspend@basic-s3@smem:
- {bat-rpls-1}: NOTRUN -> [INCOMPLETE][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/bat-rpls-1/igt@gem_exec_suspend@basic-s3@smem.html
* igt@gem_ringfill@basic-all:
- {bat-dg2-9}: [PASS][2] -> [FAIL][3]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/bat-dg2-9/igt@gem_ringfill@basic-all.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/bat-dg2-9/igt@gem_ringfill@basic-all.html
Known issues
------------
Here are the changes found in Patchwork_103315v2 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_huc_copy@huc-copy:
- fi-rkl-11600: NOTRUN -> [SKIP][4] ([i915#2190])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-rkl-11600/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@basic:
- fi-rkl-11600: NOTRUN -> [SKIP][5] ([i915#4613]) +3 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-rkl-11600/igt@gem_lmem_swapping@basic.html
* igt@gem_tiled_pread_basic:
- fi-rkl-11600: NOTRUN -> [SKIP][6] ([i915#3282])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-rkl-11600/igt@gem_tiled_pread_basic.html
* igt@i915_pm_backlight@basic-brightness:
- fi-rkl-11600: NOTRUN -> [SKIP][7] ([i915#3012])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-rkl-11600/igt@i915_pm_backlight@basic-brightness.html
* igt@i915_selftest@live@gem_contexts:
- fi-bdw-5557u: [PASS][8] -> [INCOMPLETE][9] ([i915#5502] / [i915#5801])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/fi-bdw-5557u/igt@i915_selftest@live@gem_contexts.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-bdw-5557u/igt@i915_selftest@live@gem_contexts.html
* igt@kms_chamelium@dp-crc-fast:
- fi-rkl-11600: NOTRUN -> [SKIP][10] ([fdo#111827]) +8 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-rkl-11600/igt@kms_chamelium@dp-crc-fast.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- fi-rkl-11600: NOTRUN -> [SKIP][11] ([i915#4070] / [i915#4103]) +1 similar issue
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-rkl-11600/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_force_connector_basic@force-load-detect:
- fi-rkl-11600: NOTRUN -> [SKIP][12] ([fdo#109285] / [i915#4098])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-rkl-11600/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
- fi-rkl-11600: NOTRUN -> [SKIP][13] ([i915#4070] / [i915#533])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-rkl-11600/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html
* igt@kms_psr@primary_mmap_gtt:
- fi-rkl-11600: NOTRUN -> [SKIP][14] ([i915#1072]) +3 similar issues
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-rkl-11600/igt@kms_psr@primary_mmap_gtt.html
* igt@kms_setmode@basic-clone-single-crtc:
- fi-rkl-11600: NOTRUN -> [SKIP][15] ([i915#3555] / [i915#4098])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-rkl-11600/igt@kms_setmode@basic-clone-single-crtc.html
* igt@prime_vgem@basic-userptr:
- fi-rkl-11600: NOTRUN -> [SKIP][16] ([i915#3301] / [i915#3708])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-rkl-11600/igt@prime_vgem@basic-userptr.html
* igt@prime_vgem@basic-write:
- fi-rkl-11600: NOTRUN -> [SKIP][17] ([i915#3291] / [i915#3708]) +2 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-rkl-11600/igt@prime_vgem@basic-write.html
#### Possible fixes ####
* igt@core_auth@basic-auth:
- fi-kbl-soraka: [DMESG-WARN][18] ([i915#1982]) -> [PASS][19]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/fi-kbl-soraka/igt@core_auth@basic-auth.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-kbl-soraka/igt@core_auth@basic-auth.html
* igt@i915_pm_rpm@module-reload:
- fi-cfl-8109u: [DMESG-WARN][20] ([i915#62]) -> [PASS][21] +16 similar issues
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/fi-cfl-8109u/igt@i915_pm_rpm@module-reload.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/fi-cfl-8109u/igt@i915_pm_rpm@module-reload.html
* igt@kms_flip@basic-flip-vs-modeset@b-edp1:
- {bat-adlp-6}: [DMESG-WARN][22] ([i915#3576]) -> [PASS][23] +2 similar issues
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/bat-adlp-6/igt@kms_flip@basic-flip-vs-modeset@b-edp1.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/bat-adlp-6/igt@kms_flip@basic-flip-vs-modeset@b-edp1.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#3012]: https://gitlab.freedesktop.org/drm/intel/issues/3012
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
[i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3576]: https://gitlab.freedesktop.org/drm/intel/issues/3576
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#5270]: https://gitlab.freedesktop.org/drm/intel/issues/5270
[i915#5278]: https://gitlab.freedesktop.org/drm/intel/issues/5278
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5356]: https://gitlab.freedesktop.org/drm/intel/issues/5356
[i915#5502]: https://gitlab.freedesktop.org/drm/intel/issues/5502
[i915#5801]: https://gitlab.freedesktop.org/drm/intel/issues/5801
[i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62
Build changes
-------------
* Linux: CI_DRM_11584 -> Patchwork_103315v2
CI-20190529: 20190529
CI_DRM_11584: 3ae2e00290c290713e21118220a817a24b44d39f @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_6464: eddc67c5c85b8ee6eb4d13752ca43da5073dc985 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_103315v2: 3ae2e00290c290713e21118220a817a24b44d39f @ git://anongit.freedesktop.org/gfx-ci/linux
### Linux commits
d3794e65b728 ALSA: hda - identify when audio is provided by a video driver
a43282c60996 module: update dependencies at try_module_get()
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/index.html
[-- Attachment #2: Type: text/html, Size: 9363 bytes --]
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH v2 1/2] module: update dependencies at try_module_get()
2022-04-30 10:30 ` Mauro Carvalho Chehab
(?)
(?)
@ 2022-04-30 12:04 ` Greg KH
-1 siblings, 0 replies; 27+ messages in thread
From: Greg KH @ 2022-04-30 12:04 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Luis Chamberlain, Daniel Vetter, David Airlie, Jaroslav Kysela,
Kai Vehmanen, Lucas De Marchi, Pierre-Louis Bossart,
Takashi Iwai, alsa-devel, dri-devel, intel-gfx, linux-kernel,
linux-modules, mauro.chehab, Dan Williams
On Sat, Apr 30, 2022 at 11:30:58AM +0100, Mauro Carvalho Chehab wrote:
> Sometimes, device drivers are bound into each other via try_module_get(),
> making such references invisible when looking at /proc/modules or lsmod.
>
> Add a function to allow setting up module references for such
> cases, and call it when try_module_get() is used.
>
> Reviewed-by: Dan Williams <dan.j.williams@intel.com>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
> ---
>
> See [PATCH v2 0/2] at: https://lore.kernel.org/all/cover.1651314499.git.mchehab@kernel.org/
>
> include/linux/module.h | 4 +++-
> kernel/module/main.c | 35 +++++++++++++++++++++++++++++++++--
> 2 files changed, 36 insertions(+), 3 deletions(-)
>
> diff --git a/include/linux/module.h b/include/linux/module.h
> index 46d4d5f2516e..836851baaad4 100644
> --- a/include/linux/module.h
> +++ b/include/linux/module.h
> @@ -620,7 +620,9 @@ extern void __module_get(struct module *module);
>
> /* This is the Right Way to get a module: if it fails, it's being removed,
> * so pretend it's not there. */
> -extern bool try_module_get(struct module *module);
> +extern bool __try_module_get(struct module *module, struct module *this);
> +
> +#define try_module_get(mod) __try_module_get(mod, THIS_MODULE)
>
> extern void module_put(struct module *module);
>
> diff --git a/kernel/module/main.c b/kernel/module/main.c
> index 05a42d8fcd7a..9f4416381e65 100644
> --- a/kernel/module/main.c
> +++ b/kernel/module/main.c
> @@ -631,6 +631,35 @@ static int ref_module(struct module *a, struct module *b)
> return 0;
> }
>
> +static int ref_module_dependency(struct module *mod,
> + struct module *this)
This can be on one line, right?
> +{
> + int ret;
> +
> + if (!this || !this->name) {
> + return -EINVAL;
> + }
Did you run checkpatch on this? Please do :)
> +
> + if (mod == this)
> + return 0;
How can this happen?
When people mistakenly call try_module_get(THIS_MODULE)? We should
throw up a big warning when that happens anyway as that's always wrong.
But that's a different issue from this change, sorry for the noise.
> +
> + mutex_lock(&module_mutex);
> +
> + ret = ref_module(this, mod);
> +
> +#ifdef CONFIG_MODULE_UNLOAD
> + if (ret)
> + goto ret;
> +
> + ret = sysfs_create_link(mod->holders_dir,
> + &this->mkobj.kobj, this->name);
Meta comment, why do we only create links if we can unload things?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH v2 1/2] module: update dependencies at try_module_get()
@ 2022-04-30 12:04 ` Greg KH
0 siblings, 0 replies; 27+ messages in thread
From: Greg KH @ 2022-04-30 12:04 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: alsa-devel, mauro.chehab, David Airlie, linux-kernel, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Jaroslav Kysela,
Kai Vehmanen, Luis Chamberlain, Dan Williams, linux-modules,
Pierre-Louis Bossart
On Sat, Apr 30, 2022 at 11:30:58AM +0100, Mauro Carvalho Chehab wrote:
> Sometimes, device drivers are bound into each other via try_module_get(),
> making such references invisible when looking at /proc/modules or lsmod.
>
> Add a function to allow setting up module references for such
> cases, and call it when try_module_get() is used.
>
> Reviewed-by: Dan Williams <dan.j.williams@intel.com>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
> ---
>
> See [PATCH v2 0/2] at: https://lore.kernel.org/all/cover.1651314499.git.mchehab@kernel.org/
>
> include/linux/module.h | 4 +++-
> kernel/module/main.c | 35 +++++++++++++++++++++++++++++++++--
> 2 files changed, 36 insertions(+), 3 deletions(-)
>
> diff --git a/include/linux/module.h b/include/linux/module.h
> index 46d4d5f2516e..836851baaad4 100644
> --- a/include/linux/module.h
> +++ b/include/linux/module.h
> @@ -620,7 +620,9 @@ extern void __module_get(struct module *module);
>
> /* This is the Right Way to get a module: if it fails, it's being removed,
> * so pretend it's not there. */
> -extern bool try_module_get(struct module *module);
> +extern bool __try_module_get(struct module *module, struct module *this);
> +
> +#define try_module_get(mod) __try_module_get(mod, THIS_MODULE)
>
> extern void module_put(struct module *module);
>
> diff --git a/kernel/module/main.c b/kernel/module/main.c
> index 05a42d8fcd7a..9f4416381e65 100644
> --- a/kernel/module/main.c
> +++ b/kernel/module/main.c
> @@ -631,6 +631,35 @@ static int ref_module(struct module *a, struct module *b)
> return 0;
> }
>
> +static int ref_module_dependency(struct module *mod,
> + struct module *this)
This can be on one line, right?
> +{
> + int ret;
> +
> + if (!this || !this->name) {
> + return -EINVAL;
> + }
Did you run checkpatch on this? Please do :)
> +
> + if (mod == this)
> + return 0;
How can this happen?
When people mistakenly call try_module_get(THIS_MODULE)? We should
throw up a big warning when that happens anyway as that's always wrong.
But that's a different issue from this change, sorry for the noise.
> +
> + mutex_lock(&module_mutex);
> +
> + ret = ref_module(this, mod);
> +
> +#ifdef CONFIG_MODULE_UNLOAD
> + if (ret)
> + goto ret;
> +
> + ret = sysfs_create_link(mod->holders_dir,
> + &this->mkobj.kobj, this->name);
Meta comment, why do we only create links if we can unload things?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH v2 1/2] module: update dependencies at try_module_get()
@ 2022-04-30 12:04 ` Greg KH
0 siblings, 0 replies; 27+ messages in thread
From: Greg KH @ 2022-04-30 12:04 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: alsa-devel, mauro.chehab, David Airlie, linux-kernel, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Jaroslav Kysela,
Kai Vehmanen, Luis Chamberlain, Dan Williams, linux-modules,
Pierre-Louis Bossart
On Sat, Apr 30, 2022 at 11:30:58AM +0100, Mauro Carvalho Chehab wrote:
> Sometimes, device drivers are bound into each other via try_module_get(),
> making such references invisible when looking at /proc/modules or lsmod.
>
> Add a function to allow setting up module references for such
> cases, and call it when try_module_get() is used.
>
> Reviewed-by: Dan Williams <dan.j.williams@intel.com>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
> ---
>
> See [PATCH v2 0/2] at: https://lore.kernel.org/all/cover.1651314499.git.mchehab@kernel.org/
>
> include/linux/module.h | 4 +++-
> kernel/module/main.c | 35 +++++++++++++++++++++++++++++++++--
> 2 files changed, 36 insertions(+), 3 deletions(-)
>
> diff --git a/include/linux/module.h b/include/linux/module.h
> index 46d4d5f2516e..836851baaad4 100644
> --- a/include/linux/module.h
> +++ b/include/linux/module.h
> @@ -620,7 +620,9 @@ extern void __module_get(struct module *module);
>
> /* This is the Right Way to get a module: if it fails, it's being removed,
> * so pretend it's not there. */
> -extern bool try_module_get(struct module *module);
> +extern bool __try_module_get(struct module *module, struct module *this);
> +
> +#define try_module_get(mod) __try_module_get(mod, THIS_MODULE)
>
> extern void module_put(struct module *module);
>
> diff --git a/kernel/module/main.c b/kernel/module/main.c
> index 05a42d8fcd7a..9f4416381e65 100644
> --- a/kernel/module/main.c
> +++ b/kernel/module/main.c
> @@ -631,6 +631,35 @@ static int ref_module(struct module *a, struct module *b)
> return 0;
> }
>
> +static int ref_module_dependency(struct module *mod,
> + struct module *this)
This can be on one line, right?
> +{
> + int ret;
> +
> + if (!this || !this->name) {
> + return -EINVAL;
> + }
Did you run checkpatch on this? Please do :)
> +
> + if (mod == this)
> + return 0;
How can this happen?
When people mistakenly call try_module_get(THIS_MODULE)? We should
throw up a big warning when that happens anyway as that's always wrong.
But that's a different issue from this change, sorry for the noise.
> +
> + mutex_lock(&module_mutex);
> +
> + ret = ref_module(this, mod);
> +
> +#ifdef CONFIG_MODULE_UNLOAD
> + if (ret)
> + goto ret;
> +
> + ret = sysfs_create_link(mod->holders_dir,
> + &this->mkobj.kobj, this->name);
Meta comment, why do we only create links if we can unload things?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH v2 1/2] module: update dependencies at try_module_get()
@ 2022-04-30 12:04 ` Greg KH
0 siblings, 0 replies; 27+ messages in thread
From: Greg KH @ 2022-04-30 12:04 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: alsa-devel, mauro.chehab, David Airlie, linux-kernel, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Kai Vehmanen,
Luis Chamberlain, Daniel Vetter, Dan Williams, linux-modules,
Pierre-Louis Bossart
On Sat, Apr 30, 2022 at 11:30:58AM +0100, Mauro Carvalho Chehab wrote:
> Sometimes, device drivers are bound into each other via try_module_get(),
> making such references invisible when looking at /proc/modules or lsmod.
>
> Add a function to allow setting up module references for such
> cases, and call it when try_module_get() is used.
>
> Reviewed-by: Dan Williams <dan.j.williams@intel.com>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
> ---
>
> See [PATCH v2 0/2] at: https://lore.kernel.org/all/cover.1651314499.git.mchehab@kernel.org/
>
> include/linux/module.h | 4 +++-
> kernel/module/main.c | 35 +++++++++++++++++++++++++++++++++--
> 2 files changed, 36 insertions(+), 3 deletions(-)
>
> diff --git a/include/linux/module.h b/include/linux/module.h
> index 46d4d5f2516e..836851baaad4 100644
> --- a/include/linux/module.h
> +++ b/include/linux/module.h
> @@ -620,7 +620,9 @@ extern void __module_get(struct module *module);
>
> /* This is the Right Way to get a module: if it fails, it's being removed,
> * so pretend it's not there. */
> -extern bool try_module_get(struct module *module);
> +extern bool __try_module_get(struct module *module, struct module *this);
> +
> +#define try_module_get(mod) __try_module_get(mod, THIS_MODULE)
>
> extern void module_put(struct module *module);
>
> diff --git a/kernel/module/main.c b/kernel/module/main.c
> index 05a42d8fcd7a..9f4416381e65 100644
> --- a/kernel/module/main.c
> +++ b/kernel/module/main.c
> @@ -631,6 +631,35 @@ static int ref_module(struct module *a, struct module *b)
> return 0;
> }
>
> +static int ref_module_dependency(struct module *mod,
> + struct module *this)
This can be on one line, right?
> +{
> + int ret;
> +
> + if (!this || !this->name) {
> + return -EINVAL;
> + }
Did you run checkpatch on this? Please do :)
> +
> + if (mod == this)
> + return 0;
How can this happen?
When people mistakenly call try_module_get(THIS_MODULE)? We should
throw up a big warning when that happens anyway as that's always wrong.
But that's a different issue from this change, sorry for the noise.
> +
> + mutex_lock(&module_mutex);
> +
> + ret = ref_module(this, mod);
> +
> +#ifdef CONFIG_MODULE_UNLOAD
> + if (ret)
> + goto ret;
> +
> + ret = sysfs_create_link(mod->holders_dir,
> + &this->mkobj.kobj, this->name);
Meta comment, why do we only create links if we can unload things?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Intel-gfx] ✗ Fi.CI.IGT: failure for Let userspace know when snd-hda-intel needs i915 (rev2)
2022-04-30 10:30 ` Mauro Carvalho Chehab
` (6 preceding siblings ...)
(?)
@ 2022-04-30 13:24 ` Patchwork
-1 siblings, 0 replies; 27+ messages in thread
From: Patchwork @ 2022-04-30 13:24 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 57075 bytes --]
== Series Details ==
Series: Let userspace know when snd-hda-intel needs i915 (rev2)
URL : https://patchwork.freedesktop.org/series/103315/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_11584_full -> Patchwork_103315v2_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_103315v2_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_103315v2_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (13 -> 13)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_103315v2_full:
### IGT changes ###
#### Possible regressions ####
* {igt@kms_concurrent@pipe-b@hdmi-a-3} (NEW):
- {shard-dg1}: NOTRUN -> [CRASH][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-dg1-18/igt@kms_concurrent@pipe-b@hdmi-a-3.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff:
- shard-tglb: [PASS][2] -> [INCOMPLETE][3]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-tglb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-tglb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff.html
#### Warnings ####
* igt@kms_psr2_su@page_flip-nv12:
- shard-iclb: [SKIP][4] ([fdo#109642] / [fdo#111068] / [i915#658]) -> [FAIL][5] +1 similar issue
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-iclb3/igt@kms_psr2_su@page_flip-nv12.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb2/igt@kms_psr2_su@page_flip-nv12.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@i915_pm_rpm@system-suspend:
- {shard-dg1}: NOTRUN -> [INCOMPLETE][6]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-dg1-13/igt@i915_pm_rpm@system-suspend.html
* igt@perf_pmu@module-unload:
- {shard-rkl}: [PASS][7] -> [INCOMPLETE][8] +1 similar issue
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-6/igt@perf_pmu@module-unload.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-5/igt@perf_pmu@module-unload.html
New tests
---------
New tests have been introduced between CI_DRM_11584_full and Patchwork_103315v2_full:
### New IGT tests (1) ###
* igt@kms_concurrent@pipe-b@hdmi-a-3:
- Statuses : 1 crash(s)
- Exec time: [0.03] s
Known issues
------------
Here are the changes found in Patchwork_103315v2_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ccs@ctrl-surf-copy:
- shard-iclb: NOTRUN -> [SKIP][9] ([i915#5327])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@gem_ccs@ctrl-surf-copy.html
* igt@gem_eio@in-flight-contexts-1us:
- shard-tglb: [PASS][10] -> [TIMEOUT][11] ([i915#3063])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-tglb5/igt@gem_eio@in-flight-contexts-1us.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-tglb8/igt@gem_eio@in-flight-contexts-1us.html
* igt@gem_eio@unwedge-stress:
- shard-tglb: [PASS][12] -> [FAIL][13] ([i915#5784])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-tglb6/igt@gem_eio@unwedge-stress.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-tglb3/igt@gem_eio@unwedge-stress.html
- shard-iclb: [PASS][14] -> [TIMEOUT][15] ([i915#3070])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-iclb3/igt@gem_eio@unwedge-stress.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb2/igt@gem_eio@unwedge-stress.html
* igt@gem_exec_balancer@parallel-keep-in-fence:
- shard-kbl: NOTRUN -> [DMESG-WARN][16] ([i915#5076] / [i915#5614])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl1/igt@gem_exec_balancer@parallel-keep-in-fence.html
* igt@gem_exec_fair@basic-none-solo@rcs0:
- shard-apl: [PASS][17] -> [FAIL][18] ([i915#2842])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-apl2/igt@gem_exec_fair@basic-none-solo@rcs0.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl4/igt@gem_exec_fair@basic-none-solo@rcs0.html
* igt@gem_exec_fair@basic-none@vcs1:
- shard-iclb: NOTRUN -> [FAIL][19] ([i915#2842])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb2/igt@gem_exec_fair@basic-none@vcs1.html
* igt@gem_exec_fair@basic-none@vecs0:
- shard-glk: [PASS][20] -> [FAIL][21] ([i915#2842]) +1 similar issue
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-glk1/igt@gem_exec_fair@basic-none@vecs0.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-glk6/igt@gem_exec_fair@basic-none@vecs0.html
* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-kbl: NOTRUN -> [FAIL][22] ([i915#2842]) +1 similar issue
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl1/igt@gem_exec_fair@basic-pace-solo@rcs0.html
* igt@gem_exec_flush@basic-batch-kernel-default-uc:
- shard-snb: [PASS][23] -> [SKIP][24] ([fdo#109271]) +1 similar issue
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-snb2/igt@gem_exec_flush@basic-batch-kernel-default-uc.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-snb6/igt@gem_exec_flush@basic-batch-kernel-default-uc.html
* igt@gem_exec_flush@basic-wb-rw-before-default:
- shard-skl: [PASS][25] -> [DMESG-WARN][26] ([i915#1982])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-skl7/igt@gem_exec_flush@basic-wb-rw-before-default.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl9/igt@gem_exec_flush@basic-wb-rw-before-default.html
* igt@gem_lmem_swapping@heavy-random:
- shard-iclb: NOTRUN -> [SKIP][27] ([i915#4613])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@gem_lmem_swapping@heavy-random.html
* igt@gem_lmem_swapping@parallel-random:
- shard-apl: NOTRUN -> [SKIP][28] ([fdo#109271] / [i915#4613]) +1 similar issue
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl1/igt@gem_lmem_swapping@parallel-random.html
- shard-kbl: NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#4613]) +2 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl1/igt@gem_lmem_swapping@parallel-random.html
* igt@gem_pwrite@basic-exhaustion:
- shard-iclb: NOTRUN -> [WARN][30] ([i915#2658])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@gem_pwrite@basic-exhaustion.html
- shard-apl: NOTRUN -> [WARN][31] ([i915#2658])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl6/igt@gem_pwrite@basic-exhaustion.html
* igt@gem_pxp@verify-pxp-stale-buf-execution:
- shard-iclb: NOTRUN -> [SKIP][32] ([i915#4270]) +1 similar issue
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@gem_pxp@verify-pxp-stale-buf-execution.html
* igt@gem_render_copy@y-tiled-to-vebox-x-tiled:
- shard-iclb: NOTRUN -> [SKIP][33] ([i915#768])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@gem_render_copy@y-tiled-to-vebox-x-tiled.html
* igt@gem_userptr_blits@coherency-sync:
- shard-iclb: NOTRUN -> [SKIP][34] ([fdo#109290])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@gem_userptr_blits@coherency-sync.html
* igt@gem_userptr_blits@unsync-unmap:
- shard-iclb: NOTRUN -> [SKIP][35] ([i915#3297]) +1 similar issue
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@gem_userptr_blits@unsync-unmap.html
* igt@gem_workarounds@basic-read-context:
- shard-snb: [PASS][36] -> [TIMEOUT][37] ([i915#4995])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-snb7/igt@gem_workarounds@basic-read-context.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-snb2/igt@gem_workarounds@basic-read-context.html
* igt@gen7_exec_parse@oacontrol-tracking:
- shard-iclb: NOTRUN -> [SKIP][38] ([fdo#109289])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@gen7_exec_parse@oacontrol-tracking.html
* igt@gen9_exec_parse@bb-start-out:
- shard-iclb: NOTRUN -> [SKIP][39] ([i915#2856])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@gen9_exec_parse@bb-start-out.html
* igt@i915_pm_dc@dc3co-vpb-simulation:
- shard-iclb: NOTRUN -> [SKIP][40] ([i915#658]) +1 similar issue
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@i915_pm_dc@dc3co-vpb-simulation.html
* igt@i915_pm_dc@dc6-dpms:
- shard-kbl: NOTRUN -> [FAIL][41] ([i915#454])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl3/igt@i915_pm_dc@dc6-dpms.html
* igt@i915_pm_rc6_residency@rc6-idle:
- shard-iclb: NOTRUN -> [WARN][42] ([i915#2684])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb6/igt@i915_pm_rc6_residency@rc6-idle.html
* igt@i915_pm_rpm@gem-execbuf-stress-pc8:
- shard-iclb: NOTRUN -> [SKIP][43] ([fdo#109293] / [fdo#109506])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html
* igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
- shard-iclb: NOTRUN -> [SKIP][44] ([i915#3826])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
* igt@kms_async_flips@alternate-sync-async-flip:
- shard-skl: [PASS][45] -> [FAIL][46] ([i915#2521])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-skl10/igt@kms_async_flips@alternate-sync-async-flip.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl7/igt@kms_async_flips@alternate-sync-async-flip.html
* igt@kms_big_fb@linear-16bpp-rotate-90:
- shard-iclb: NOTRUN -> [SKIP][47] ([fdo#110725] / [fdo#111614]) +2 similar issues
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@kms_big_fb@linear-16bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
- shard-iclb: NOTRUN -> [SKIP][48] ([fdo#110723]) +1 similar issue
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
* igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc:
- shard-kbl: NOTRUN -> [SKIP][49] ([fdo#109271] / [i915#3886]) +7 similar issues
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl1/igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs:
- shard-iclb: NOTRUN -> [SKIP][50] ([fdo#109278] / [i915#3886]) +3 similar issues
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_rc_ccs_cc:
- shard-skl: NOTRUN -> [SKIP][51] ([fdo#109271] / [i915#3886]) +1 similar issue
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl7/igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_ccs:
- shard-glk: NOTRUN -> [SKIP][52] ([fdo#109271]) +5 similar issues
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-glk4/igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_ccs.html
* igt@kms_ccs@pipe-c-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc:
- shard-apl: NOTRUN -> [SKIP][53] ([fdo#109271] / [i915#3886]) +7 similar issues
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl3/igt@kms_ccs@pipe-c-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-c-random-ccs-data-y_tiled_gen12_rc_ccs:
- shard-apl: NOTRUN -> [SKIP][54] ([fdo#109271]) +82 similar issues
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl1/igt@kms_ccs@pipe-c-random-ccs-data-y_tiled_gen12_rc_ccs.html
* igt@kms_ccs@pipe-d-bad-pixel-format-y_tiled_gen12_mc_ccs:
- shard-iclb: NOTRUN -> [SKIP][55] ([fdo#109278]) +16 similar issues
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@kms_ccs@pipe-d-bad-pixel-format-y_tiled_gen12_mc_ccs.html
* igt@kms_chamelium@dp-audio-edid:
- shard-snb: NOTRUN -> [SKIP][56] ([fdo#109271] / [fdo#111827])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-snb7/igt@kms_chamelium@dp-audio-edid.html
* igt@kms_chamelium@vga-hpd-after-suspend:
- shard-apl: NOTRUN -> [SKIP][57] ([fdo#109271] / [fdo#111827]) +5 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl6/igt@kms_chamelium@vga-hpd-after-suspend.html
* igt@kms_color@pipe-a-deep-color:
- shard-iclb: NOTRUN -> [SKIP][58] ([fdo#109278] / [i915#3555])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@kms_color@pipe-a-deep-color.html
* igt@kms_color@pipe-d-gamma:
- shard-iclb: NOTRUN -> [SKIP][59] ([fdo#109278] / [i915#1149])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb6/igt@kms_color@pipe-d-gamma.html
* igt@kms_color_chamelium@pipe-c-gamma:
- shard-iclb: NOTRUN -> [SKIP][60] ([fdo#109284] / [fdo#111827]) +4 similar issues
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@kms_color_chamelium@pipe-c-gamma.html
* igt@kms_color_chamelium@pipe-d-ctm-green-to-red:
- shard-skl: NOTRUN -> [SKIP][61] ([fdo#109271] / [fdo#111827]) +3 similar issues
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl7/igt@kms_color_chamelium@pipe-d-ctm-green-to-red.html
* igt@kms_color_chamelium@pipe-d-ctm-max:
- shard-kbl: NOTRUN -> [SKIP][62] ([fdo#109271] / [fdo#111827]) +10 similar issues
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl1/igt@kms_color_chamelium@pipe-d-ctm-max.html
* igt@kms_content_protection@atomic-dpms:
- shard-kbl: NOTRUN -> [TIMEOUT][63] ([i915#1319])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl3/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@dp-mst-lic-type-1:
- shard-iclb: NOTRUN -> [SKIP][64] ([i915#3116])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@kms_content_protection@dp-mst-lic-type-1.html
* igt@kms_cursor_crc@pipe-a-cursor-256x85-sliding:
- shard-snb: NOTRUN -> [SKIP][65] ([fdo#109271]) +20 similar issues
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-snb7/igt@kms_cursor_crc@pipe-a-cursor-256x85-sliding.html
* igt@kms_cursor_crc@pipe-c-cursor-512x170-sliding:
- shard-apl: NOTRUN -> [SKIP][66] ([fdo#109271] / [i915#5691])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl1/igt@kms_cursor_crc@pipe-c-cursor-512x170-sliding.html
- shard-kbl: NOTRUN -> [SKIP][67] ([fdo#109271] / [i915#5691])
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl1/igt@kms_cursor_crc@pipe-c-cursor-512x170-sliding.html
* igt@kms_cursor_crc@pipe-c-cursor-512x512-onscreen:
- shard-iclb: NOTRUN -> [SKIP][68] ([fdo#109278] / [fdo#109279])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@kms_cursor_crc@pipe-c-cursor-512x512-onscreen.html
* igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
- shard-iclb: NOTRUN -> [SKIP][69] ([fdo#109274] / [fdo#109278])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-glk: [PASS][70] -> [FAIL][71] ([i915#2346])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_cursor_legacy@pipe-d-torture-move:
- shard-skl: NOTRUN -> [SKIP][72] ([fdo#109271]) +44 similar issues
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl7/igt@kms_cursor_legacy@pipe-d-torture-move.html
* igt@kms_draw_crc@draw-method-xrgb2101010-blt-4tiled:
- shard-iclb: NOTRUN -> [SKIP][73] ([i915#5287])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@kms_draw_crc@draw-method-xrgb2101010-blt-4tiled.html
* igt@kms_flip@2x-flip-vs-wf_vblank:
- shard-iclb: NOTRUN -> [SKIP][74] ([fdo#109274]) +5 similar issues
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@kms_flip@2x-flip-vs-wf_vblank.html
* igt@kms_flip@flip-vs-expired-vblank@b-edp1:
- shard-skl: [PASS][75] -> [FAIL][76] ([i915#79])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-skl1/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl10/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
* igt@kms_flip@flip-vs-suspend-interruptible@c-dp1:
- shard-apl: [PASS][77] -> [DMESG-WARN][78] ([i915#180]) +5 similar issues
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-apl4/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl8/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html
* igt@kms_flip@flip-vs-suspend@c-dp1:
- shard-kbl: [PASS][79] -> [DMESG-WARN][80] ([i915#180]) +3 similar issues
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl4/igt@kms_flip@flip-vs-suspend@c-dp1.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl6/igt@kms_flip@flip-vs-suspend@c-dp1.html
* igt@kms_flip@plain-flip-fb-recreate@c-dp1:
- shard-kbl: [PASS][81] -> [FAIL][82] ([i915#2122])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl4/igt@kms_flip@plain-flip-fb-recreate@c-dp1.html
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl4/igt@kms_flip@plain-flip-fb-recreate@c-dp1.html
* igt@kms_flip@plain-flip-ts-check-interruptible@b-edp1:
- shard-skl: [PASS][83] -> [FAIL][84] ([i915#2122]) +1 similar issue
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-skl1/igt@kms_flip@plain-flip-ts-check-interruptible@b-edp1.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl1/igt@kms_flip@plain-flip-ts-check-interruptible@b-edp1.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-move:
- shard-iclb: NOTRUN -> [SKIP][85] ([fdo#109280]) +16 similar issues
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-move.html
* igt@kms_hdr@bpc-switch-suspend@bpc-switch-suspend-edp-1-pipe-a:
- shard-skl: [PASS][86] -> [FAIL][87] ([i915#1188]) +1 similar issue
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-skl6/igt@kms_hdr@bpc-switch-suspend@bpc-switch-suspend-edp-1-pipe-a.html
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl1/igt@kms_hdr@bpc-switch-suspend@bpc-switch-suspend-edp-1-pipe-a.html
* igt@kms_pipe_crc_basic@read-crc-pipe-d:
- shard-skl: NOTRUN -> [SKIP][88] ([fdo#109271] / [i915#533])
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl7/igt@kms_pipe_crc_basic@read-crc-pipe-d.html
* igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
- shard-apl: NOTRUN -> [FAIL][89] ([fdo#108145] / [i915#265])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl3/igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb.html
- shard-kbl: NOTRUN -> [FAIL][90] ([fdo#108145] / [i915#265])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl1/igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb.html
* igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
- shard-glk: NOTRUN -> [FAIL][91] ([fdo#108145] / [i915#265])
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-glk4/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html
- shard-skl: NOTRUN -> [FAIL][92] ([fdo#108145] / [i915#265])
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl6/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html
* igt@kms_plane_lowres@pipe-a-tiling-x:
- shard-iclb: NOTRUN -> [SKIP][93] ([i915#3536]) +1 similar issue
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@kms_plane_lowres@pipe-a-tiling-x.html
* igt@kms_plane_scaling@downscale-with-rotation-factor-0-5@pipe-a-dp-1-downscale-with-rotation:
- shard-kbl: NOTRUN -> [SKIP][94] ([fdo#109271]) +132 similar issues
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl3/igt@kms_plane_scaling@downscale-with-rotation-factor-0-5@pipe-a-dp-1-downscale-with-rotation.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-a-edp-1-planes-upscale-downscale:
- shard-iclb: [PASS][95] -> [SKIP][96] ([i915#5235]) +2 similar issues
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-iclb8/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-a-edp-1-planes-upscale-downscale.html
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb2/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-a-edp-1-planes-upscale-downscale.html
* igt@kms_psr2_su@frontbuffer-xrgb8888:
- shard-kbl: NOTRUN -> [SKIP][97] ([fdo#109271] / [i915#658])
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl3/igt@kms_psr2_su@frontbuffer-xrgb8888.html
* igt@kms_psr2_su@page_flip-xrgb8888:
- shard-apl: NOTRUN -> [SKIP][98] ([fdo#109271] / [i915#658]) +1 similar issue
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl6/igt@kms_psr2_su@page_flip-xrgb8888.html
- shard-iclb: NOTRUN -> [SKIP][99] ([fdo#109642] / [fdo#111068] / [i915#658])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@kms_psr2_su@page_flip-xrgb8888.html
* igt@kms_psr@psr2_primary_mmap_gtt:
- shard-iclb: [PASS][100] -> [SKIP][101] ([fdo#109441]) +1 similar issue
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-iclb2/igt@kms_psr@psr2_primary_mmap_gtt.html
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb4/igt@kms_psr@psr2_primary_mmap_gtt.html
* igt@kms_psr@psr2_suspend:
- shard-iclb: NOTRUN -> [SKIP][102] ([fdo#109441])
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@kms_psr@psr2_suspend.html
* igt@kms_vblank@pipe-d-wait-idle:
- shard-kbl: NOTRUN -> [SKIP][103] ([fdo#109271] / [i915#533]) +2 similar issues
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl1/igt@kms_vblank@pipe-d-wait-idle.html
* igt@kms_writeback@writeback-check-output:
- shard-apl: NOTRUN -> [SKIP][104] ([fdo#109271] / [i915#2437])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl3/igt@kms_writeback@writeback-check-output.html
* igt@nouveau_crc@pipe-b-source-outp-inactive:
- shard-iclb: NOTRUN -> [SKIP][105] ([i915#2530]) +1 similar issue
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@nouveau_crc@pipe-b-source-outp-inactive.html
* igt@nouveau_crc@pipe-d-ctx-flip-detection:
- shard-iclb: NOTRUN -> [SKIP][106] ([fdo#109278] / [i915#2530])
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@nouveau_crc@pipe-d-ctx-flip-detection.html
* igt@perf@polling-parameterized:
- shard-skl: [PASS][107] -> [FAIL][108] ([i915#5639])
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-skl4/igt@perf@polling-parameterized.html
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl4/igt@perf@polling-parameterized.html
- shard-tglb: [PASS][109] -> [FAIL][110] ([i915#5639])
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-tglb7/igt@perf@polling-parameterized.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-tglb1/igt@perf@polling-parameterized.html
* igt@prime_udl:
- shard-iclb: NOTRUN -> [SKIP][111] ([fdo#109291]) +2 similar issues
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@prime_udl.html
* igt@syncobj_timeline@transfer-timeline-point:
- shard-kbl: NOTRUN -> [DMESG-FAIL][112] ([i915#5098])
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl7/igt@syncobj_timeline@transfer-timeline-point.html
- shard-skl: NOTRUN -> [DMESG-FAIL][113] ([i915#5098])
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl7/igt@syncobj_timeline@transfer-timeline-point.html
* igt@sysfs_clients@fair-3:
- shard-iclb: NOTRUN -> [SKIP][114] ([i915#2994])
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@sysfs_clients@fair-3.html
* igt@sysfs_clients@sema-50:
- shard-kbl: NOTRUN -> [SKIP][115] ([fdo#109271] / [i915#2994]) +1 similar issue
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl1/igt@sysfs_clients@sema-50.html
#### Possible fixes ####
* igt@gem_exec_balancer@parallel-balancer:
- shard-iclb: [SKIP][116] ([i915#4525]) -> [PASS][117]
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-iclb6/igt@gem_exec_balancer@parallel-balancer.html
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb1/igt@gem_exec_balancer@parallel-balancer.html
* igt@gem_exec_fair@basic-none-share@rcs0:
- shard-tglb: [FAIL][118] ([i915#2842]) -> [PASS][119]
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-tglb8/igt@gem_exec_fair@basic-none-share@rcs0.html
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-tglb2/igt@gem_exec_fair@basic-none-share@rcs0.html
* igt@gem_huc_copy@huc-copy:
- shard-tglb: [SKIP][120] ([i915#2190]) -> [PASS][121]
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-tglb7/igt@gem_huc_copy@huc-copy.html
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-tglb1/igt@gem_huc_copy@huc-copy.html
* igt@gem_softpin@noreloc-s3:
- {shard-rkl}: [FAIL][122] ([fdo#103375]) -> [PASS][123] +1 similar issue
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-5/igt@gem_softpin@noreloc-s3.html
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-2/igt@gem_softpin@noreloc-s3.html
* igt@gen9_exec_parse@allowed-single:
- shard-glk: [DMESG-WARN][124] ([i915#5566] / [i915#716]) -> [PASS][125]
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-glk6/igt@gen9_exec_parse@allowed-single.html
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-glk4/igt@gen9_exec_parse@allowed-single.html
- shard-skl: [DMESG-WARN][126] ([i915#5566] / [i915#716]) -> [PASS][127]
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-skl10/igt@gen9_exec_parse@allowed-single.html
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl6/igt@gen9_exec_parse@allowed-single.html
* igt@i915_pm_dc@dc6-psr:
- shard-iclb: [FAIL][128] ([i915#454]) -> [PASS][129]
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-iclb4/igt@i915_pm_dc@dc6-psr.html
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@i915_pm_dc@dc6-psr.html
* igt@i915_pm_dc@dc9-dpms:
- {shard-rkl}: [INCOMPLETE][130] -> [PASS][131]
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-5/igt@i915_pm_dc@dc9-dpms.html
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-2/igt@i915_pm_dc@dc9-dpms.html
* igt@i915_pm_rpm@fences-dpms:
- {shard-rkl}: [SKIP][132] ([i915#1849]) -> [PASS][133]
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-1/igt@i915_pm_rpm@fences-dpms.html
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-6/igt@i915_pm_rpm@fences-dpms.html
* igt@i915_pm_rpm@gem-mmap-type@uc:
- {shard-rkl}: [SKIP][134] ([fdo#109308]) -> [PASS][135] +3 similar issues
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-1/igt@i915_pm_rpm@gem-mmap-type@uc.html
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-6/igt@i915_pm_rpm@gem-mmap-type@uc.html
* igt@i915_selftest@live@hangcheck:
- shard-snb: [INCOMPLETE][136] ([i915#3921]) -> [PASS][137]
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-snb7/igt@i915_selftest@live@hangcheck.html
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-snb7/igt@i915_selftest@live@hangcheck.html
* igt@kms_async_flips@alternate-sync-async-flip:
- shard-glk: [FAIL][138] ([i915#2521]) -> [PASS][139]
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-glk3/igt@kms_async_flips@alternate-sync-async-flip.html
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-glk7/igt@kms_async_flips@alternate-sync-async-flip.html
* igt@kms_atomic@plane-invalid-params:
- {shard-rkl}: [SKIP][140] ([i915#1845] / [i915#4098]) -> [PASS][141] +6 similar issues
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-1/igt@kms_atomic@plane-invalid-params.html
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-6/igt@kms_atomic@plane-invalid-params.html
* igt@kms_color@pipe-b-legacy-gamma:
- {shard-rkl}: [SKIP][142] ([i915#1849] / [i915#4070] / [i915#4098]) -> [PASS][143] +2 similar issues
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-1/igt@kms_color@pipe-b-legacy-gamma.html
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-6/igt@kms_color@pipe-b-legacy-gamma.html
* igt@kms_cursor_crc@pipe-a-cursor-256x256-rapid-movement:
- {shard-rkl}: [SKIP][144] ([fdo#112022] / [i915#4070]) -> [PASS][145] +2 similar issues
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-1/igt@kms_cursor_crc@pipe-a-cursor-256x256-rapid-movement.html
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-6/igt@kms_cursor_crc@pipe-a-cursor-256x256-rapid-movement.html
* igt@kms_cursor_crc@pipe-a-cursor-suspend:
- shard-snb: [SKIP][146] ([fdo#109271]) -> [PASS][147] +2 similar issues
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-snb6/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-snb7/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
* igt@kms_cursor_legacy@basic-flip-before-cursor-atomic:
- {shard-rkl}: [SKIP][148] ([fdo#111825] / [i915#4070]) -> [PASS][149] +3 similar issues
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-1/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-6/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html
* igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size:
- shard-iclb: [FAIL][150] ([i915#5072]) -> [PASS][151]
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-iclb7/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb1/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@pipe-c-single-bo:
- {shard-rkl}: [SKIP][152] ([i915#4070]) -> [PASS][153] +2 similar issues
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-6/igt@kms_cursor_legacy@pipe-c-single-bo.html
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-5/igt@kms_cursor_legacy@pipe-c-single-bo.html
* igt@kms_draw_crc@draw-method-xrgb8888-blt-xtiled:
- {shard-rkl}: [SKIP][154] ([fdo#111314] / [i915#4098] / [i915#4369]) -> [PASS][155] +1 similar issue
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-1/igt@kms_draw_crc@draw-method-xrgb8888-blt-xtiled.html
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-6/igt@kms_draw_crc@draw-method-xrgb8888-blt-xtiled.html
* igt@kms_flip@flip-vs-suspend-interruptible@a-dp1:
- shard-kbl: [DMESG-WARN][156] ([i915#180]) -> [PASS][157] +6 similar issues
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl7/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl1/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
* igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1:
- shard-skl: [FAIL][158] ([i915#2122]) -> [PASS][159] +1 similar issue
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-skl6/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl4/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling:
- shard-iclb: [SKIP][160] ([i915#3701]) -> [PASS][161]
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb4/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt:
- {shard-rkl}: [SKIP][162] ([i915#1849] / [i915#4098]) -> [PASS][163] +9 similar issues
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt.html
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt.html
* igt@kms_plane@pixel-format@pipe-a-planes:
- {shard-rkl}: [SKIP][164] ([i915#3558]) -> [PASS][165] +1 similar issue
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-1/igt@kms_plane@pixel-format@pipe-a-planes.html
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-6/igt@kms_plane@pixel-format@pipe-a-planes.html
* igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes:
- shard-apl: [DMESG-WARN][166] ([i915#180]) -> [PASS][167] +3 similar issues
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-apl7/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl6/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html
* igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: [SKIP][168] ([fdo#109441]) -> [PASS][169] +1 similar issue
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-iclb8/igt@kms_psr@psr2_primary_mmap_cpu.html
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
* igt@kms_psr@suspend:
- {shard-rkl}: [SKIP][170] ([i915#1072]) -> [PASS][171]
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-1/igt@kms_psr@suspend.html
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-6/igt@kms_psr@suspend.html
* igt@kms_universal_plane@universal-plane-pipe-b-sanity:
- {shard-rkl}: [SKIP][172] ([i915#1845] / [i915#4070] / [i915#4098]) -> [PASS][173]
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-rkl-1/igt@kms_universal_plane@universal-plane-pipe-b-sanity.html
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-rkl-6/igt@kms_universal_plane@universal-plane-pipe-b-sanity.html
* igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend:
- shard-skl: [INCOMPLETE][174] ([i915#4939]) -> [PASS][175]
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-skl6/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl7/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
#### Warnings ####
* igt@gem_exec_balancer@parallel-contexts:
- shard-iclb: [SKIP][176] ([i915#4525]) -> [DMESG-WARN][177] ([i915#5614]) +1 similar issue
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-iclb3/igt@gem_exec_balancer@parallel-contexts.html
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb4/igt@gem_exec_balancer@parallel-contexts.html
* igt@gem_exec_balancer@parallel-out-fence:
- shard-iclb: [DMESG-WARN][178] ([i915#5614]) -> [SKIP][179] ([i915#4525]) +2 similar issues
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-iclb1/igt@gem_exec_balancer@parallel-out-fence.html
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb3/igt@gem_exec_balancer@parallel-out-fence.html
* igt@gem_exec_fair@basic-none-rrul@rcs0:
- shard-iclb: [FAIL][180] ([i915#2842]) -> [FAIL][181] ([i915#2852])
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-iclb5/igt@gem_exec_fair@basic-none-rrul@rcs0.html
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb7/igt@gem_exec_fair@basic-none-rrul@rcs0.html
* igt@kms_cursor_crc@pipe-a-cursor-512x512-rapid-movement:
- shard-iclb: [SKIP][182] ([fdo#109278] / [fdo#109279] / [i915#1888]) -> [SKIP][183] ([fdo#109278] / [fdo#109279])
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-iclb7/igt@kms_cursor_crc@pipe-a-cursor-512x512-rapid-movement.html
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb8/igt@kms_cursor_crc@pipe-a-cursor-512x512-rapid-movement.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-kbl: [FAIL][184] ([i915#4767]) -> [INCOMPLETE][185] ([i915#180])
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl1/igt@kms_fbcon_fbt@fbc-suspend.html
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl6/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_plane_scaling@downscale-with-rotation-factor-0-75@pipe-a-edp-1-downscale-with-rotation:
- shard-skl: [SKIP][186] ([fdo#109271] / [i915#1888]) -> [SKIP][187] ([fdo#109271])
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-skl1/igt@kms_plane_scaling@downscale-with-rotation-factor-0-75@pipe-a-edp-1-downscale-with-rotation.html
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-skl10/igt@kms_plane_scaling@downscale-with-rotation-factor-0-75@pipe-a-edp-1-downscale-with-rotation.html
* igt@kms_psr2_sf@plane-move-sf-dmg-area:
- shard-iclb: [SKIP][188] ([i915#2920]) -> [SKIP][189] ([fdo#111068] / [i915#658])
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-iclb2/igt@kms_psr2_sf@plane-move-sf-dmg-area.html
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-iclb6/igt@kms_psr2_sf@plane-move-sf-dmg-area.html
* igt@runner@aborted:
- shard-kbl: ([FAIL][190], [FAIL][191], [FAIL][192], [FAIL][193], [FAIL][194], [FAIL][195], [FAIL][196], [FAIL][197], [FAIL][198], [FAIL][199], [FAIL][200], [FAIL][201], [FAIL][202], [FAIL][203], [FAIL][204]) ([fdo#109271] / [i915#180] / [i915#3002] / [i915#4312] / [i915#5257]) -> ([FAIL][205], [FAIL][206], [FAIL][207], [FAIL][208], [FAIL][209], [FAIL][210], [FAIL][211], [FAIL][212], [FAIL][213], [FAIL][214], [FAIL][215], [FAIL][216], [FAIL][217], [FAIL][218], [FAIL][219]) ([i915#180] / [i915#3002] / [i915#4312] / [i915#5257] / [i915#92])
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl1/igt@runner@aborted.html
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl6/igt@runner@aborted.html
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl6/igt@runner@aborted.html
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl1/igt@runner@aborted.html
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl6/igt@runner@aborted.html
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl6/igt@runner@aborted.html
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl7/igt@runner@aborted.html
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl6/igt@runner@aborted.html
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl7/igt@runner@aborted.html
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl3/igt@runner@aborted.html
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl6/igt@runner@aborted.html
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl7/igt@runner@aborted.html
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl7/igt@runner@aborted.html
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl7/igt@runner@aborted.html
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-kbl7/igt@runner@aborted.html
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl1/igt@runner@aborted.html
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl6/igt@runner@aborted.html
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl6/igt@runner@aborted.html
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl4/igt@runner@aborted.html
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl7/igt@runner@aborted.html
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl3/igt@runner@aborted.html
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl1/igt@runner@aborted.html
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl6/igt@runner@aborted.html
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl1/igt@runner@aborted.html
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl3/igt@runner@aborted.html
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl6/igt@runner@aborted.html
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl7/igt@runner@aborted.html
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl7/igt@runner@aborted.html
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl7/igt@runner@aborted.html
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-kbl7/igt@runner@aborted.html
- shard-apl: ([FAIL][220], [FAIL][221], [FAIL][222], [FAIL][223], [FAIL][224], [FAIL][225], [FAIL][226], [FAIL][227]) ([i915#180] / [i915#3002] / [i915#4312] / [i915#5257]) -> ([FAIL][228], [FAIL][229], [FAIL][230], [FAIL][231], [FAIL][232], [FAIL][233], [FAIL][234], [FAIL][235], [FAIL][236]) ([fdo#109271] / [i915#180] / [i915#3002] / [i915#4312] / [i915#5257])
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-apl3/igt@runner@aborted.html
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-apl3/igt@runner@aborted.html
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-apl4/igt@runner@aborted.html
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-apl2/igt@runner@aborted.html
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-apl2/igt@runner@aborted.html
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-apl6/igt@runner@aborted.html
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-apl7/igt@runner@aborted.html
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11584/shard-apl8/igt@runner@aborted.html
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl3/igt@runner@aborted.html
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl8/igt@runner@aborted.html
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl8/igt@runner@aborted.html
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl3/igt@runner@aborted.html
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl8/igt@runner@aborted.html
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl4/igt@runner@aborted.html
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl3/igt@runner@aborted.html
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl1/igt@runner@aborted.html
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/shard-apl1/igt@runner@aborted.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
[fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
[fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109290]: https://bugs.freedesktop.org/show_bug.cgi?id=109290
[fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
[fdo#109293]: https://bugs.freedesktop.org/show_bug.cgi?id=109293
[fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
[fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
[fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#110725]: https://bugs.freedesktop.org/show_bug.cgi?id=110725
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111314]: https://bugs.freedesktop.org/show_bug.cgi?id=111314
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[fdo#112022]: https://bugs.freedesktop.org/show_bug.cgi?id=112022
[fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
[i915#1063]: https://gitlab.freedesktop.org/drm/intel/issues/1063
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1149]: https://gitlab.freedesktop.org/drm/intel/issues/1149
[i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
[i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188
[i915#1319]: https://gitlab.freedesktop.org/drm/intel/issues/1319
[i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
[i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
[i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
[i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
[i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
[i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530
[i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
[i915#2684]: https://gitlab.freedesktop.org/drm/intel/issues/2684
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2852]: https://gitlab.freedesktop.org/drm/intel/issues/2852
[i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
[i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
[i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
[i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
[i915#3012]: https://gitlab.freedesktop.org/drm/intel/issues/3012
[i915#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063
[i915#3070]: https://gitlab.freedesktop.org/drm/intel/issues/3070
[i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3319]: https://gitlab.freedesktop.org/drm/intel/issues/3319
[i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
[i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
[i915#3536]: https://gitlab.freedesktop.org/drm/intel/issues/3536
[i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3701]: https://gitlab.freedesktop.org/drm/intel/issues/3701
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
[i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826
[i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3921]: https://gitlab.freedesktop.org/drm/intel/issues/3921
[i915#3987]: https://gitlab.freedesktop.org/drm/intel/issues/3987
[i915#4016]: https://gitlab.freedesktop.org/drm/intel/issues/4016
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4278]: https://gitlab.freedesktop.org/drm/intel/issues/4278
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4369]: https://gitlab.freedesktop.org/drm/intel/issues/4369
[i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
[i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
[i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
[i915#4853]: https://gitlab.freedesktop.org/drm/intel/issues/4853
[i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
[i915#4893]: https://gitlab.freedesktop.org/drm/intel/issues/4893
[i915#4939]: https://gitlab.freedesktop.org/drm/intel/issues/4939
[i915#4995]: https://gitlab.freedesktop.org/drm/intel/issues/4995
[i915#5030]: https://gitlab.freedesktop.org/drm/intel/issues/5030
[i915#5072]: https://gitlab.freedesktop.org/drm/intel/issues/5072
[i915#5076]: https://gitlab.freedesktop.org/drm/intel/issues/5076
[i915#5098]: https://gitlab.freedesktop.org/drm/intel/issues/5098
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5287]: https://gitlab.freedesktop.org/drm/intel/issues/5287
[i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
[i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
[i915#5327]: https://gitlab.freedesktop.org/drm/intel/issues/5327
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5385]: https://gitlab.freedesktop.org/drm/intel/issues/5385
[i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
[i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
[i915#5614]: https://gitlab.freedesktop.org/drm/intel/issues/5614
[i915#5639]: https://gitlab.freedesktop.org/drm/intel/issues/5639
[i915#5691]: https://gitlab.freedesktop.org/drm/intel/issues/5691
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#5849]: https://gitlab.freedesktop.org/drm/intel/issues/5849
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
[i915#768]: https://gitlab.freedesktop.org/drm/intel/issues/768
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92
Build changes
-------------
* Linux: CI_DRM_11584 -> Patchwork_103315v2
CI-20190529: 20190529
CI_DRM_11584: 3ae2e00290c290713e21118220a817a24b44d39f @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_6464: eddc67c5c85b8ee6eb4d13752ca43da5073dc985 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_103315v2: 3ae2e00290c290713e21118220a817a24b44d39f @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103315v2/index.html
[-- Attachment #2: Type: text/html, Size: 66025 bytes --]
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH v2 1/2] module: update dependencies at try_module_get()
2022-04-30 12:04 ` Greg KH
(?)
(?)
@ 2022-04-30 13:38 ` Mauro Carvalho Chehab
-1 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 13:38 UTC (permalink / raw)
To: Greg KH
Cc: Luis Chamberlain, Daniel Vetter, David Airlie, Jaroslav Kysela,
Kai Vehmanen, Lucas De Marchi, Pierre-Louis Bossart,
Takashi Iwai, alsa-devel, dri-devel, intel-gfx, linux-kernel,
linux-modules, mauro.chehab, Dan Williams
Em Sat, 30 Apr 2022 14:04:59 +0200
Greg KH <gregkh@linuxfoundation.org> escreveu:
> On Sat, Apr 30, 2022 at 11:30:58AM +0100, Mauro Carvalho Chehab wrote:
> Did you run checkpatch on this? Please do :)
>
> > +
> > + if (mod == this)
> > + return 0;
>
> How can this happen?
> When people mistakenly call try_module_get(THIS_MODULE)?
Yes. There are lots of place where this is happening:
$ git grep try_module_get\(THIS_MODULE|wc -l
82
> We should
> throw up a big warning when that happens anyway as that's always wrong.
>
> But that's a different issue from this change, sorry for the noise.
It sounds very weird to use try_module_get(THIS_MODULE).
We could add a WARN_ON() there - or something similar - but I would do it
on a separate patch.
>
> > +
> > + mutex_lock(&module_mutex);
> > +
> > + ret = ref_module(this, mod);
> > +
> > +#ifdef CONFIG_MODULE_UNLOAD
> > + if (ret)
> > + goto ret;
> > +
> > + ret = sysfs_create_link(mod->holders_dir,
> > + &this->mkobj.kobj, this->name);
>
> Meta comment, why do we only create links if we can unload things?
Good question. I don't know for certain. This is the already existing
pattern at add_usage_links() - see kernel/module/sysfs.c.
Also, lsmod uses sysfs links when showing dependencies.
Regards,
Mauro
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH v2 1/2] module: update dependencies at try_module_get()
@ 2022-04-30 13:38 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 13:38 UTC (permalink / raw)
To: Greg KH
Cc: alsa-devel, mauro.chehab, David Airlie, linux-kernel, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Jaroslav Kysela,
Kai Vehmanen, Luis Chamberlain, Dan Williams, linux-modules,
Pierre-Louis Bossart
Em Sat, 30 Apr 2022 14:04:59 +0200
Greg KH <gregkh@linuxfoundation.org> escreveu:
> On Sat, Apr 30, 2022 at 11:30:58AM +0100, Mauro Carvalho Chehab wrote:
> Did you run checkpatch on this? Please do :)
>
> > +
> > + if (mod == this)
> > + return 0;
>
> How can this happen?
> When people mistakenly call try_module_get(THIS_MODULE)?
Yes. There are lots of place where this is happening:
$ git grep try_module_get\(THIS_MODULE|wc -l
82
> We should
> throw up a big warning when that happens anyway as that's always wrong.
>
> But that's a different issue from this change, sorry for the noise.
It sounds very weird to use try_module_get(THIS_MODULE).
We could add a WARN_ON() there - or something similar - but I would do it
on a separate patch.
>
> > +
> > + mutex_lock(&module_mutex);
> > +
> > + ret = ref_module(this, mod);
> > +
> > +#ifdef CONFIG_MODULE_UNLOAD
> > + if (ret)
> > + goto ret;
> > +
> > + ret = sysfs_create_link(mod->holders_dir,
> > + &this->mkobj.kobj, this->name);
>
> Meta comment, why do we only create links if we can unload things?
Good question. I don't know for certain. This is the already existing
pattern at add_usage_links() - see kernel/module/sysfs.c.
Also, lsmod uses sysfs links when showing dependencies.
Regards,
Mauro
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH v2 1/2] module: update dependencies at try_module_get()
@ 2022-04-30 13:38 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 13:38 UTC (permalink / raw)
To: Greg KH
Cc: alsa-devel, mauro.chehab, David Airlie, linux-kernel, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Jaroslav Kysela,
Kai Vehmanen, Luis Chamberlain, Dan Williams, linux-modules,
Pierre-Louis Bossart
Em Sat, 30 Apr 2022 14:04:59 +0200
Greg KH <gregkh@linuxfoundation.org> escreveu:
> On Sat, Apr 30, 2022 at 11:30:58AM +0100, Mauro Carvalho Chehab wrote:
> Did you run checkpatch on this? Please do :)
>
> > +
> > + if (mod == this)
> > + return 0;
>
> How can this happen?
> When people mistakenly call try_module_get(THIS_MODULE)?
Yes. There are lots of place where this is happening:
$ git grep try_module_get\(THIS_MODULE|wc -l
82
> We should
> throw up a big warning when that happens anyway as that's always wrong.
>
> But that's a different issue from this change, sorry for the noise.
It sounds very weird to use try_module_get(THIS_MODULE).
We could add a WARN_ON() there - or something similar - but I would do it
on a separate patch.
>
> > +
> > + mutex_lock(&module_mutex);
> > +
> > + ret = ref_module(this, mod);
> > +
> > +#ifdef CONFIG_MODULE_UNLOAD
> > + if (ret)
> > + goto ret;
> > +
> > + ret = sysfs_create_link(mod->holders_dir,
> > + &this->mkobj.kobj, this->name);
>
> Meta comment, why do we only create links if we can unload things?
Good question. I don't know for certain. This is the already existing
pattern at add_usage_links() - see kernel/module/sysfs.c.
Also, lsmod uses sysfs links when showing dependencies.
Regards,
Mauro
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH v2 1/2] module: update dependencies at try_module_get()
@ 2022-04-30 13:38 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 27+ messages in thread
From: Mauro Carvalho Chehab @ 2022-04-30 13:38 UTC (permalink / raw)
To: Greg KH
Cc: alsa-devel, mauro.chehab, David Airlie, linux-kernel, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Kai Vehmanen,
Luis Chamberlain, Daniel Vetter, Dan Williams, linux-modules,
Pierre-Louis Bossart
Em Sat, 30 Apr 2022 14:04:59 +0200
Greg KH <gregkh@linuxfoundation.org> escreveu:
> On Sat, Apr 30, 2022 at 11:30:58AM +0100, Mauro Carvalho Chehab wrote:
> Did you run checkpatch on this? Please do :)
>
> > +
> > + if (mod == this)
> > + return 0;
>
> How can this happen?
> When people mistakenly call try_module_get(THIS_MODULE)?
Yes. There are lots of place where this is happening:
$ git grep try_module_get\(THIS_MODULE|wc -l
82
> We should
> throw up a big warning when that happens anyway as that's always wrong.
>
> But that's a different issue from this change, sorry for the noise.
It sounds very weird to use try_module_get(THIS_MODULE).
We could add a WARN_ON() there - or something similar - but I would do it
on a separate patch.
>
> > +
> > + mutex_lock(&module_mutex);
> > +
> > + ret = ref_module(this, mod);
> > +
> > +#ifdef CONFIG_MODULE_UNLOAD
> > + if (ret)
> > + goto ret;
> > +
> > + ret = sysfs_create_link(mod->holders_dir,
> > + &this->mkobj.kobj, this->name);
>
> Meta comment, why do we only create links if we can unload things?
Good question. I don't know for certain. This is the already existing
pattern at add_usage_links() - see kernel/module/sysfs.c.
Also, lsmod uses sysfs links when showing dependencies.
Regards,
Mauro
^ permalink raw reply [flat|nested] 27+ messages in thread
* RE: [PATCH v2 1/2] module: update dependencies at try_module_get()
2022-04-30 13:38 ` Mauro Carvalho Chehab
(?)
(?)
@ 2022-05-01 13:23 ` David Laight
-1 siblings, 0 replies; 27+ messages in thread
From: David Laight @ 2022-05-01 13:23 UTC (permalink / raw)
To: 'Mauro Carvalho Chehab', Greg KH
Cc: Luis Chamberlain, Daniel Vetter, David Airlie, Jaroslav Kysela,
Kai Vehmanen, Lucas De Marchi, Pierre-Louis Bossart,
Takashi Iwai, alsa-devel, dri-devel, intel-gfx, linux-kernel,
linux-modules, mauro.chehab, Dan Williams
From: Mauro Carvalho Chehab
> Sent: 30 April 2022 14:38
>
> Em Sat, 30 Apr 2022 14:04:59 +0200
> Greg KH <gregkh@linuxfoundation.org> escreveu:
>
> > On Sat, Apr 30, 2022 at 11:30:58AM +0100, Mauro Carvalho Chehab wrote:
>
> > Did you run checkpatch on this? Please do :)
> >
> > > +
> > > + if (mod == this)
> > > + return 0;
> >
> > How can this happen?
> > When people mistakenly call try_module_get(THIS_MODULE)?
>
> Yes. There are lots of place where this is happening:
>
> $ git grep try_module_get\(THIS_MODULE|wc -l
> 82
>
> > We should
> > throw up a big warning when that happens anyway as that's always wrong.
> >
> > But that's a different issue from this change, sorry for the noise.
>
> It sounds very weird to use try_module_get(THIS_MODULE).
>
> We could add a WARN_ON() there - or something similar - but I would do it
> on a separate patch.
You could add a compile-time check.
But a run-time one seems unnecessary.
Clearly try_module_get(THIS_MODULE) usually succeeds.
I think I can invent a case where it can fail:
The module count must be zero, and a module unload in progress.
The thread doing the unload is blocked somewhere.
Another thread makes a callback into the module for some request
that (for instance) would need to create a kernel thread.
It tries to get a reference for the thread.
So try_module_get(THIS_MODULE) is the right call - and will fail here.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
^ permalink raw reply [flat|nested] 27+ messages in thread
* RE: [PATCH v2 1/2] module: update dependencies at try_module_get()
@ 2022-05-01 13:23 ` David Laight
0 siblings, 0 replies; 27+ messages in thread
From: David Laight @ 2022-05-01 13:23 UTC (permalink / raw)
To: 'Mauro Carvalho Chehab', Greg KH
Cc: alsa-devel, mauro.chehab, David Airlie, linux-kernel, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Kai Vehmanen,
Luis Chamberlain, Daniel Vetter, Dan Williams, linux-modules,
Pierre-Louis Bossart
From: Mauro Carvalho Chehab
> Sent: 30 April 2022 14:38
>
> Em Sat, 30 Apr 2022 14:04:59 +0200
> Greg KH <gregkh@linuxfoundation.org> escreveu:
>
> > On Sat, Apr 30, 2022 at 11:30:58AM +0100, Mauro Carvalho Chehab wrote:
>
> > Did you run checkpatch on this? Please do :)
> >
> > > +
> > > + if (mod == this)
> > > + return 0;
> >
> > How can this happen?
> > When people mistakenly call try_module_get(THIS_MODULE)?
>
> Yes. There are lots of place where this is happening:
>
> $ git grep try_module_get\(THIS_MODULE|wc -l
> 82
>
> > We should
> > throw up a big warning when that happens anyway as that's always wrong.
> >
> > But that's a different issue from this change, sorry for the noise.
>
> It sounds very weird to use try_module_get(THIS_MODULE).
>
> We could add a WARN_ON() there - or something similar - but I would do it
> on a separate patch.
You could add a compile-time check.
But a run-time one seems unnecessary.
Clearly try_module_get(THIS_MODULE) usually succeeds.
I think I can invent a case where it can fail:
The module count must be zero, and a module unload in progress.
The thread doing the unload is blocked somewhere.
Another thread makes a callback into the module for some request
that (for instance) would need to create a kernel thread.
It tries to get a reference for the thread.
So try_module_get(THIS_MODULE) is the right call - and will fail here.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
^ permalink raw reply [flat|nested] 27+ messages in thread
* RE: [PATCH v2 1/2] module: update dependencies at try_module_get()
@ 2022-05-01 13:23 ` David Laight
0 siblings, 0 replies; 27+ messages in thread
From: David Laight @ 2022-05-01 13:23 UTC (permalink / raw)
To: 'Mauro Carvalho Chehab', Greg KH
Cc: alsa-devel, mauro.chehab, David Airlie, linux-kernel, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Jaroslav Kysela,
Kai Vehmanen, Luis Chamberlain, Dan Williams, linux-modules,
Pierre-Louis Bossart
From: Mauro Carvalho Chehab
> Sent: 30 April 2022 14:38
>
> Em Sat, 30 Apr 2022 14:04:59 +0200
> Greg KH <gregkh@linuxfoundation.org> escreveu:
>
> > On Sat, Apr 30, 2022 at 11:30:58AM +0100, Mauro Carvalho Chehab wrote:
>
> > Did you run checkpatch on this? Please do :)
> >
> > > +
> > > + if (mod == this)
> > > + return 0;
> >
> > How can this happen?
> > When people mistakenly call try_module_get(THIS_MODULE)?
>
> Yes. There are lots of place where this is happening:
>
> $ git grep try_module_get\(THIS_MODULE|wc -l
> 82
>
> > We should
> > throw up a big warning when that happens anyway as that's always wrong.
> >
> > But that's a different issue from this change, sorry for the noise.
>
> It sounds very weird to use try_module_get(THIS_MODULE).
>
> We could add a WARN_ON() there - or something similar - but I would do it
> on a separate patch.
You could add a compile-time check.
But a run-time one seems unnecessary.
Clearly try_module_get(THIS_MODULE) usually succeeds.
I think I can invent a case where it can fail:
The module count must be zero, and a module unload in progress.
The thread doing the unload is blocked somewhere.
Another thread makes a callback into the module for some request
that (for instance) would need to create a kernel thread.
It tries to get a reference for the thread.
So try_module_get(THIS_MODULE) is the right call - and will fail here.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH v2 1/2] module: update dependencies at try_module_get()
@ 2022-05-01 13:23 ` David Laight
0 siblings, 0 replies; 27+ messages in thread
From: David Laight @ 2022-05-01 13:23 UTC (permalink / raw)
To: 'Mauro Carvalho Chehab', Greg KH
Cc: alsa-devel, mauro.chehab, David Airlie, linux-kernel, intel-gfx,
Lucas De Marchi, Takashi Iwai, dri-devel, Jaroslav Kysela,
Kai Vehmanen, Luis Chamberlain, Dan Williams, linux-modules,
Pierre-Louis Bossart
From: Mauro Carvalho Chehab
> Sent: 30 April 2022 14:38
>
> Em Sat, 30 Apr 2022 14:04:59 +0200
> Greg KH <gregkh@linuxfoundation.org> escreveu:
>
> > On Sat, Apr 30, 2022 at 11:30:58AM +0100, Mauro Carvalho Chehab wrote:
>
> > Did you run checkpatch on this? Please do :)
> >
> > > +
> > > + if (mod == this)
> > > + return 0;
> >
> > How can this happen?
> > When people mistakenly call try_module_get(THIS_MODULE)?
>
> Yes. There are lots of place where this is happening:
>
> $ git grep try_module_get\(THIS_MODULE|wc -l
> 82
>
> > We should
> > throw up a big warning when that happens anyway as that's always wrong.
> >
> > But that's a different issue from this change, sorry for the noise.
>
> It sounds very weird to use try_module_get(THIS_MODULE).
>
> We could add a WARN_ON() there - or something similar - but I would do it
> on a separate patch.
You could add a compile-time check.
But a run-time one seems unnecessary.
Clearly try_module_get(THIS_MODULE) usually succeeds.
I think I can invent a case where it can fail:
The module count must be zero, and a module unload in progress.
The thread doing the unload is blocked somewhere.
Another thread makes a callback into the module for some request
that (for instance) would need to create a kernel thread.
It tries to get a reference for the thread.
So try_module_get(THIS_MODULE) is the right call - and will fail here.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
^ permalink raw reply [flat|nested] 27+ messages in thread
end of thread, other threads:[~2022-05-01 13:30 UTC | newest]
Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-30 10:30 [PATCH v2 0/2] Let userspace know when snd-hda-intel needs i915 Mauro Carvalho Chehab
2022-04-30 10:30 ` Mauro Carvalho Chehab
2022-04-30 10:30 ` [Intel-gfx] " Mauro Carvalho Chehab
2022-04-30 10:30 ` Mauro Carvalho Chehab
2022-04-30 10:30 ` [PATCH v2 1/2] module: update dependencies at try_module_get() Mauro Carvalho Chehab
2022-04-30 10:30 ` Mauro Carvalho Chehab
2022-04-30 10:30 ` [Intel-gfx] " Mauro Carvalho Chehab
2022-04-30 10:30 ` Mauro Carvalho Chehab
2022-04-30 12:04 ` Greg KH
2022-04-30 12:04 ` Greg KH
2022-04-30 12:04 ` [Intel-gfx] " Greg KH
2022-04-30 12:04 ` Greg KH
2022-04-30 13:38 ` Mauro Carvalho Chehab
2022-04-30 13:38 ` Mauro Carvalho Chehab
2022-04-30 13:38 ` [Intel-gfx] " Mauro Carvalho Chehab
2022-04-30 13:38 ` Mauro Carvalho Chehab
2022-05-01 13:23 ` David Laight
2022-05-01 13:23 ` [Intel-gfx] " David Laight
2022-05-01 13:23 ` David Laight
2022-05-01 13:23 ` David Laight
2022-04-30 10:30 ` [PATCH v2 2/2] ALSA: hda - identify when audio is provided by a video driver Mauro Carvalho Chehab
2022-04-30 10:30 ` Mauro Carvalho Chehab
2022-04-30 10:30 ` [Intel-gfx] " Mauro Carvalho Chehab
2022-04-30 10:30 ` Mauro Carvalho Chehab
2022-04-30 11:00 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for Let userspace know when snd-hda-intel needs i915 (rev2) Patchwork
2022-04-30 11:31 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-04-30 13:24 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
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.