~kerneltoast/ubuntu/+source/linux/+git/focal:i915-lp1878484

Last commit made on 2020-06-08
Get this branch:
git clone -b i915-lp1878484 https://git.launchpad.net/~kerneltoast/ubuntu/+source/linux/+git/focal
Only Sultan Alsawaf can upload to this branch. If you are Sultan Alsawaf please log in for upload directions.

Branch merges

Branch information

Name:
i915-lp1878484
Repository:
lp:~kerneltoast/ubuntu/+source/linux/+git/focal

Recent commits

9136227... by Chris Wilson

drm/i915/execlists: Fixup cancel_port_requests()

BugLink: https://bugs.launchpad.net/bugs/1878484

I rushed a last minute correction to cancel_port_requests() to prevent
the snooping of *execlists->active as the inflight array was being
updated, without noticing we iterated the inflight array starting from
active! Oops.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=112387
Fixes: 331bf9059157 ("drm/i915/gt: Mark the execlists->active as the primary volatile access")
Signed-off-by: Chris Wilson <email address hidden>
Cc: Mika Kuoppala <email address hidden>
Reviewed-by: Tvrtko Ursulin <email address hidden>
Reviewed-by: Andi Shyti <email address hidden>
Link: https://patchwork<email address hidden>
(cherry picked from commit da0ef77e1e0ccff703efee82406c629d5c4f4bbb)
Signed-off-by: Sultan Alsawaf <email address hidden>

206e52e... by Chris Wilson

drm/i915/gt: Mark the execlists->active as the primary volatile access

BugLink: https://bugs.launchpad.net/bugs/1878484

Since we want to do a lockless read of the current active request, and
that request is written to by process_csb also without serialisation, we
need to instruct gcc to take care in reading the pointer itself.

Otherwise, we have observed execlists_active() to report 0x40.

[ 2400.760381] igt/para-4098 1..s. 2376479300us : process_csb: rcs0 cs-irq head=3, tail=4
[ 2400.760826] igt/para-4098 1..s. 2376479303us : process_csb: rcs0 csb[4]: status=0x00000001:0x00000000
[ 2400.761271] igt/para-4098 1..s. 2376479306us : trace_ports: rcs0: promote { b9c59:2622, b9c55:2624 }
[ 2400.761726] igt/para-4097 0d... 2376479311us : __i915_schedule: rcs0: -2147483648->3, inflight:0000000000000040, rq:ffff888208c1e940

which is impossible!

The answer is that as we keep the existing execlists->active pointing
into the array as we copy over that array, the unserialised read may see
a partial pointer value.

Fixes: df403069029d ("drm/i915/execlists: Lift process_csb() out of the irq-off spinlock")
Signed-off-by: Chris Wilson <email address hidden>
Reviewed-by: Mika Kuoppala <email address hidden>
Link: https://patchwork<email address hidden>
(backported from commit 331bf90591573dfe6c8e892239713ef9702f1396)
[Sultan: enable_timeslice() needs to use the old request pointer]
Signed-off-by: Sultan Alsawaf <email address hidden>

3aeb5fa... by Chris Wilson

drm/i915/execlists: Ignore lost completion events

BugLink: https://bugs.launchpad.net/bugs/1878484

Icelake hit an issue where it missed reporting a completion event and
instead jumped straight to a idle->active event (skipping over the
active->idle and not even hitting the lite-restore preemption).

661497511us : process_csb: rcs0 cs-irq head=11, tail=0
661497512us : process_csb: rcs0 csb[0]: status=0x10008002:0x00000020 [lite-restore]
661497512us : trace_ports: rcs0: preempted { 28cc8:11052, 0:0 }
661497513us : trace_ports: rcs0: promote { 28cc8:11054, 0:0 }
661497514us : __i915_request_submit: rcs0 fence 28cc8:11056, current 11052
661497514us : __execlists_submission_tasklet: rcs0: queue_priority_hint:-2147483648, submit:yes
661497515us : trace_ports: rcs0: submit { 28cc8:11056, 0:0 }
661497530us : process_csb: rcs0 cs-irq head=0, tail=1
661497530us : process_csb: rcs0 csb[1]: status=0x10008002:0x00000020 [lite-restore]
661497531us : trace_ports: rcs0: preempted { 28cc8:11054!, 0:0 }
661497535us : trace_ports: rcs0: promote { 28cc8:11056, 0:0 }
661497540us : __i915_request_submit: rcs0 fence 28cc8:11058, current 11054
661497544us : __execlists_submission_tasklet: rcs0: queue_priority_hint:-2147483648, submit:yes
661497545us : trace_ports: rcs0: submit { 28cc8:11058, 0:0 }
661497553us : process_csb: rcs0 cs-irq head=1, tail=2
661497553us : process_csb: rcs0 csb[2]: status=0x10000001:0x00000000 [idle->active]
661497574us : process_csb: process_csb:1538 GEM_BUG_ON(*execlists->active)

Signed-off-by: Chris Wilson <email address hidden>
Cc: Mika Kuoppala <email address hidden>
Reviewed-by: Mika Kuoppala <email address hidden>
Link: https://patchwork<email address hidden>
(cherry picked from commit 198d2533669bbe162e52eee2c35ddd8594967556)
Signed-off-by: Sultan Alsawaf <email address hidden>

dc6c325... by Kleber Sacilotto de Souza

UBUNTU: Ubuntu-5.4.0-34.38

Signed-off-by: Kleber Sacilotto de Souza <email address hidden>

39f184f... by Kleber Sacilotto de Souza

UBUNTU: link-to-tracker: update tracking bug

BugLink: https://bugs.launchpad.net/bugs/1880118
Properties: no-test-build
Signed-off-by: Kleber Sacilotto de Souza <email address hidden>

b549f2c... by Kleber Sacilotto de Souza

UBUNTU: Start new release

Ignore: yes
Signed-off-by: Kleber Sacilotto de Souza <email address hidden>

eec0a98... by Andy Whitcroft

UBUNTU: [Packaging] file-downloader not handling positive failures correctly

Seems we are not handling positive failures such as 404 correctly. Add
--fail to get server reported errors converted into errors.

BugLink: https://bugs.launchpad.net/bugs/1878897
Signed-off-by: Andy Whitcroft <email address hidden>

045c7d1... by Kamal Mostafa

UBUNTU: upstream stable to v5.4.41

BugLink: https://bugs.launchpad.net/bugs/1878649

Ignore: yes
Signed-off-by: Kamal Mostafa <email address hidden>
Signed-off-by: Khalid Elmously <email address hidden>

0e4a97f... by Greg Kroah-Hartman <email address hidden>

Linux 5.4.41

BugLink: https://bugs.launchpad.net/bugs/1878649

Signed-off-by: Kamal Mostafa <email address hidden>
Signed-off-by: Khalid Elmously <email address hidden>

08d4c24... by Amir Goldstein <email address hidden>

fanotify: merge duplicate events on parent and child

BugLink: https://bugs.launchpad.net/bugs/1878649

[ Upstream commit f367a62a7cad2447d835a9f14fc63997a9137246 ]

With inotify, when a watch is set on a directory and on its child, an
event on the child is reported twice, once with wd of the parent watch
and once with wd of the child watch without the filename.

With fanotify, when a watch is set on a directory and on its child, an
event on the child is reported twice, but it has the exact same
information - either an open file descriptor of the child or an encoded
fid of the child.

The reason that the two identical events are not merged is because the
object id used for merging events in the queue is the child inode in one
event and parent inode in the other.

For events with path or dentry data, use the victim inode instead of the
watched inode as the object id for event merging, so that the event
reported on parent will be merged with the event reported on the child.

Link: https://<email address hidden>
Signed-off-by: Amir Goldstein <email address hidden>
Signed-off-by: Jan Kara <email address hidden>
Signed-off-by: Sasha Levin <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>
Signed-off-by: Khalid Elmously <email address hidden>