dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

       reply	other threads:[~2018-05-17 11:19 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87muxsbmkp.fsf@xmission.com>
     [not found] ` <8840ac96-50c4-f94d-eb7c-f007940163f3@amd.com>
     [not found]   ` <877eowa5qh.fsf@xmission.com>
     [not found]     ` <20180425135552.GD7592@redhat.com>
     [not found]       ` <f45c7017-c75a-7f0c-b6d5-4d79600cdd33@amd.com>
     [not found]         ` <20180425171757.GA10441@redhat.com>
     [not found]           ` <c39cb438-1e8a-4f2c-50f6-c6e2a144487b@amd.com>
     [not found]             ` <874ljyu98e.fsf@xmission.com>
     [not found]               ` <c3c9787d-b279-8169-43d1-74eeb666ffbd@gmail.com>
     [not found]                 ` <bceb1a1b-c453-782d-5a7d-40fa2f22c813@amd.com>
     [not found]                   ` <20180430160006.GB10583@redhat.com>
     [not found]                     ` <e5b0221d-84ba-10ff-4a58-4fa27c99650f@amd.com>
     [not found]                       ` <bb224134-7ccb-cc87-9a71-3ef1743eb074@gmail.com>
     [not found]                         ` <79b2ce10-2cd7-b6f2-551e-0b4ae21072af@amd.com>
     [not found]                           ` <28de0150-0a31-f51a-4f56-0a71f741e07e@amd.com>
2018-05-17 11:18                             ` Andrey Grodzovsky [this message]
2018-05-17 14:48                               ` [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process 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
     [not found] <1524583836-12130-1-git-send-email-andrey.grodzovsky@amd.com>
     [not found] ` <1524583836-12130-3-git-send-email-andrey.grodzovsky@amd.com>
2018-04-24 15:46   ` Michel Dänzer
2018-04-24 15:52     ` Andrey Grodzovsky
     [not found]     ` <7313704c-0693-0bb9-8818-99cd2b7c0ca0-otUistvHUpPR7s880joybQ@public.gmane.org>
2018-04-24 15:51       ` Andrey Grodzovsky
2018-04-24 19:44       ` Daniel Vetter
2018-04-24 21:00         ` Eric W. Biederman
     [not found]         ` <20180424194418.GE25142-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2018-04-24 21:02           ` Andrey Grodzovsky
2018-04-24 21:21             ` Eric W. Biederman
     [not found]               ` <87tvs05mik.fsf-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
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 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-25 13:22               ` Oleg Nesterov
2018-04-25 13:36                 ` Daniel Vetter
2018-04-25 14:18                   ` Oleg Nesterov
2018-04-25 13:43               ` Andrey Grodzovsky

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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox