From: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
To: "Michel Dänzer" <michel.daenzer@amd.com>,
"ML dri-devel" <dri-devel@lists.freedesktop.org>
Cc: "Koenig, Christian" <Christian.Koenig@amd.com>
Subject: Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process.
Date: Thu, 17 May 2018 07:18:58 -0400 [thread overview]
Message-ID: <3ff3a5f4-c109-bf86-2772-9d88abc419df@amd.com> (raw)
In-Reply-To: <28de0150-0a31-f51a-4f56-0a71f741e07e@amd.com>
Hi Michele and others, I am trying to implement the approach bellow to
resolve AMDGPU's hang when commands are stuck in pipe during process exit.
I noticed that once I implemented the file_operation.flush callback
then during run of X, i see the flush callback gets called not only for
Xorg process but for other
processes such as 'xkbcomp' and even 'sh', it seems like Xorg passes his
FDs to children, Christian mentioned he remembered a discussion to
always set FD_CLOEXEC flag when opening the hardware device file, so
we suspect a bug in Xorg with regard to this behavior.
Any advise on this would be very helpful.
Andrey
On 05/02/2018 07:48 AM, Christian König wrote:
> I suggest the following approach:
> 1. Implement the flush callback and call the function to wait for the
> scheduler to push everything to the hardware (maybe rename the
> scheduler function to flush as well).
>
> 2. Change the scheduler to test for PF_EXITING, if it's set use
> wait_event_timeout() if it isn't set use wait_event_killable().
>
> When the wait times out or is killed set a flag so that the _fini
> function knows that. Alternatively you could cleanup the _fini
> function to work in all cases, e.g. both when there are still jobs on
> the queue and when the queue is empty. For this you need to add
> something like a struct completion to the main loop to remove this
> start()/stop() of the kernel thread.
>
> Christian.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2018-05-17 11:19 UTC|newest]
Thread overview: 122+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-24 15:30 Avoid uninterruptible sleep during process exit Andrey Grodzovsky
2018-04-24 15:30 ` Andrey Grodzovsky
2018-04-24 15:30 ` [PATCH 1/3] signals: Allow generation of SIGKILL to exiting task Andrey Grodzovsky
2018-04-24 15:30 ` Andrey Grodzovsky
2018-04-24 16:10 ` Eric W. Biederman
2018-04-24 16:10 ` Eric W. Biederman
2018-04-24 16:42 ` Eric W. Biederman
2018-04-24 16:42 ` Eric W. Biederman
2018-04-24 16:51 ` Andrey Grodzovsky
2018-04-24 16:51 ` Andrey Grodzovsky
2018-04-24 17:29 ` Eric W. Biederman
2018-04-25 13:13 ` Oleg Nesterov
2018-04-24 15:30 ` [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process Andrey Grodzovsky
2018-04-24 15:30 ` Andrey Grodzovsky
2018-04-24 15:46 ` Michel Dänzer
2018-04-24 15:51 ` Andrey Grodzovsky
2018-04-24 15:51 ` Andrey Grodzovsky
2018-04-24 15:52 ` Andrey Grodzovsky
2018-04-24 15:52 ` Andrey Grodzovsky
2018-04-24 19:44 ` Daniel Vetter
2018-04-24 19:44 ` Daniel Vetter
2018-04-24 21:00 ` Eric W. Biederman
2018-04-24 21:02 ` Andrey Grodzovsky
2018-04-24 21:02 ` Andrey Grodzovsky
2018-04-24 21:21 ` Eric W. Biederman
2018-04-24 21:37 ` Andrey Grodzovsky
2018-04-24 21:37 ` Andrey Grodzovsky
2018-04-24 22:11 ` Eric W. Biederman
2018-04-25 7:14 ` Daniel Vetter
2018-04-25 13:08 ` Andrey Grodzovsky
2018-04-25 13:08 ` Andrey Grodzovsky
2018-04-25 15:29 ` Eric W. Biederman
2018-04-25 16:13 ` Andrey Grodzovsky
2018-04-25 16:31 ` Eric W. Biederman
2018-04-24 21:40 ` Daniel Vetter
2018-04-24 21:40 ` Daniel Vetter
2018-04-25 13:22 ` Oleg Nesterov
2018-04-25 13:36 ` Daniel Vetter
2018-04-25 14:18 ` Oleg Nesterov
2018-04-25 14:18 ` Oleg Nesterov
2018-04-25 13:43 ` Andrey Grodzovsky
2018-04-25 13:43 ` Andrey Grodzovsky
2018-04-24 16:23 ` Eric W. Biederman
2018-04-24 16:23 ` Eric W. Biederman
2018-04-24 16:43 ` Andrey Grodzovsky
2018-04-24 16:43 ` Andrey Grodzovsky
2018-04-24 17:12 ` Eric W. Biederman
2018-04-25 13:55 ` Oleg Nesterov
2018-04-25 14:21 ` Andrey Grodzovsky
2018-04-25 14:21 ` Andrey Grodzovsky
2018-04-25 17:17 ` Oleg Nesterov
2018-04-25 18:40 ` Andrey Grodzovsky
2018-04-25 18:40 ` Andrey Grodzovsky
2018-04-26 0:01 ` Eric W. Biederman
2018-04-26 12:34 ` Andrey Grodzovsky
2018-04-26 12:34 ` Andrey Grodzovsky
2018-04-26 12:52 ` Andrey Grodzovsky
2018-04-26 12:52 ` Andrey Grodzovsky
2018-04-26 15:57 ` Eric W. Biederman
2018-04-26 20:43 ` Andrey Grodzovsky
2018-04-26 20:43 ` Andrey Grodzovsky
2018-04-30 12:08 ` Christian König
2018-04-30 12:08 ` Christian König
2018-04-30 14:32 ` Andrey Grodzovsky
2018-04-30 14:32 ` Andrey Grodzovsky
2018-04-30 15:25 ` Christian König
2018-04-30 15:25 ` Christian König
2018-04-30 16:00 ` Oleg Nesterov
2018-04-30 16:10 ` Andrey Grodzovsky
2018-04-30 16:10 ` Andrey Grodzovsky
2018-04-30 18:29 ` Christian König
2018-04-30 18:29 ` Christian König
2018-04-30 19:28 ` Andrey Grodzovsky
2018-04-30 19:28 ` Andrey Grodzovsky
2018-05-02 11:48 ` Christian König
2018-05-02 11:48 ` Christian König
2018-05-17 11:18 ` Andrey Grodzovsky [this message]
2018-05-17 14:48 ` Michel Dänzer
2018-05-17 15:33 ` Andrey Grodzovsky
2018-05-17 15:52 ` Michel Dänzer
2018-05-17 19:05 ` Andrey Grodzovsky
2018-05-18 8:46 ` Michel Dänzer
2018-05-18 9:42 ` Christian König
2018-05-18 14:44 ` Michel Dänzer
2018-05-18 14:50 ` Christian König
2018-05-18 15:02 ` Andrey Grodzovsky
2018-05-22 12:58 ` Christian König
2018-05-22 15:49 ` Andrey Grodzovsky
2018-05-22 16:09 ` Michel Dänzer
2018-05-22 16:30 ` Andrey Grodzovsky
2018-05-22 16:33 ` Michel Dänzer
2018-05-22 16:37 ` Andrey Grodzovsky
2018-05-01 14:35 ` Oleg Nesterov
2018-05-23 15:08 ` Andrey Grodzovsky
2018-05-23 15:08 ` Andrey Grodzovsky
2018-04-30 15:29 ` Oleg Nesterov
2018-04-30 16:25 ` Eric W. Biederman
2018-04-30 17:18 ` Andrey Grodzovsky
2018-04-30 17:18 ` Andrey Grodzovsky
2018-04-25 13:05 ` Oleg Nesterov
2018-04-24 15:30 ` [PATCH 3/3] drm/amdgpu: Switch to interrupted wait to recover from ring hang Andrey Grodzovsky
2018-04-24 15:30 ` Andrey Grodzovsky
2018-04-24 15:52 ` Panariti, David
2018-04-24 15:52 ` Panariti, David
2018-04-24 15:58 ` Andrey Grodzovsky
2018-04-24 15:58 ` Andrey Grodzovsky
2018-04-24 16:20 ` Panariti, David
2018-04-24 16:20 ` Panariti, David
2018-04-24 16:30 ` Eric W. Biederman
2018-04-24 16:30 ` Eric W. Biederman
2018-04-25 17:17 ` Andrey Grodzovsky
2018-04-25 17:17 ` Andrey Grodzovsky
2018-04-25 20:55 ` Eric W. Biederman
2018-04-25 20:55 ` Eric W. Biederman
2018-04-26 12:28 ` Andrey Grodzovsky
2018-04-26 12:28 ` Andrey Grodzovsky
2018-04-24 16:14 ` Eric W. Biederman
2018-04-24 16:14 ` Eric W. Biederman
2018-04-24 16:38 ` Andrey Grodzovsky
2018-04-24 16:38 ` Andrey Grodzovsky
2018-04-30 11:34 ` Christian König
2018-04-30 11:34 ` Christian König
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3ff3a5f4-c109-bf86-2772-9d88abc419df@amd.com \
--to=andrey.grodzovsky@amd.com \
--cc=Christian.Koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=michel.daenzer@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.