* [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page()
@ 2023-06-17 18:04 Sumitra Sharma
2023-06-18 18:11 ` Ira Weiny
` (4 more replies)
0 siblings, 5 replies; 18+ messages in thread
From: Sumitra Sharma @ 2023-06-17 18:04 UTC (permalink / raw)
To: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
David Airlie, Daniel Vetter, intel-gfx, dri-devel, linux-kernel
Cc: Deepak R Varma, Fabio, Ira Weiny, Sumitra Sharma
kmap() has been deprecated in favor of the kmap_local_page()
due to high cost, restricted mapping space, the overhead of a
global lock for synchronization, and making the process sleep
in the absence of free slots.
kmap_local_page() is faster than kmap() and offers thread-local
and CPU-local mappings, take pagefaults in a local kmap region
and preserves preemption by saving the mappings of outgoing tasks
and restoring those of the incoming one during a context switch.
The mapping is kept thread local in the function
“i915_vma_coredump_create” in i915_gpu_error.c
Therefore, replace kmap() with kmap_local_page().
Suggested-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com>
---
Changes in v2:
- Replace kmap() with kmap_local_page().
- Change commit subject and message.
drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
index f020c0086fbc..bc41500eedf5 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -1164,9 +1164,9 @@ i915_vma_coredump_create(const struct intel_gt *gt,
drm_clflush_pages(&page, 1);
- s = kmap(page);
+ s = kmap_local_page(page);
ret = compress_page(compress, s, dst, false);
- kunmap(page);
+ kunmap_local(s);
drm_clflush_pages(&page, 1);
--
2.25.1
^ permalink raw reply related [flat|nested] 18+ messages in thread* Re: [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() 2023-06-17 18:04 [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() Sumitra Sharma @ 2023-06-18 18:11 ` Ira Weiny 2023-06-19 7:59 ` Thomas Hellström (Intel) 2023-06-19 15:45 ` Sumitra Sharma 2023-06-21 1:09 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Replace kmap() with kmap_local_page() (rev6) Patchwork ` (3 subsequent siblings) 4 siblings, 2 replies; 18+ messages in thread From: Ira Weiny @ 2023-06-18 18:11 UTC (permalink / raw) To: Sumitra Sharma, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin, David Airlie, Daniel Vetter, intel-gfx, dri-devel, linux-kernel, Thomas Hellström (Intel) Cc: Deepak R Varma, Fabio, Ira Weiny, Sumitra Sharma Sumitra Sharma wrote: > kmap() has been deprecated in favor of the kmap_local_page() > due to high cost, restricted mapping space, the overhead of a > global lock for synchronization, and making the process sleep > in the absence of free slots. > > kmap_local_page() is faster than kmap() and offers thread-local > and CPU-local mappings, take pagefaults in a local kmap region > and preserves preemption by saving the mappings of outgoing tasks > and restoring those of the incoming one during a context switch. > > The mapping is kept thread local in the function > “i915_vma_coredump_create” in i915_gpu_error.c > > Therefore, replace kmap() with kmap_local_page(). > > Suggested-by: Ira Weiny <ira.weiny@intel.com> > NIT: No need for the line break between Suggested-by and your signed off line. > Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com> > --- > > Changes in v2: > - Replace kmap() with kmap_local_page(). Generally it is customary to attribute a change like this to those who suggested it in a V1 review. For example: - Tvrtko/Thomas: Use kmap_local_page() instead of page_address() Also I don't see Thomas on the new email list. Since he took the time to review V1 he might want to check this version out. I've added him to the 'To:' list. Also a link to V1 is nice. B4 formats it like this: - Link to v1: https://lore.kernel.org/all/20230614123556.GA381200@sumitra.com/ All that said the code looks good to me. So with the above changes. Reviewed-by: Ira Weiny <ira.weiny@intel.com> > - Change commit subject and message. > > drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c > index f020c0086fbc..bc41500eedf5 100644 > --- a/drivers/gpu/drm/i915/i915_gpu_error.c > +++ b/drivers/gpu/drm/i915/i915_gpu_error.c > @@ -1164,9 +1164,9 @@ i915_vma_coredump_create(const struct intel_gt *gt, > > drm_clflush_pages(&page, 1); > > - s = kmap(page); > + s = kmap_local_page(page); > ret = compress_page(compress, s, dst, false); > - kunmap(page); > + kunmap_local(s); > > drm_clflush_pages(&page, 1); > > -- > 2.25.1 > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() 2023-06-18 18:11 ` Ira Weiny @ 2023-06-19 7:59 ` Thomas Hellström (Intel) 2023-06-19 8:44 ` Tvrtko Ursulin 2023-06-19 15:45 ` Sumitra Sharma 1 sibling, 1 reply; 18+ messages in thread From: Thomas Hellström (Intel) @ 2023-06-19 7:59 UTC (permalink / raw) To: Ira Weiny, Sumitra Sharma, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin, David Airlie, Daniel Vetter, intel-gfx, dri-devel, linux-kernel Cc: Deepak R Varma, Fabio On 6/18/23 20:11, Ira Weiny wrote: > Sumitra Sharma wrote: >> kmap() has been deprecated in favor of the kmap_local_page() >> due to high cost, restricted mapping space, the overhead of a >> global lock for synchronization, and making the process sleep >> in the absence of free slots. >> >> kmap_local_page() is faster than kmap() and offers thread-local >> and CPU-local mappings, take pagefaults in a local kmap region >> and preserves preemption by saving the mappings of outgoing tasks >> and restoring those of the incoming one during a context switch. >> >> The mapping is kept thread local in the function >> “i915_vma_coredump_create” in i915_gpu_error.c >> >> Therefore, replace kmap() with kmap_local_page(). >> >> Suggested-by: Ira Weiny <ira.weiny@intel.com> >> > NIT: No need for the line break between Suggested-by and your signed off line. > >> Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com> >> --- >> >> Changes in v2: >> - Replace kmap() with kmap_local_page(). > Generally it is customary to attribute a change like this to those who > suggested it in a V1 review. > > For example: > > - Tvrtko/Thomas: Use kmap_local_page() instead of page_address() > > Also I don't see Thomas on the new email list. Since he took the time to > review V1 he might want to check this version out. I've added him to the > 'To:' list. Thanks. > Also a link to V1 is nice. B4 formats it like this: > > - Link to v1: https://lore.kernel.org/all/20230614123556.GA381200@sumitra.com/ > > All that said the code looks good to me. So with the above changes. > > Reviewed-by: Ira Weiny <ira.weiny@intel.com> LGTM. Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> > >> - Change commit subject and message. >> >> drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c >> index f020c0086fbc..bc41500eedf5 100644 >> --- a/drivers/gpu/drm/i915/i915_gpu_error.c >> +++ b/drivers/gpu/drm/i915/i915_gpu_error.c >> @@ -1164,9 +1164,9 @@ i915_vma_coredump_create(const struct intel_gt *gt, >> >> drm_clflush_pages(&page, 1); >> >> - s = kmap(page); >> + s = kmap_local_page(page); >> ret = compress_page(compress, s, dst, false); >> - kunmap(page); >> + kunmap_local(s); >> >> drm_clflush_pages(&page, 1); >> >> -- >> 2.25.1 >> ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() 2023-06-19 7:59 ` Thomas Hellström (Intel) @ 2023-06-19 8:44 ` Tvrtko Ursulin 0 siblings, 0 replies; 18+ messages in thread From: Tvrtko Ursulin @ 2023-06-19 8:44 UTC (permalink / raw) To: Thomas Hellström (Intel), Ira Weiny, Sumitra Sharma, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, David Airlie, Daniel Vetter, intel-gfx, dri-devel, linux-kernel Cc: Deepak R Varma, Fabio On 19/06/2023 08:59, Thomas Hellström (Intel) wrote: > > On 6/18/23 20:11, Ira Weiny wrote: >> Sumitra Sharma wrote: >>> kmap() has been deprecated in favor of the kmap_local_page() >>> due to high cost, restricted mapping space, the overhead of a >>> global lock for synchronization, and making the process sleep >>> in the absence of free slots. >>> >>> kmap_local_page() is faster than kmap() and offers thread-local >>> and CPU-local mappings, take pagefaults in a local kmap region >>> and preserves preemption by saving the mappings of outgoing tasks >>> and restoring those of the incoming one during a context switch. >>> >>> The mapping is kept thread local in the function >>> “i915_vma_coredump_create” in i915_gpu_error.c >>> >>> Therefore, replace kmap() with kmap_local_page(). >>> >>> Suggested-by: Ira Weiny <ira.weiny@intel.com> >>> >> NIT: No need for the line break between Suggested-by and your signed >> off line. >> >>> Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com> >>> --- >>> >>> Changes in v2: >>> - Replace kmap() with kmap_local_page(). >> Generally it is customary to attribute a change like this to those who >> suggested it in a V1 review. >> >> For example: >> >> - Tvrtko/Thomas: Use kmap_local_page() instead of page_address() >> >> Also I don't see Thomas on the new email list. Since he took the time to >> review V1 he might want to check this version out. I've added him to the >> 'To:' list. > > Thanks. > > >> Also a link to V1 is nice. B4 formats it like this: >> >> - Link to v1: >> https://lore.kernel.org/all/20230614123556.GA381200@sumitra.com/ >> >> All that said the code looks good to me. So with the above changes. >> >> Reviewed-by: Ira Weiny <ira.weiny@intel.com> > > LGTM. Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> Thanks all! I'll just re-send the patch for our CI, since it didn't get picked up automatically (stuck in moderation perhaps), with all r-b tags added and extra line space removed and merge it if results will be green. Regards, Tvrtko ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() 2023-06-18 18:11 ` Ira Weiny 2023-06-19 7:59 ` Thomas Hellström (Intel) @ 2023-06-19 15:45 ` Sumitra Sharma 2023-06-20 13:23 ` Ira Weiny 1 sibling, 1 reply; 18+ messages in thread From: Sumitra Sharma @ 2023-06-19 15:45 UTC (permalink / raw) To: Ira Weiny Cc: Sumitra Sharma, Deepak R Varma, Fabio, intel-gfx, linux-kernel, dri-devel, Daniel Vetter, Rodrigo Vivi, David Airlie On Sun, Jun 18, 2023 at 11:11:08AM -0700, Ira Weiny wrote: > Sumitra Sharma wrote: > > kmap() has been deprecated in favor of the kmap_local_page() > > due to high cost, restricted mapping space, the overhead of a > > global lock for synchronization, and making the process sleep > > in the absence of free slots. > > > > kmap_local_page() is faster than kmap() and offers thread-local > > and CPU-local mappings, take pagefaults in a local kmap region > > and preserves preemption by saving the mappings of outgoing tasks > > and restoring those of the incoming one during a context switch. > > > > The mapping is kept thread local in the function > > “i915_vma_coredump_create” in i915_gpu_error.c > > > > Therefore, replace kmap() with kmap_local_page(). > > > > Suggested-by: Ira Weiny <ira.weiny@intel.com> > > > > NIT: No need for the line break between Suggested-by and your signed off line. > Hi Ira, What does NIT stand for? Thank you. I will take care about the line breaks. > > Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com> > > --- > > > > Changes in v2: > > - Replace kmap() with kmap_local_page(). > > Generally it is customary to attribute a change like this to those who > suggested it in a V1 review. > > For example: > > - Tvrtko/Thomas: Use kmap_local_page() instead of page_address() > > Also I don't see Thomas on the new email list. Since he took the time to > review V1 he might want to check this version out. I've added him to the > 'To:' list. > > Also a link to V1 is nice. B4 formats it like this: > > - Link to v1: https://lore.kernel.org/all/20230614123556.GA381200@sumitra.com/ > > All that said the code looks good to me. So with the above changes. > > Reviewed-by: Ira Weiny <ira.weiny@intel.com> > I have noted down the points mentioned above. Thank you again. I am not supposed to create another version of this patch for adding the above mentions, as you and Thomas both gave this patch a reviewed-by tag. Right? Thanks & regards Sumitra PS: I am new to the open source vocabulary terms. > > - Change commit subject and message. > > > > drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c > > index f020c0086fbc..bc41500eedf5 100644 > > --- a/drivers/gpu/drm/i915/i915_gpu_error.c > > +++ b/drivers/gpu/drm/i915/i915_gpu_error.c > > @@ -1164,9 +1164,9 @@ i915_vma_coredump_create(const struct intel_gt *gt, > > > > drm_clflush_pages(&page, 1); > > > > - s = kmap(page); > > + s = kmap_local_page(page); > > ret = compress_page(compress, s, dst, false); > > - kunmap(page); > > + kunmap_local(s); > > > > drm_clflush_pages(&page, 1); > > > > -- > > 2.25.1 > > > > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() 2023-06-19 15:45 ` Sumitra Sharma @ 2023-06-20 13:23 ` Ira Weiny 2023-06-20 18:07 ` Sumitra Sharma 2023-06-26 9:02 ` Tvrtko Ursulin 0 siblings, 2 replies; 18+ messages in thread From: Ira Weiny @ 2023-06-20 13:23 UTC (permalink / raw) To: Sumitra Sharma, Ira Weiny Cc: Sumitra Sharma, Deepak R Varma, Fabio, intel-gfx, linux-kernel, dri-devel, Daniel Vetter, Rodrigo Vivi, David Airlie Sumitra Sharma wrote: > On Sun, Jun 18, 2023 at 11:11:08AM -0700, Ira Weiny wrote: > > Sumitra Sharma wrote: > > > kmap() has been deprecated in favor of the kmap_local_page() > > > due to high cost, restricted mapping space, the overhead of a > > > global lock for synchronization, and making the process sleep > > > in the absence of free slots. > > > > > > kmap_local_page() is faster than kmap() and offers thread-local > > > and CPU-local mappings, take pagefaults in a local kmap region > > > and preserves preemption by saving the mappings of outgoing tasks > > > and restoring those of the incoming one during a context switch. > > > > > > The mapping is kept thread local in the function > > > “i915_vma_coredump_create” in i915_gpu_error.c > > > > > > Therefore, replace kmap() with kmap_local_page(). > > > > > > Suggested-by: Ira Weiny <ira.weiny@intel.com> > > > > > > > NIT: No need for the line break between Suggested-by and your signed off line. > > > > Hi Ira, > > What does NIT stand for? Shorthand for 'nitpicking'. "giving too much attention to details that are not important, especially as a way of criticizing: " - https://dictionary.cambridge.org/dictionary/english/nitpicking Via email this is a way for authors of an email to indicate something is technically wrong but while nicely acknowledging that it is not very significant and could be seen as overly critical. For this particular comment I'm showing something to pay attention to next time but that was not a big deal this time around. > > Thank you. I will take care about the line breaks. > > > > Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com> > > > --- > > > > > > Changes in v2: > > > - Replace kmap() with kmap_local_page(). > > > > Generally it is customary to attribute a change like this to those who > > suggested it in a V1 review. > > > > For example: > > > > - Tvrtko/Thomas: Use kmap_local_page() instead of page_address() > > > > Also I don't see Thomas on the new email list. Since he took the time to > > review V1 he might want to check this version out. I've added him to the > > 'To:' list. > > > > Also a link to V1 is nice. B4 formats it like this: > > > > - Link to v1: https://lore.kernel.org/all/20230614123556.GA381200@sumitra.com/ > > > > All that said the code looks good to me. So with the above changes. > > > > Reviewed-by: Ira Weiny <ira.weiny@intel.com> > > > > I have noted down the points mentioned above. Thank you again. > > I am not supposed to create another version of this patch for > adding the above mentions, as you and Thomas both gave this patch > a reviewed-by tag. Right? > Based on this response[*] from Tvrtko I think this version can move through without a v3. Thanks! Ira [*] https://lore.kernel.org/all/bcb0a1d2-cd4d-a56f-1ee6-7ccfdd2f7b38@linux.intel.com/ <quote> Thanks all! I'll just re-send the patch for our CI, since it didn't get picked up automatically (stuck in moderation perhaps), with all r-b tags added and extra line space removed and merge it if results will be green. Regards, Tvrtko </quote> > > Thanks & regards > Sumitra > > PS: I am new to the open source vocabulary terms. > > > > - Change commit subject and message. > > > > > > drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++-- > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c > > > index f020c0086fbc..bc41500eedf5 100644 > > > --- a/drivers/gpu/drm/i915/i915_gpu_error.c > > > +++ b/drivers/gpu/drm/i915/i915_gpu_error.c > > > @@ -1164,9 +1164,9 @@ i915_vma_coredump_create(const struct intel_gt *gt, > > > > > > drm_clflush_pages(&page, 1); > > > > > > - s = kmap(page); > > > + s = kmap_local_page(page); > > > ret = compress_page(compress, s, dst, false); > > > - kunmap(page); > > > + kunmap_local(s); > > > > > > drm_clflush_pages(&page, 1); > > > > > > -- > > > 2.25.1 > > > > > > > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() 2023-06-20 13:23 ` Ira Weiny @ 2023-06-20 18:07 ` Sumitra Sharma 2023-06-21 9:06 ` Thomas Hellström (Intel) 2023-06-26 9:02 ` Tvrtko Ursulin 1 sibling, 1 reply; 18+ messages in thread From: Sumitra Sharma @ 2023-06-20 18:07 UTC (permalink / raw) To: Ira Weiny Cc: Sumitra Sharma, Deepak R Varma, Fabio, intel-gfx, linux-kernel, dri-devel, Daniel Vetter, Rodrigo Vivi, David Airlie On Tue, Jun 20, 2023 at 06:23:38AM -0700, Ira Weiny wrote: > Sumitra Sharma wrote: > > On Sun, Jun 18, 2023 at 11:11:08AM -0700, Ira Weiny wrote: > > > Sumitra Sharma wrote: > > > > kmap() has been deprecated in favor of the kmap_local_page() > > > > due to high cost, restricted mapping space, the overhead of a > > > > global lock for synchronization, and making the process sleep > > > > in the absence of free slots. > > > > > > > > kmap_local_page() is faster than kmap() and offers thread-local > > > > and CPU-local mappings, take pagefaults in a local kmap region > > > > and preserves preemption by saving the mappings of outgoing tasks > > > > and restoring those of the incoming one during a context switch. > > > > > > > > The mapping is kept thread local in the function > > > > “i915_vma_coredump_create” in i915_gpu_error.c > > > > > > > > Therefore, replace kmap() with kmap_local_page(). > > > > > > > > Suggested-by: Ira Weiny <ira.weiny@intel.com> > > > > > > > > > > NIT: No need for the line break between Suggested-by and your signed off line. > > > > > > > Hi Ira, > > > > What does NIT stand for? > > Shorthand for 'nitpicking'. > > "giving too much attention to details that are not important, especially > as a way of criticizing: " > > - https://dictionary.cambridge.org/dictionary/english/nitpicking > > Via email this is a way for authors of an email to indicate something is > technically wrong but while nicely acknowledging that it is not very > significant and could be seen as overly critical. > > For this particular comment I'm showing something to pay attention to next > time but that was not a big deal this time around. > Hi Ira, Thank for your explanation on NIT. > > > > Thank you. I will take care about the line breaks. > > > > > > Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com> > > > > --- > > > > > > > > Changes in v2: > > > > - Replace kmap() with kmap_local_page(). > > > > > > Generally it is customary to attribute a change like this to those who > > > suggested it in a V1 review. > > > > > > For example: > > > > > > - Tvrtko/Thomas: Use kmap_local_page() instead of page_address() > > > > > > Also I don't see Thomas on the new email list. Since he took the time to > > > review V1 he might want to check this version out. I've added him to the > > > 'To:' list. > > > > > > Also a link to V1 is nice. B4 formats it like this: > > > > > > - Link to v1: https://lore.kernel.org/all/20230614123556.GA381200@sumitra.com/ > > > > > > All that said the code looks good to me. So with the above changes. > > > > > > Reviewed-by: Ira Weiny <ira.weiny@intel.com> > > > > > > > I have noted down the points mentioned above. Thank you again. > > > > I am not supposed to create another version of this patch for > > adding the above mentions, as you and Thomas both gave this patch > > a reviewed-by tag. Right? > > > > Based on this response[*] from Tvrtko I think this version can move > through without a v3. Okay! Thanks & regards Sumitra > > Thanks! > Ira > > [*] https://lore.kernel.org/all/bcb0a1d2-cd4d-a56f-1ee6-7ccfdd2f7b38@linux.intel.com/ > > <quote> > Thanks all! I'll just re-send the patch for our CI, since it didn't get > picked up automatically (stuck in moderation perhaps), with all r-b tags > added and extra line space removed and merge it if results will be green. > > Regards, > > Tvrtko > </quote> > > > > > > Thanks & regards > > Sumitra > > > > PS: I am new to the open source vocabulary terms. > > > > > > - Change commit subject and message. > > > > > > > > drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++-- > > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > > > diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c > > > > index f020c0086fbc..bc41500eedf5 100644 > > > > --- a/drivers/gpu/drm/i915/i915_gpu_error.c > > > > +++ b/drivers/gpu/drm/i915/i915_gpu_error.c > > > > @@ -1164,9 +1164,9 @@ i915_vma_coredump_create(const struct intel_gt *gt, > > > > > > > > drm_clflush_pages(&page, 1); > > > > > > > > - s = kmap(page); > > > > + s = kmap_local_page(page); > > > > ret = compress_page(compress, s, dst, false); > > > > - kunmap(page); > > > > + kunmap_local(s); > > > > > > > > drm_clflush_pages(&page, 1); > > > > > > > > -- > > > > 2.25.1 > > > > > > > > > > > > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() 2023-06-20 18:07 ` Sumitra Sharma @ 2023-06-21 9:06 ` Thomas Hellström (Intel) 2023-06-21 13:24 ` Fabio M. De Francesco 2023-06-21 16:35 ` Ira Weiny 0 siblings, 2 replies; 18+ messages in thread From: Thomas Hellström (Intel) @ 2023-06-21 9:06 UTC (permalink / raw) To: Sumitra Sharma, Ira Weiny Cc: Deepak R Varma, Fabio, intel-gfx, linux-kernel, dri-devel, Daniel Vetter, Rodrigo Vivi, David Airlie On 6/20/23 20:07, Sumitra Sharma wrote: > On Tue, Jun 20, 2023 at 06:23:38AM -0700, Ira Weiny wrote: >> Sumitra Sharma wrote: >>> On Sun, Jun 18, 2023 at 11:11:08AM -0700, Ira Weiny wrote: >>>> Sumitra Sharma wrote: >>>>> kmap() has been deprecated in favor of the kmap_local_page() >>>>> due to high cost, restricted mapping space, the overhead of a >>>>> global lock for synchronization, and making the process sleep >>>>> in the absence of free slots. >>>>> >>>>> kmap_local_page() is faster than kmap() and offers thread-local >>>>> and CPU-local mappings, take pagefaults in a local kmap region >>>>> and preserves preemption by saving the mappings of outgoing tasks >>>>> and restoring those of the incoming one during a context switch. >>>>> >>>>> The mapping is kept thread local in the function >>>>> “i915_vma_coredump_create” in i915_gpu_error.c >>>>> >>>>> Therefore, replace kmap() with kmap_local_page(). >>>>> >>>>> Suggested-by: Ira Weiny <ira.weiny@intel.com> >>>>> >>>> NIT: No need for the line break between Suggested-by and your signed off line. >>>> >>> Hi Ira, >>> >>> What does NIT stand for? >> Shorthand for 'nitpicking'. >> >> "giving too much attention to details that are not important, especially >> as a way of criticizing: " >> >> - https://dictionary.cambridge.org/dictionary/english/nitpicking >> >> Via email this is a way for authors of an email to indicate something is >> technically wrong but while nicely acknowledging that it is not very >> significant and could be seen as overly critical. >> >> For this particular comment I'm showing something to pay attention to next >> time but that was not a big deal this time around. >> > Hi Ira, > > Thank for your explanation on NIT. > > >>> Thank you. I will take care about the line breaks. >>> >>>>> Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com> >>>>> --- >>>>> >>>>> Changes in v2: >>>>> - Replace kmap() with kmap_local_page(). >>>> Generally it is customary to attribute a change like this to those who >>>> suggested it in a V1 review. >>>> >>>> For example: >>>> >>>> - Tvrtko/Thomas: Use kmap_local_page() instead of page_address() >>>> >>>> Also I don't see Thomas on the new email list. Since he took the time to >>>> review V1 he might want to check this version out. I've added him to the >>>> 'To:' list. >>>> >>>> Also a link to V1 is nice. B4 formats it like this: >>>> >>>> - Link to v1: https://lore.kernel.org/all/20230614123556.GA381200@sumitra.com/ >>>> >>>> All that said the code looks good to me. So with the above changes. >>>> >>>> Reviewed-by: Ira Weiny <ira.weiny@intel.com> >>>> >>> I have noted down the points mentioned above. Thank you again. >>> >>> I am not supposed to create another version of this patch for >>> adding the above mentions, as you and Thomas both gave this patch >>> a reviewed-by tag. Right? >>> >> Based on this response[*] from Tvrtko I think this version can move >> through without a v3. > Okay! > > > Thanks & regards > Sumitra I think one thing worth mentioning in the context of this patch is that IIRC kmap_local_page() will block offlining of the mapping CPU until kunmap_local(), so while I haven't seen any guidelines around the usage of this api for long-held mappings, I figure it's wise to keep the mapping duration short, or at least avoid sleeping with a kmap_local_page() map active. I figured, while page compression is probably to be considered "slow" it's probably not slow enough to motivate kmap() instead of kmap_local_page(), but if anyone feels differently, perhaps it should be considered. With that said, my Reviewed-by: still stands. /Thomas > >> Thanks! >> Ira >> >> [*] https://lore.kernel.org/all/bcb0a1d2-cd4d-a56f-1ee6-7ccfdd2f7b38@linux.intel.com/ >> >> <quote> >> Thanks all! I'll just re-send the patch for our CI, since it didn't get >> picked up automatically (stuck in moderation perhaps), with all r-b tags >> added and extra line space removed and merge it if results will be green. >> >> Regards, >> >> Tvrtko >> </quote> >> >> >>> Thanks & regards >>> Sumitra >>> >>> PS: I am new to the open source vocabulary terms. >>> >>>>> - Change commit subject and message. >>>>> >>>>> drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++-- >>>>> 1 file changed, 2 insertions(+), 2 deletions(-) >>>>> >>>>> diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c >>>>> index f020c0086fbc..bc41500eedf5 100644 >>>>> --- a/drivers/gpu/drm/i915/i915_gpu_error.c >>>>> +++ b/drivers/gpu/drm/i915/i915_gpu_error.c >>>>> @@ -1164,9 +1164,9 @@ i915_vma_coredump_create(const struct intel_gt *gt, >>>>> >>>>> drm_clflush_pages(&page, 1); >>>>> >>>>> - s = kmap(page); >>>>> + s = kmap_local_page(page); >>>>> ret = compress_page(compress, s, dst, false); >>>>> - kunmap(page); >>>>> + kunmap_local(s); >>>>> >>>>> drm_clflush_pages(&page, 1); >>>>> >>>>> -- >>>>> 2.25.1 >>>>> >>>> >> ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() 2023-06-21 9:06 ` Thomas Hellström (Intel) @ 2023-06-21 13:24 ` Fabio M. De Francesco 2023-06-21 16:35 ` Ira Weiny 1 sibling, 0 replies; 18+ messages in thread From: Fabio M. De Francesco @ 2023-06-21 13:24 UTC (permalink / raw) To: Sumitra Sharma, Ira Weiny, Thomas Hellström (Intel) Cc: Deepak R Varma, intel-gfx, linux-kernel, dri-devel, Daniel Vetter, Rodrigo Vivi, David Airlie On mercoledì 21 giugno 2023 11:06:51 CEST Thomas Hellström (Intel) wrote: > > I think one thing worth mentioning in the context of this patch is that > IIRC kmap_local_page() will block offlining of the mapping CPU until > kunmap_local(), Migration is disabled. > so while I haven't seen any guidelines around the usage > of this api for long-held mappings, It would be advisable to not use it for long term mappings, if possible. These "local" mappings should better be help for not too long duration. > I figure it's wise to keep the > mapping duration short, or at least avoid sleeping with a > kmap_local_page() map active. Nothing prevents a call of preempt_disable() around the section of code between kmap_local_page() / kunmap_local(). If it is needed, local mappings could also be acquired under spinlocks and/or with disabled interrupts. I don't know the code, however, everything cited above could be the subject of a subsequent patch. Regards, Fabio > I figured, while page compression is probably to be considered "slow" > it's probably not slow enough to motivate kmap() instead of > kmap_local_page(), but if anyone feels differently, perhaps it should be > considered. > > With that said, my Reviewed-by: still stands. > > /Thomas > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() 2023-06-21 9:06 ` Thomas Hellström (Intel) 2023-06-21 13:24 ` Fabio M. De Francesco @ 2023-06-21 16:35 ` Ira Weiny 2023-06-21 18:51 ` Thomas Hellström (Intel) 1 sibling, 1 reply; 18+ messages in thread From: Ira Weiny @ 2023-06-21 16:35 UTC (permalink / raw) To: Thomas Hellström (Intel), Sumitra Sharma, Ira Weiny Cc: Deepak R Varma, Fabio, intel-gfx, linux-kernel, dri-devel, Daniel Vetter, Rodrigo Vivi, David Airlie Thomas Hellström (Intel) wrote: > > I think one thing worth mentioning in the context of this patch is that > IIRC kmap_local_page() will block offlining of the mapping CPU until > kunmap_local(), so while I haven't seen any guidelines around the usage > of this api for long-held mappings, I figure it's wise to keep the > mapping duration short, or at least avoid sleeping with a > kmap_local_page() map active. > > I figured, while page compression is probably to be considered "slow" > it's probably not slow enough to motivate kmap() instead of > kmap_local_page(), but if anyone feels differently, perhaps it should be > considered. What you say is all true. But remember the mappings are only actually created on a HIGHMEM system. HIGHMEM systems are increasingly rare. Also they must suffer such performance issues because there is just no other way around supporting them. Also Sumitra, and our kmap conversion project in general, is focusing on not using kmap* if at all possible. Thus the reason V1 tried to use page_address(). Could we guarantee the i915 driver is excluded from all HIGHMEM systems? > > With that said, my Reviewed-by: still stands. Thanks! Ira ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() 2023-06-21 16:35 ` Ira Weiny @ 2023-06-21 18:51 ` Thomas Hellström (Intel) 2023-06-22 9:40 ` Tvrtko Ursulin 0 siblings, 1 reply; 18+ messages in thread From: Thomas Hellström (Intel) @ 2023-06-21 18:51 UTC (permalink / raw) To: Ira Weiny, Sumitra Sharma Cc: Deepak R Varma, Fabio, intel-gfx, linux-kernel, dri-devel, Daniel Vetter, Rodrigo Vivi, David Airlie On 6/21/23 18:35, Ira Weiny wrote: > Thomas Hellström (Intel) wrote: >> I think one thing worth mentioning in the context of this patch is that >> IIRC kmap_local_page() will block offlining of the mapping CPU until >> kunmap_local(), so while I haven't seen any guidelines around the usage >> of this api for long-held mappings, I figure it's wise to keep the >> mapping duration short, or at least avoid sleeping with a >> kmap_local_page() map active. >> >> I figured, while page compression is probably to be considered "slow" >> it's probably not slow enough to motivate kmap() instead of >> kmap_local_page(), but if anyone feels differently, perhaps it should be >> considered. > What you say is all true. But remember the mappings are only actually > created on a HIGHMEM system. HIGHMEM systems are increasingly rare. Also > they must suffer such performance issues because there is just no other > way around supporting them. > > Also Sumitra, and our kmap conversion project in general, is focusing on > not using kmap* if at all possible. Thus the reason V1 tried to use > page_address(). > > Could we guarantee the i915 driver is excluded from all HIGHMEM systems? The i915 maintainers might want to chime in here, but I would say no, we can't, although we don't care much about optimizing for them. Same for the new xe driver. Thanks, /Thomas > >> With that said, my Reviewed-by: still stands. > Thanks! > Ira ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() 2023-06-21 18:51 ` Thomas Hellström (Intel) @ 2023-06-22 9:40 ` Tvrtko Ursulin 0 siblings, 0 replies; 18+ messages in thread From: Tvrtko Ursulin @ 2023-06-22 9:40 UTC (permalink / raw) To: Thomas Hellström (Intel), Ira Weiny, Sumitra Sharma Cc: Deepak R Varma, Fabio, intel-gfx, linux-kernel, dri-devel, Daniel Vetter, Rodrigo Vivi, David Airlie On 21/06/2023 19:51, Thomas Hellström (Intel) wrote: > > On 6/21/23 18:35, Ira Weiny wrote: >> Thomas Hellström (Intel) wrote: >>> I think one thing worth mentioning in the context of this patch is that >>> IIRC kmap_local_page() will block offlining of the mapping CPU until >>> kunmap_local(), so while I haven't seen any guidelines around the usage >>> of this api for long-held mappings, I figure it's wise to keep the >>> mapping duration short, or at least avoid sleeping with a >>> kmap_local_page() map active. >>> >>> I figured, while page compression is probably to be considered "slow" >>> it's probably not slow enough to motivate kmap() instead of >>> kmap_local_page(), but if anyone feels differently, perhaps it should be >>> considered. >> What you say is all true. But remember the mappings are only actually >> created on a HIGHMEM system. HIGHMEM systems are increasingly rare. >> Also >> they must suffer such performance issues because there is just no other >> way around supporting them. >> >> Also Sumitra, and our kmap conversion project in general, is focusing on >> not using kmap* if at all possible. Thus the reason V1 tried to use >> page_address(). >> >> Could we guarantee the i915 driver is excluded from all HIGHMEM systems? > > The i915 maintainers might want to chime in here, but I would say no, we > can't, although we don't care much about optimizing for them. Same for > the new xe driver. AFAIK i915 works on such systems so I don't think we can drop support just like that. Not sure what the process would be. Perhaps as part of a wider kernel deprecation would make most sense. Regards, Tvrtko ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() 2023-06-20 13:23 ` Ira Weiny 2023-06-20 18:07 ` Sumitra Sharma @ 2023-06-26 9:02 ` Tvrtko Ursulin 1 sibling, 0 replies; 18+ messages in thread From: Tvrtko Ursulin @ 2023-06-26 9:02 UTC (permalink / raw) To: Ira Weiny, Sumitra Sharma Cc: Deepak R Varma, Fabio, intel-gfx, linux-kernel, dri-devel, Daniel Vetter, Rodrigo Vivi, David Airlie On 20/06/2023 14:23, Ira Weiny wrote: > Sumitra Sharma wrote: >> On Sun, Jun 18, 2023 at 11:11:08AM -0700, Ira Weiny wrote: >>> Sumitra Sharma wrote: >>>> kmap() has been deprecated in favor of the kmap_local_page() >>>> due to high cost, restricted mapping space, the overhead of a >>>> global lock for synchronization, and making the process sleep >>>> in the absence of free slots. >>>> >>>> kmap_local_page() is faster than kmap() and offers thread-local >>>> and CPU-local mappings, take pagefaults in a local kmap region >>>> and preserves preemption by saving the mappings of outgoing tasks >>>> and restoring those of the incoming one during a context switch. >>>> >>>> The mapping is kept thread local in the function >>>> “i915_vma_coredump_create” in i915_gpu_error.c >>>> >>>> Therefore, replace kmap() with kmap_local_page(). >>>> >>>> Suggested-by: Ira Weiny <ira.weiny@intel.com> >>>> >>> >>> NIT: No need for the line break between Suggested-by and your signed off line. >>> >> >> Hi Ira, >> >> What does NIT stand for? > > Shorthand for 'nitpicking'. > > "giving too much attention to details that are not important, especially > as a way of criticizing: " > > - https://dictionary.cambridge.org/dictionary/english/nitpicking > > Via email this is a way for authors of an email to indicate something is > technically wrong but while nicely acknowledging that it is not very > significant and could be seen as overly critical. > > For this particular comment I'm showing something to pay attention to next > time but that was not a big deal this time around. > >> >> Thank you. I will take care about the line breaks. >> >>>> Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com> >>>> --- >>>> >>>> Changes in v2: >>>> - Replace kmap() with kmap_local_page(). >>> >>> Generally it is customary to attribute a change like this to those who >>> suggested it in a V1 review. >>> >>> For example: >>> >>> - Tvrtko/Thomas: Use kmap_local_page() instead of page_address() >>> >>> Also I don't see Thomas on the new email list. Since he took the time to >>> review V1 he might want to check this version out. I've added him to the >>> 'To:' list. >>> >>> Also a link to V1 is nice. B4 formats it like this: >>> >>> - Link to v1: https://lore.kernel.org/all/20230614123556.GA381200@sumitra.com/ >>> >>> All that said the code looks good to me. So with the above changes. >>> >>> Reviewed-by: Ira Weiny <ira.weiny@intel.com> >>> >> >> I have noted down the points mentioned above. Thank you again. >> >> I am not supposed to create another version of this patch for >> adding the above mentions, as you and Thomas both gave this patch >> a reviewed-by tag. Right? >> > > Based on this response[*] from Tvrtko I think this version can move > through without a v3. > > Thanks! > Ira > > [*] https://lore.kernel.org/all/bcb0a1d2-cd4d-a56f-1ee6-7ccfdd2f7b38@linux.intel.com/ > > <quote> > Thanks all! I'll just re-send the patch for our CI, since it didn't get > picked up automatically (stuck in moderation perhaps), with all r-b tags > added and extra line space removed and merge it if results will be green. > > Regards, > > Tvrtko > </quote> Pushed to drm-intel-gt-next, thanks for the patch and reviews! Regards, Tvrtko ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Replace kmap() with kmap_local_page() (rev6) 2023-06-17 18:04 [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() Sumitra Sharma 2023-06-18 18:11 ` Ira Weiny @ 2023-06-21 1:09 ` Patchwork 2023-06-21 22:30 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Replace kmap() with kmap_local_page() (rev7) Patchwork ` (2 subsequent siblings) 4 siblings, 0 replies; 18+ messages in thread From: Patchwork @ 2023-06-21 1:09 UTC (permalink / raw) To: Fabio M. De Francesco; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 5973 bytes --] == Series Details == Series: drm/i915: Replace kmap() with kmap_local_page() (rev6) URL : https://patchwork.freedesktop.org/series/107277/ State : failure == Summary == CI Bug Log - changes from CI_DRM_13297 -> Patchwork_107277v6 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_107277v6 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_107277v6, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v6/index.html Participating hosts (43 -> 41) ------------------------------ Missing (2): fi-kbl-soraka fi-snb-2520m Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_107277v6: ### IGT changes ### #### Possible regressions #### * igt@i915_pm_rpm@basic-rte: - bat-mtlp-8: [PASS][1] -> [ABORT][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13297/bat-mtlp-8/igt@i915_pm_rpm@basic-rte.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v6/bat-mtlp-8/igt@i915_pm_rpm@basic-rte.html Known issues ------------ Here are the changes found in Patchwork_107277v6 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@core_auth@basic-auth: - bat-adlp-11: NOTRUN -> [ABORT][3] ([i915#8011]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v6/bat-adlp-11/igt@core_auth@basic-auth.html * igt@i915_selftest@live@gt_mocs: - bat-mtlp-6: [PASS][4] -> [DMESG-FAIL][5] ([i915#7059]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13297/bat-mtlp-6/igt@i915_selftest@live@gt_mocs.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v6/bat-mtlp-6/igt@i915_selftest@live@gt_mocs.html * igt@i915_selftest@live@requests: - bat-mtlp-6: [PASS][6] -> [DMESG-FAIL][7] ([i915#7269]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13297/bat-mtlp-6/igt@i915_selftest@live@requests.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v6/bat-mtlp-6/igt@i915_selftest@live@requests.html * igt@i915_selftest@live@slpc: - bat-mtlp-6: [PASS][8] -> [DMESG-WARN][9] ([i915#6367]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13297/bat-mtlp-6/igt@i915_selftest@live@slpc.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v6/bat-mtlp-6/igt@i915_selftest@live@slpc.html * igt@i915_selftest@live@workarounds: - bat-mtlp-6: [PASS][10] -> [DMESG-FAIL][11] ([i915#6763]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13297/bat-mtlp-6/igt@i915_selftest@live@workarounds.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v6/bat-mtlp-6/igt@i915_selftest@live@workarounds.html * igt@kms_pipe_crc_basic@read-crc-frame-sequence: - bat-dg2-11: NOTRUN -> [SKIP][12] ([i915#1845] / [i915#5354]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v6/bat-dg2-11/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html #### Possible fixes #### * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-1: - fi-kbl-7567u: [ABORT][13] -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13297/fi-kbl-7567u/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-1.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v6/fi-kbl-7567u/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-1.html #### Warnings #### * igt@i915_module_load@load: - bat-adlp-11: [ABORT][15] ([i915#4423]) -> [DMESG-WARN][16] ([i915#4423]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13297/bat-adlp-11/igt@i915_module_load@load.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v6/bat-adlp-11/igt@i915_module_load@load.html * igt@i915_selftest@live@reset: - bat-rpls-2: [ABORT][17] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#7981] / [i915#8347]) -> [ABORT][18] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#8347]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13297/bat-rpls-2/igt@i915_selftest@live@reset.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v6/bat-rpls-2/igt@i915_selftest@live@reset.html [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367 [i915#6763]: https://gitlab.freedesktop.org/drm/intel/issues/6763 [i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059 [i915#7269]: https://gitlab.freedesktop.org/drm/intel/issues/7269 [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461 [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913 [i915#7981]: https://gitlab.freedesktop.org/drm/intel/issues/7981 [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011 [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347 Build changes ------------- * Linux: CI_DRM_13297 -> Patchwork_107277v6 CI-20190529: 20190529 CI_DRM_13297: 0e4da468fc093f8c8a1a82e5adabf24c67d46c6f @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7340: e975155e9167f0fed8f3da9c5b61de71d082b5c7 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_107277v6: 0e4da468fc093f8c8a1a82e5adabf24c67d46c6f @ git://anongit.freedesktop.org/gfx-ci/linux ### Linux commits 1baf2c7166e7 drm/i915: Replace kmap() with kmap_local_page() == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v6/index.html [-- Attachment #2: Type: text/html, Size: 7146 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Replace kmap() with kmap_local_page() (rev7) 2023-06-17 18:04 [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() Sumitra Sharma 2023-06-18 18:11 ` Ira Weiny 2023-06-21 1:09 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Replace kmap() with kmap_local_page() (rev6) Patchwork @ 2023-06-21 22:30 ` Patchwork 2023-06-22 12:29 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 2023-06-24 0:10 ` [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() Fabio M. De Francesco 4 siblings, 0 replies; 18+ messages in thread From: Patchwork @ 2023-06-21 22:30 UTC (permalink / raw) To: Fabio M. De Francesco; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 4949 bytes --] == Series Details == Series: drm/i915: Replace kmap() with kmap_local_page() (rev7) URL : https://patchwork.freedesktop.org/series/107277/ State : success == Summary == CI Bug Log - changes from CI_DRM_13302 -> Patchwork_107277v7 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/index.html Participating hosts (41 -> 41) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in Patchwork_107277v7 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live@gt_pm: - bat-rpls-2: [PASS][1] -> [DMESG-FAIL][2] ([i915#4258] / [i915#7913]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/bat-rpls-2/igt@i915_selftest@live@gt_pm.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/bat-rpls-2/igt@i915_selftest@live@gt_pm.html * igt@i915_selftest@live@reset: - bat-rpls-1: [PASS][3] -> [ABORT][4] ([i915#4983] / [i915#7461] / [i915#8347] / [i915#8384]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/bat-rpls-1/igt@i915_selftest@live@reset.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/bat-rpls-1/igt@i915_selftest@live@reset.html - bat-rpls-2: NOTRUN -> [ABORT][5] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#8347]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/bat-rpls-2/igt@i915_selftest@live@reset.html * igt@i915_selftest@live@slpc: - bat-mtlp-8: [PASS][6] -> [DMESG-WARN][7] ([i915#6367]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/bat-mtlp-8/igt@i915_selftest@live@slpc.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/bat-mtlp-8/igt@i915_selftest@live@slpc.html * igt@kms_addfb_basic@invalid-get-prop-any: - bat-adlp-11: [PASS][8] -> [ABORT][9] ([i915#4423]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/bat-adlp-11/igt@kms_addfb_basic@invalid-get-prop-any.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/bat-adlp-11/igt@kms_addfb_basic@invalid-get-prop-any.html #### Possible fixes #### * igt@i915_selftest@live@gt_heartbeat: - fi-kbl-guc: [DMESG-FAIL][10] ([i915#5334] / [i915#7872]) -> [PASS][11] [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/fi-kbl-guc/igt@i915_selftest@live@gt_heartbeat.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/fi-kbl-guc/igt@i915_selftest@live@gt_heartbeat.html * igt@i915_selftest@live@mman: - bat-rpls-2: [TIMEOUT][12] ([i915#6794] / [i915#7392]) -> [PASS][13] [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/bat-rpls-2/igt@i915_selftest@live@mman.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/bat-rpls-2/igt@i915_selftest@live@mman.html * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1: - bat-dg2-8: [FAIL][14] ([i915#7932]) -> [PASS][15] +1 similar issue [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1.html [i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258 [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334 [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367 [i915#6794]: https://gitlab.freedesktop.org/drm/intel/issues/6794 [i915#7392]: https://gitlab.freedesktop.org/drm/intel/issues/7392 [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461 [i915#7872]: https://gitlab.freedesktop.org/drm/intel/issues/7872 [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913 [i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932 [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347 [i915#8384]: https://gitlab.freedesktop.org/drm/intel/issues/8384 Build changes ------------- * Linux: CI_DRM_13302 -> Patchwork_107277v7 CI-20190529: 20190529 CI_DRM_13302: 839a0f1c0fba27caa09cb8c3c07ba21ba7428bb6 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7344: 1c715e38251905d4d7797651fa448b11bf42a4a4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_107277v7: 839a0f1c0fba27caa09cb8c3c07ba21ba7428bb6 @ git://anongit.freedesktop.org/gfx-ci/linux ### Linux commits b53b1e32acd8 drm/i915: Replace kmap() with kmap_local_page() == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/index.html [-- Attachment #2: Type: text/html, Size: 5988 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915: Replace kmap() with kmap_local_page() (rev7) 2023-06-17 18:04 [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() Sumitra Sharma ` (2 preceding siblings ...) 2023-06-21 22:30 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Replace kmap() with kmap_local_page() (rev7) Patchwork @ 2023-06-22 12:29 ` Patchwork 2023-06-24 0:10 ` [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() Fabio M. De Francesco 4 siblings, 0 replies; 18+ messages in thread From: Patchwork @ 2023-06-22 12:29 UTC (permalink / raw) To: Fabio M. De Francesco; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 27793 bytes --] == Series Details == Series: drm/i915: Replace kmap() with kmap_local_page() (rev7) URL : https://patchwork.freedesktop.org/series/107277/ State : failure == Summary == CI Bug Log - changes from CI_DRM_13302_full -> Patchwork_107277v7_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_107277v7_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_107277v7_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Participating hosts (7 -> 8) ------------------------------ Additional (1): shard-dg2 Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_107277v7_full: ### IGT changes ### #### Possible regressions #### * igt@gem_ctx_persistence@heartbeat-close: - shard-glk: [PASS][1] -> [TIMEOUT][2] +1 similar issue [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-glk5/igt@gem_ctx_persistence@heartbeat-close.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-glk4/igt@gem_ctx_persistence@heartbeat-close.html * igt@i915_module_load@reload-with-fault-injection: - shard-snb: [PASS][3] -> [ABORT][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-snb6/igt@i915_module_load@reload-with-fault-injection.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-snb2/igt@i915_module_load@reload-with-fault-injection.html #### Warnings #### * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-render: - shard-glk: [SKIP][5] ([fdo#109271]) -> [TIMEOUT][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-glk5/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-render.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-glk4/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-render.html New tests --------- New tests have been introduced between CI_DRM_13302_full and Patchwork_107277v7_full: ### New IGT tests (17) ### * igt@drm_fdinfo@virtual-busy: - Statuses : 4 pass(s) 3 skip(s) - Exec time: [0.0] s * igt@drm_fdinfo@virtual-busy-all: - Statuses : 4 pass(s) 3 skip(s) - Exec time: [0.0] s * igt@drm_fdinfo@virtual-busy-hang: - Statuses : 4 pass(s) 3 skip(s) - Exec time: [0.0] s * igt@drm_fdinfo@virtual-busy-hang-all: - Statuses : 4 pass(s) 3 skip(s) - Exec time: [0.0] s * igt@drm_fdinfo@virtual-busy-idle: - Statuses : 4 pass(s) 3 skip(s) - Exec time: [0.0] s * igt@drm_fdinfo@virtual-busy-idle-all: - Statuses : 4 pass(s) 3 skip(s) - Exec time: [0.0] s * igt@drm_fdinfo@virtual-idle: - Statuses : 1 fail(s) 5 pass(s) 1 skip(s) - Exec time: [0.0] s * igt@kms_plane_lowres@tiling-none@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_plane_lowres@tiling-none@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_plane_lowres@tiling-none@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_plane_lowres@tiling-none@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_plane_lowres@tiling-x@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_plane_lowres@tiling-x@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_plane_lowres@tiling-x@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_plane_lowres@tiling-x@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_107277v7_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@drm_fdinfo@virtual-busy-all (NEW): - {shard-dg2}: NOTRUN -> [SKIP][7] ([i915#8414]) +5 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-dg2-9/igt@drm_fdinfo@virtual-busy-all.html * igt@gem_exec_fair@basic-none-share@rcs0: - shard-glk: NOTRUN -> [FAIL][8] ([i915#2842]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-glk7/igt@gem_exec_fair@basic-none-share@rcs0.html * igt@gem_exec_fair@basic-none@bcs0: - shard-rkl: [PASS][9] -> [FAIL][10] ([i915#2842]) +3 similar issues [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-rkl-1/igt@gem_exec_fair@basic-none@bcs0.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-rkl-4/igt@gem_exec_fair@basic-none@bcs0.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-apl: [PASS][11] -> [FAIL][12] ([i915#2842]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-apl6/igt@gem_exec_fair@basic-pace-share@rcs0.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-apl1/igt@gem_exec_fair@basic-pace-share@rcs0.html - shard-tglu: [PASS][13] -> [FAIL][14] ([i915#2842]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-tglu-10/igt@gem_exec_fair@basic-pace-share@rcs0.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-tglu-3/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_mmap_gtt@fault-concurrent-x: - shard-snb: [PASS][15] -> [ABORT][16] ([i915#5161]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-snb1/igt@gem_mmap_gtt@fault-concurrent-x.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-snb4/igt@gem_mmap_gtt@fault-concurrent-x.html * igt@i915_pm_dc@dc6-dpms: - shard-tglu: [PASS][17] -> [FAIL][18] ([i915#3989] / [i915#454]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-tglu-4/igt@i915_pm_dc@dc6-dpms.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-tglu-7/igt@i915_pm_dc@dc6-dpms.html * igt@i915_pm_dc@dc9-dpms: - shard-tglu: [PASS][19] -> [SKIP][20] ([i915#4281]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-tglu-9/igt@i915_pm_dc@dc9-dpms.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-tglu-7/igt@i915_pm_dc@dc9-dpms.html * igt@i915_pm_rpm@modeset-lpsp-stress-no-wait: - shard-rkl: [PASS][21] -> [SKIP][22] ([i915#1397]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-rkl-7/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-rkl-2/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html * igt@kms_big_fb@yf-tiled-64bpp-rotate-180: - shard-glk: NOTRUN -> [SKIP][23] ([fdo#109271]) +41 similar issues [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-glk7/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html * igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_rc_ccs_cc: - shard-glk: NOTRUN -> [SKIP][24] ([fdo#109271] / [i915#3886]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-glk7/igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_rc_ccs_cc.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions: - shard-glk: [PASS][25] -> [FAIL][26] ([i915#2346]) +1 similar issue [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-glk1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html * igt@kms_flip@2x-flip-vs-rmfb-interruptible: - shard-snb: NOTRUN -> [SKIP][27] ([fdo#109271] / [fdo#111767]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-snb4/igt@kms_flip@2x-flip-vs-rmfb-interruptible.html * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ac-hdmi-a1-hdmi-a2: - shard-glk: [PASS][28] -> [FAIL][29] ([i915#2122]) +1 similar issue [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-glk2/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ac-hdmi-a1-hdmi-a2.html [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-glk2/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ac-hdmi-a1-hdmi-a2.html * igt@kms_hdr@bpc-switch-dpms: - shard-rkl: NOTRUN -> [SKIP][30] ([i915#3555] / [i915#4579]) +1 similar issue [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-rkl-1/igt@kms_hdr@bpc-switch-dpms.html * igt@kms_plane_scaling@plane-upscale-with-rotation-20x20@pipe-a-hdmi-a-1: - shard-rkl: NOTRUN -> [SKIP][31] ([i915#5176]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-rkl-7/igt@kms_plane_scaling@plane-upscale-with-rotation-20x20@pipe-a-hdmi-a-1.html * igt@kms_plane_scaling@plane-upscale-with-rotation-20x20@pipe-b-hdmi-a-1: - shard-rkl: NOTRUN -> [SKIP][32] ([i915#4579] / [i915#5176]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-rkl-7/igt@kms_plane_scaling@plane-upscale-with-rotation-20x20@pipe-b-hdmi-a-1.html * igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-a-hdmi-a-1: - shard-snb: NOTRUN -> [SKIP][33] ([fdo#109271]) +17 similar issues [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-snb1/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-a-hdmi-a-1.html * igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b-vga-1: - shard-snb: NOTRUN -> [SKIP][34] ([fdo#109271] / [i915#4579]) +11 similar issues [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-snb4/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b-vga-1.html * igt@kms_setmode@invalid-clone-exclusive-crtc: - shard-glk: NOTRUN -> [SKIP][35] ([fdo#109271] / [i915#4579]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-glk9/igt@kms_setmode@invalid-clone-exclusive-crtc.html * igt@perf@non-zero-reason@0-rcs0: - shard-glk: [PASS][36] -> [TIMEOUT][37] ([i915#7941]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-glk5/igt@perf@non-zero-reason@0-rcs0.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-glk4/igt@perf@non-zero-reason@0-rcs0.html #### Possible fixes #### * igt@gem_ctx_exec@basic-nohangcheck: - shard-rkl: [FAIL][38] ([i915#6268]) -> [PASS][39] [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-rkl-2/igt@gem_ctx_exec@basic-nohangcheck.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-rkl-2/igt@gem_ctx_exec@basic-nohangcheck.html * igt@gem_exec_endless@dispatch@rcs0: - {shard-dg1}: [TIMEOUT][40] ([i915#3778] / [i915#7392]) -> [PASS][41] [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-dg1-13/igt@gem_exec_endless@dispatch@rcs0.html [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-dg1-16/igt@gem_exec_endless@dispatch@rcs0.html * igt@gem_lmem_swapping@smem-oom@lmem0: - {shard-dg1}: [TIMEOUT][42] ([i915#5493]) -> [PASS][43] [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-dg1-18/igt@gem_lmem_swapping@smem-oom@lmem0.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-dg1-15/igt@gem_lmem_swapping@smem-oom@lmem0.html * igt@gem_mmap_offset@clear@smem0: - {shard-dg1}: [DMESG-WARN][44] ([i915#8304]) -> [PASS][45] [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-dg1-17/igt@gem_mmap_offset@clear@smem0.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-dg1-13/igt@gem_mmap_offset@clear@smem0.html * igt@gem_spin_batch@engines@vcs0: - shard-apl: [FAIL][46] ([i915#2898]) -> [PASS][47] [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-apl3/igt@gem_spin_batch@engines@vcs0.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-apl2/igt@gem_spin_batch@engines@vcs0.html * igt@gen9_exec_parse@allowed-single: - shard-glk: [ABORT][48] ([i915#5566]) -> [PASS][49] [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-glk6/igt@gen9_exec_parse@allowed-single.html [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-glk9/igt@gen9_exec_parse@allowed-single.html * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a: - shard-rkl: [SKIP][50] ([i915#1937] / [i915#4579]) -> [PASS][51] [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-rkl-6/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-rkl-7/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html * igt@i915_pm_rc6_residency@rc6-idle@vcs0: - {shard-dg1}: [FAIL][52] ([i915#3591]) -> [PASS][53] [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-dg1-16/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-dg1-18/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html * igt@i915_pm_rpm@dpms-mode-unset-non-lpsp: - shard-rkl: [SKIP][54] ([i915#1397]) -> [PASS][55] [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-rkl-7/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-rkl-2/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html * igt@i915_pm_rpm@modeset-non-lpsp: - {shard-dg1}: [SKIP][56] ([i915#1397]) -> [PASS][57] [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-dg1-19/igt@i915_pm_rpm@modeset-non-lpsp.html [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-dg1-12/igt@i915_pm_rpm@modeset-non-lpsp.html * igt@kms_fbcon_fbt@fbc-suspend: - shard-tglu: [FAIL][58] ([i915#4767]) -> [PASS][59] [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-tglu-10/igt@kms_fbcon_fbt@fbc-suspend.html [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-tglu-4/igt@kms_fbcon_fbt@fbc-suspend.html * igt@kms_rotation_crc@sprite-rotation-270: - {shard-dg1}: [DMESG-WARN][60] ([i915#1982]) -> [PASS][61] [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-dg1-15/igt@kms_rotation_crc@sprite-rotation-270.html [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-dg1-13/igt@kms_rotation_crc@sprite-rotation-270.html * igt@perf@oa-exponents@0-rcs0: - shard-glk: [ABORT][62] ([i915#5213] / [i915#7941]) -> [PASS][63] [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-glk7/igt@perf@oa-exponents@0-rcs0.html [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-glk7/igt@perf@oa-exponents@0-rcs0.html #### Warnings #### * igt@i915_pm_rc6_residency@rc6-idle@vecs0: - shard-tglu: [FAIL][64] ([i915#2681] / [i915#3591]) -> [WARN][65] ([i915#2681]) [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-tglu-6/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-tglu-3/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html * igt@kms_force_connector_basic@force-load-detect: - shard-rkl: [SKIP][66] ([fdo#109285] / [i915#4098]) -> [SKIP][67] ([fdo#109285]) [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13302/shard-rkl-4/igt@kms_force_connector_basic@force-load-detect.html [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_107277v7/shard-rkl-6/igt@kms_force_connector_basic@force-load-detect.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2 [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291 [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300 [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302 [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309 [fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314 [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506 [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614 [fdo#111767]: https://bugs.freedesktop.org/show_bug.cgi?id=111767 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397 [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769 [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839 [i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902 [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434 [i915#2436]: https://gitlab.freedesktop.org/drm/intel/issues/2436 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681 [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705 [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280 [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856 [i915#2898]: https://gitlab.freedesktop.org/drm/intel/issues/2898 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291 [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297 [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299 [i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318 [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#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3778]: https://gitlab.freedesktop.org/drm/intel/issues/3778 [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#3936]: https://gitlab.freedesktop.org/drm/intel/issues/3936 [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989 [i915#4036]: https://gitlab.freedesktop.org/drm/intel/issues/4036 [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4087]: https://gitlab.freedesktop.org/drm/intel/issues/4087 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215 [i915#4235]: https://gitlab.freedesktop.org/drm/intel/issues/4235 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281 [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349 [i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387 [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423 [i915#4537]: https://gitlab.freedesktop.org/drm/intel/issues/4537 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454 [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579 [i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767 [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4818]: https://gitlab.freedesktop.org/drm/intel/issues/4818 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#4879]: https://gitlab.freedesktop.org/drm/intel/issues/4879 [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880 [i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881 [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885 [i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958 [i915#5107]: https://gitlab.freedesktop.org/drm/intel/issues/5107 [i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138 [i915#5161]: https://gitlab.freedesktop.org/drm/intel/issues/5161 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190 [i915#5213]: https://gitlab.freedesktop.org/drm/intel/issues/5213 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#5460]: https://gitlab.freedesktop.org/drm/intel/issues/5460 [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461 [i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493 [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566 [i915#5793]: https://gitlab.freedesktop.org/drm/intel/issues/5793 [i915#5882]: https://gitlab.freedesktop.org/drm/intel/issues/5882 [i915#5892]: https://gitlab.freedesktop.org/drm/intel/issues/5892 [i915#5978]: https://gitlab.freedesktop.org/drm/intel/issues/5978 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6118]: https://gitlab.freedesktop.org/drm/intel/issues/6118 [i915#6121]: https://gitlab.freedesktop.org/drm/intel/issues/6121 [i915#6122]: https://gitlab.freedesktop.org/drm/intel/issues/6122 [i915#6188]: https://gitlab.freedesktop.org/drm/intel/issues/6188 [i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227 [i915#6228]: https://gitlab.freedesktop.org/drm/intel/issues/6228 [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268 [i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334 [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6805]: https://gitlab.freedesktop.org/drm/intel/issues/6805 [i915#6806]: https://gitlab.freedesktop.org/drm/intel/issues/6806 [i915#6880]: https://gitlab.freedesktop.org/drm/intel/issues/6880 [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953 [i915#7091]: https://gitlab.freedesktop.org/drm/intel/issues/7091 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118 [i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173 [i915#7387]: https://gitlab.freedesktop.org/drm/intel/issues/7387 [i915#7392]: https://gitlab.freedesktop.org/drm/intel/issues/7392 [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561 [i915#7679]: https://gitlab.freedesktop.org/drm/intel/issues/7679 [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697 [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701 [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7941]: https://gitlab.freedesktop.org/drm/intel/issues/7941 [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975 [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213 [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228 [i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247 [i915#8289]: https://gitlab.freedesktop.org/drm/intel/issues/8289 [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292 [i915#8304]: https://gitlab.freedesktop.org/drm/intel/issues/8304 [i915#8381]: https://gitlab.freedesktop.org/drm/intel/issues/8381 [i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411 [i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414 [i915#8502]: https://gitlab.freedesktop.org/drm/intel/issues/8502 [i915#8516]: https://gitlab.freedesktop.org/drm/intel/issues/8516 [i915#8555]: https://gitlab.freedesktop.org/drm/intel/issues/8555 [i915#8588]: https://gitlab.freedesktop.org/drm/intel/issues/8588 [i915#8621]: https://gitlab.freedesktop.org/drm/intel/issues/8621 [i915#8623]: https://gitlab.freedesktop.org/drm/intel/issues/8623 [i915#8661]: https://gitlab.freedesktop.org/drm/intel/issues/8661 [i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708 Build changes ------------- * Linux: CI_DRM_13302 -> Patchwork_107277v7 CI-20190529: 20190529 CI_DRM_13302: 839a0f1c0fba27caa09cb8c3c07ba21ba7428bb6 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7344: 1c715e38251905d4d7797651fa448b11bf42a4a4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_107277v7: 839a0f1c0fba27caa09cb8c3c07ba21ba7428bb6 @ 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_107277v7/index.html [-- Attachment #2: Type: text/html, Size: 22597 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() 2023-06-17 18:04 [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() Sumitra Sharma ` (3 preceding siblings ...) 2023-06-22 12:29 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork @ 2023-06-24 0:10 ` Fabio M. De Francesco 4 siblings, 0 replies; 18+ messages in thread From: Fabio M. De Francesco @ 2023-06-24 0:10 UTC (permalink / raw) To: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin, David Airlie, Daniel Vetter, intel-gfx, dri-devel, linux-kernel, Sumitra Sharma, Thomas Hellström (Intel) Cc: Deepak R Varma, Ira Weiny, Sumitra Sharma On sabato 17 giugno 2023 20:04:20 CEST Sumitra Sharma wrote: > kmap() has been deprecated in favor of the kmap_local_page() > due to high cost, restricted mapping space, the overhead of a > global lock for synchronization, and making the process sleep > in the absence of free slots. > > kmap_local_page() is faster than kmap() and offers thread-local > and CPU-local mappings, take pagefaults in a local kmap region NIT: _can_ take pagefaults in a local kmap region > and preserves preemption by saving the mappings of outgoing tasks > and restoring those of the incoming one during a context switch. > > The mapping is kept thread local in the function > “i915_vma_coredump_create” in i915_gpu_error.c > > Therefore, replace kmap() with kmap_local_page(). > > Suggested-by: Ira Weiny <ira.weiny@intel.com> > > Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com> > --- > > Changes in v2: > - Replace kmap() with kmap_local_page(). > - Change commit subject and message. With the changes that Ira suggested and the minor fix I'm proposing to the commit message, it looks good to me too, so this patch is... Reviewed-by: Fabio M. De Francesco <fmdefrancesco@gmail.com> However, as far as I'm concerned, our nits don't necessarily require any newer version, especially because Tvrtko has already sent this patch for their CI. Thanks, Fabio P.S.: As Sumitra says both kmap() and kmap_local_page() allows preemption in non atomic context. Furthermore, Tvrtko confirmed that the pages can come from HIGHMEM, therefore kmap_local_page for local temporary mapping is unavoidable. Last thing... Thomas thinks he wants to make it run atomically (if I understood one of his messages correctly). As I already responded, nothing prevents someone does another patch just to disable preemption (or to enter atomic context by other means) around the code marked by kmap_local_page() / kunmap_local() because these functions work perfectly _also_ in atomic context (including interrupts). But this is not something that Sumitra should be worried about. > > drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c > b/drivers/gpu/drm/i915/i915_gpu_error.c index f020c0086fbc..bc41500eedf5 > 100644 > --- a/drivers/gpu/drm/i915/i915_gpu_error.c > +++ b/drivers/gpu/drm/i915/i915_gpu_error.c > @@ -1164,9 +1164,9 @@ i915_vma_coredump_create(const struct intel_gt *gt, > > drm_clflush_pages(&page, 1); > > - s = kmap(page); > + s = kmap_local_page(page); > ret = compress_page(compress, s, dst, false); > - kunmap(page); > + kunmap_local(s); > > drm_clflush_pages(&page, 1); > > -- > 2.25.1 ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Intel-gfx] [PATCH 1/7] drm/i915: Replace kmap() with kmap_local_page() @ 2021-12-10 23:23 ira.weiny 2021-12-22 6:08 ` [Intel-gfx] [PATCH V2] " ira.weiny 0 siblings, 1 reply; 18+ messages in thread From: ira.weiny @ 2021-12-10 23:23 UTC (permalink / raw) To: David Airlie, Daniel Vetter, Patrik Jakobsson, Rob Clark, Sean Paul Cc: linux-arm-msm, intel-gfx, linux-kernel, dri-devel, amd-gfx, Ira Weiny From: Ira Weiny <ira.weiny@intel.com> kmap() is being deprecated and these usages are all local to the thread so there is no reason kmap_local_page() can't be used. Replace kmap() calls with kmap_local_page(). Signed-off-by: Ira Weiny <ira.weiny@intel.com> --- drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 4 ++-- drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 8 ++++---- drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 4 ++-- drivers/gpu/drm/i915/gt/shmem_utils.c | 4 ++-- drivers/gpu/drm/i915/i915_gem.c | 8 ++++---- drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++-- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c index d77da59fae04..fa8b820e14aa 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c @@ -597,9 +597,9 @@ i915_gem_object_create_shmem_from_data(struct drm_i915_private *dev_priv, if (err < 0) goto fail; - vaddr = kmap(page); + vaddr = kmap_local_page(page); memcpy(vaddr, data, len); - kunmap(page); + kunmap_local(vaddr); err = pagecache_write_end(file, file->f_mapping, offset, len, len, diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c index 6d30cdfa80f3..e59e1725e29d 100644 --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c @@ -144,7 +144,7 @@ static int check_partial_mapping(struct drm_i915_gem_object *obj, intel_gt_flush_ggtt_writes(&to_i915(obj->base.dev)->gt); p = i915_gem_object_get_page(obj, offset >> PAGE_SHIFT); - cpu = kmap(p) + offset_in_page(offset); + cpu = kmap_local_page(p) + offset_in_page(offset); drm_clflush_virt_range(cpu, sizeof(*cpu)); if (*cpu != (u32)page) { pr_err("Partial view for %lu [%u] (offset=%llu, size=%u [%llu, row size %u], fence=%d, tiling=%d, stride=%d) misalignment, expected write to page (%llu + %u [0x%llx]) of 0x%x, found 0x%x\n", @@ -162,7 +162,7 @@ static int check_partial_mapping(struct drm_i915_gem_object *obj, } *cpu = 0; drm_clflush_virt_range(cpu, sizeof(*cpu)); - kunmap(p); + kunmap_local(cpu); out: __i915_vma_put(vma); @@ -237,7 +237,7 @@ static int check_partial_mappings(struct drm_i915_gem_object *obj, intel_gt_flush_ggtt_writes(&to_i915(obj->base.dev)->gt); p = i915_gem_object_get_page(obj, offset >> PAGE_SHIFT); - cpu = kmap(p) + offset_in_page(offset); + cpu = kmap_local_page(p) + offset_in_page(offset); drm_clflush_virt_range(cpu, sizeof(*cpu)); if (*cpu != (u32)page) { pr_err("Partial view for %lu [%u] (offset=%llu, size=%u [%llu, row size %u], fence=%d, tiling=%d, stride=%d) misalignment, expected write to page (%llu + %u [0x%llx]) of 0x%x, found 0x%x\n", @@ -255,7 +255,7 @@ static int check_partial_mappings(struct drm_i915_gem_object *obj, } *cpu = 0; drm_clflush_virt_range(cpu, sizeof(*cpu)); - kunmap(p); + kunmap_local(cpu); if (err) return err; diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c b/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c index f8948de72036..743a414f86f3 100644 --- a/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c +++ b/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c @@ -743,7 +743,7 @@ static void swizzle_page(struct page *page) char *vaddr; int i; - vaddr = kmap(page); + vaddr = kmap_local_page(page); for (i = 0; i < PAGE_SIZE; i += 128) { memcpy(temp, &vaddr[i], 64); @@ -751,7 +751,7 @@ static void swizzle_page(struct page *page) memcpy(&vaddr[i + 64], temp, 64); } - kunmap(page); + kunmap_local(vaddr); } /** diff --git a/drivers/gpu/drm/i915/gt/shmem_utils.c b/drivers/gpu/drm/i915/gt/shmem_utils.c index 0683b27a3890..cba4f210d093 100644 --- a/drivers/gpu/drm/i915/gt/shmem_utils.c +++ b/drivers/gpu/drm/i915/gt/shmem_utils.c @@ -104,7 +104,7 @@ static int __shmem_rw(struct file *file, loff_t off, if (IS_ERR(page)) return PTR_ERR(page); - vaddr = kmap(page); + vaddr = kmap_local_page(page); if (write) { memcpy(vaddr + offset_in_page(off), ptr, this); set_page_dirty(page); @@ -112,7 +112,7 @@ static int __shmem_rw(struct file *file, loff_t off, memcpy(ptr, vaddr + offset_in_page(off), this); } mark_page_accessed(page); - kunmap(page); + kunmap_local(vaddr); put_page(page); len -= this; diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 981e383d1a5d..af5adb187ca4 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -196,14 +196,14 @@ shmem_pread(struct page *page, int offset, int len, char __user *user_data, char *vaddr; int ret; - vaddr = kmap(page); + vaddr = kmap_local_page(page); if (needs_clflush) drm_clflush_virt_range(vaddr + offset, len); ret = __copy_to_user(user_data, vaddr + offset, len); - kunmap(page); + kunmap_local(vaddr); return ret ? -EFAULT : 0; } @@ -618,7 +618,7 @@ shmem_pwrite(struct page *page, int offset, int len, char __user *user_data, char *vaddr; int ret; - vaddr = kmap(page); + vaddr = kmap_local_page(page); if (needs_clflush_before) drm_clflush_virt_range(vaddr + offset, len); @@ -627,7 +627,7 @@ shmem_pwrite(struct page *page, int offset, int len, char __user *user_data, if (!ret && needs_clflush_after) drm_clflush_virt_range(vaddr + offset, len); - kunmap(page); + kunmap_local(vaddr); return ret ? -EFAULT : 0; } diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c index 2a2d7643b551..c526d7892081 100644 --- a/drivers/gpu/drm/i915/i915_gpu_error.c +++ b/drivers/gpu/drm/i915/i915_gpu_error.c @@ -1094,9 +1094,9 @@ i915_vma_coredump_create(const struct intel_gt *gt, drm_clflush_pages(&page, 1); - s = kmap(page); + s = kmap_local_page(page); ret = compress_page(compress, s, dst, false); - kunmap(page); + kunmap_local(s); drm_clflush_pages(&page, 1); -- 2.31.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Intel-gfx] [PATCH V2] drm/i915: Replace kmap() with kmap_local_page() 2021-12-10 23:23 [Intel-gfx] [PATCH 1/7] " ira.weiny @ 2021-12-22 6:08 ` ira.weiny 0 siblings, 0 replies; 18+ messages in thread From: ira.weiny @ 2021-12-22 6:08 UTC (permalink / raw) To: David Airlie, Daniel Vetter, Patrik Jakobsson, Rob Clark, Sean Paul Cc: linux-arm-msm, intel-gfx, linux-kernel, dri-devel, amd-gfx, Ira Weiny From: Ira Weiny <ira.weiny@intel.com> kmap() is being deprecated and these usages are all local to the thread so there is no reason kmap_local_page() can't be used. Replace kmap() calls with kmap_local_page(). Signed-off-by: Ira Weiny <ira.weiny@intel.com> --- NOTE: I'm sending as a follow on to the V1 patch. Please let me know if you prefer the entire series instead. Changes for V2: From Christoph Helwig Prefer the use of memcpy_*_page() where appropriate. --- drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 6 ++---- drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 8 ++++---- drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 4 ++-- drivers/gpu/drm/i915/gt/shmem_utils.c | 7 ++----- drivers/gpu/drm/i915/i915_gem.c | 8 ++++---- drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++-- 6 files changed, 16 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c index d77da59fae04..842e089aaaa5 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c @@ -589,7 +589,7 @@ i915_gem_object_create_shmem_from_data(struct drm_i915_private *dev_priv, do { unsigned int len = min_t(typeof(size), size, PAGE_SIZE); struct page *page; - void *pgdata, *vaddr; + void *pgdata; err = pagecache_write_begin(file, file->f_mapping, offset, len, 0, @@ -597,9 +597,7 @@ i915_gem_object_create_shmem_from_data(struct drm_i915_private *dev_priv, if (err < 0) goto fail; - vaddr = kmap(page); - memcpy(vaddr, data, len); - kunmap(page); + memcpy_to_page(page, 0, data, len); err = pagecache_write_end(file, file->f_mapping, offset, len, len, diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c index 6d30cdfa80f3..e59e1725e29d 100644 --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c @@ -144,7 +144,7 @@ static int check_partial_mapping(struct drm_i915_gem_object *obj, intel_gt_flush_ggtt_writes(&to_i915(obj->base.dev)->gt); p = i915_gem_object_get_page(obj, offset >> PAGE_SHIFT); - cpu = kmap(p) + offset_in_page(offset); + cpu = kmap_local_page(p) + offset_in_page(offset); drm_clflush_virt_range(cpu, sizeof(*cpu)); if (*cpu != (u32)page) { pr_err("Partial view for %lu [%u] (offset=%llu, size=%u [%llu, row size %u], fence=%d, tiling=%d, stride=%d) misalignment, expected write to page (%llu + %u [0x%llx]) of 0x%x, found 0x%x\n", @@ -162,7 +162,7 @@ static int check_partial_mapping(struct drm_i915_gem_object *obj, } *cpu = 0; drm_clflush_virt_range(cpu, sizeof(*cpu)); - kunmap(p); + kunmap_local(cpu); out: __i915_vma_put(vma); @@ -237,7 +237,7 @@ static int check_partial_mappings(struct drm_i915_gem_object *obj, intel_gt_flush_ggtt_writes(&to_i915(obj->base.dev)->gt); p = i915_gem_object_get_page(obj, offset >> PAGE_SHIFT); - cpu = kmap(p) + offset_in_page(offset); + cpu = kmap_local_page(p) + offset_in_page(offset); drm_clflush_virt_range(cpu, sizeof(*cpu)); if (*cpu != (u32)page) { pr_err("Partial view for %lu [%u] (offset=%llu, size=%u [%llu, row size %u], fence=%d, tiling=%d, stride=%d) misalignment, expected write to page (%llu + %u [0x%llx]) of 0x%x, found 0x%x\n", @@ -255,7 +255,7 @@ static int check_partial_mappings(struct drm_i915_gem_object *obj, } *cpu = 0; drm_clflush_virt_range(cpu, sizeof(*cpu)); - kunmap(p); + kunmap_local(cpu); if (err) return err; diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c b/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c index f8948de72036..743a414f86f3 100644 --- a/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c +++ b/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c @@ -743,7 +743,7 @@ static void swizzle_page(struct page *page) char *vaddr; int i; - vaddr = kmap(page); + vaddr = kmap_local_page(page); for (i = 0; i < PAGE_SIZE; i += 128) { memcpy(temp, &vaddr[i], 64); @@ -751,7 +751,7 @@ static void swizzle_page(struct page *page) memcpy(&vaddr[i + 64], temp, 64); } - kunmap(page); + kunmap_local(vaddr); } /** diff --git a/drivers/gpu/drm/i915/gt/shmem_utils.c b/drivers/gpu/drm/i915/gt/shmem_utils.c index 0683b27a3890..d47f262d2f07 100644 --- a/drivers/gpu/drm/i915/gt/shmem_utils.c +++ b/drivers/gpu/drm/i915/gt/shmem_utils.c @@ -97,22 +97,19 @@ static int __shmem_rw(struct file *file, loff_t off, unsigned int this = min_t(size_t, PAGE_SIZE - offset_in_page(off), len); struct page *page; - void *vaddr; page = shmem_read_mapping_page_gfp(file->f_mapping, pfn, GFP_KERNEL); if (IS_ERR(page)) return PTR_ERR(page); - vaddr = kmap(page); if (write) { - memcpy(vaddr + offset_in_page(off), ptr, this); + memcpy_to_page(page, offset_in_page(off), ptr, this); set_page_dirty(page); } else { - memcpy(ptr, vaddr + offset_in_page(off), this); + memcpy_from_page(ptr, page, offset_in_page(off), this); } mark_page_accessed(page); - kunmap(page); put_page(page); len -= this; diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 981e383d1a5d..af5adb187ca4 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -196,14 +196,14 @@ shmem_pread(struct page *page, int offset, int len, char __user *user_data, char *vaddr; int ret; - vaddr = kmap(page); + vaddr = kmap_local_page(page); if (needs_clflush) drm_clflush_virt_range(vaddr + offset, len); ret = __copy_to_user(user_data, vaddr + offset, len); - kunmap(page); + kunmap_local(vaddr); return ret ? -EFAULT : 0; } @@ -618,7 +618,7 @@ shmem_pwrite(struct page *page, int offset, int len, char __user *user_data, char *vaddr; int ret; - vaddr = kmap(page); + vaddr = kmap_local_page(page); if (needs_clflush_before) drm_clflush_virt_range(vaddr + offset, len); @@ -627,7 +627,7 @@ shmem_pwrite(struct page *page, int offset, int len, char __user *user_data, if (!ret && needs_clflush_after) drm_clflush_virt_range(vaddr + offset, len); - kunmap(page); + kunmap_local(vaddr); return ret ? -EFAULT : 0; } diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c index 2a2d7643b551..c526d7892081 100644 --- a/drivers/gpu/drm/i915/i915_gpu_error.c +++ b/drivers/gpu/drm/i915/i915_gpu_error.c @@ -1094,9 +1094,9 @@ i915_vma_coredump_create(const struct intel_gt *gt, drm_clflush_pages(&page, 1); - s = kmap(page); + s = kmap_local_page(page); ret = compress_page(compress, s, dst, false); - kunmap(page); + kunmap_local(s); drm_clflush_pages(&page, 1); -- 2.31.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
end of thread, other threads:[~2023-06-26 9:03 UTC | newest] Thread overview: 18+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-06-17 18:04 [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() Sumitra Sharma 2023-06-18 18:11 ` Ira Weiny 2023-06-19 7:59 ` Thomas Hellström (Intel) 2023-06-19 8:44 ` Tvrtko Ursulin 2023-06-19 15:45 ` Sumitra Sharma 2023-06-20 13:23 ` Ira Weiny 2023-06-20 18:07 ` Sumitra Sharma 2023-06-21 9:06 ` Thomas Hellström (Intel) 2023-06-21 13:24 ` Fabio M. De Francesco 2023-06-21 16:35 ` Ira Weiny 2023-06-21 18:51 ` Thomas Hellström (Intel) 2023-06-22 9:40 ` Tvrtko Ursulin 2023-06-26 9:02 ` Tvrtko Ursulin 2023-06-21 1:09 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Replace kmap() with kmap_local_page() (rev6) Patchwork 2023-06-21 22:30 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Replace kmap() with kmap_local_page() (rev7) Patchwork 2023-06-22 12:29 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 2023-06-24 0:10 ` [Intel-gfx] [PATCH v2] drm/i915: Replace kmap() with kmap_local_page() Fabio M. De Francesco -- strict thread matches above, loose matches on Subject: below -- 2021-12-10 23:23 [Intel-gfx] [PATCH 1/7] " ira.weiny 2021-12-22 6:08 ` [Intel-gfx] [PATCH V2] " ira.weiny
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox