Received: by 10.192.165.148 with SMTP id m20csp4088610imm; Mon, 30 Apr 2018 11:29:42 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqdn2nxEK9HQfK+Sujl6Xmb/zjjHaTWUJBgUAWcJJU7n+GYg70SkCFw6rP6dEZY5P5MYLr4 X-Received: by 10.98.166.206 with SMTP id r75mr13016767pfl.82.1525112982511; Mon, 30 Apr 2018 11:29:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525112982; cv=none; d=google.com; s=arc-20160816; b=gjcde36Iwl/ATr+11o+U8cfzM/uvxatjwcG0Yi0SNYgnkHymSd0F6UqKRUk/MawQ7h GxxriL3Pwfaa9UdQN6lgWQCIB7AERczKGDhebNbVM1dUESB6mVddbnpYE1qi8LZnexKM rFYnGt/8cbEpQFYkQeg1bxshPOqtXQz4bFXBPkAnvw1jH9jneRw7FpqX7U5kve/avQw9 lh4/sl6dZEcGhcgpTegZJKKN3w4HCV3oNJ2rURqFn9Ts9TpgrNnMtnuLhA7O+H3dotgh tOrpiWtGrlA0UkDpcFzRmgNdIrl6S+1wo2EtEP/melF3HfMdWgR3NBFSNCI1kN+gmx2L Th/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:reply-to:dkim-signature :arc-authentication-results; bh=6frsbkky26fCxBMWnWnSOOVpaE47CXmj3fppuhJStkM=; b=wxddpElmktG7h7I2ni5MMOMO4h49SH118sCV2auHeuQYK+7P0pkEa0ZAfvgn9umfy7 O3/Dn1YTDzd4yBOB8Nd5vCMmCpGKhK8QePSHH2S4xbzK9ke4AYFRhuc6pklVW8GTJskg NR7Ey11xRM1NPYOxHvuLs77X9on8mH+5bjt/X41BqQWAApKuKyd4dgPuqp6p43MFGolK TeD3JBxGJ8SYqqbvSGC2c+Z7m7+xnSpMJvkzTu3KHXs6z4R072Tmar+SZRtWqK9C+Ert n9sJ8gaYOTjtwJcGLPwpaf1w64muLt4n955qBOd3CFmwZsSDsXZ10tV/Tn3/aEIcEXr+ 9YxQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=kW2eeTLz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e9-v6si8000147pln.72.2018.04.30.11.29.28; Mon, 30 Apr 2018 11:29:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=kW2eeTLz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754638AbeD3S3Q (ORCPT + 99 others); Mon, 30 Apr 2018 14:29:16 -0400 Received: from mail-wr0-f194.google.com ([209.85.128.194]:36089 "EHLO mail-wr0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754138AbeD3S3P (ORCPT ); Mon, 30 Apr 2018 14:29:15 -0400 Received: by mail-wr0-f194.google.com with SMTP id u18-v6so8911489wrg.3 for ; Mon, 30 Apr 2018 11:29:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=reply-to:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=6frsbkky26fCxBMWnWnSOOVpaE47CXmj3fppuhJStkM=; b=kW2eeTLzCm4DoUix03XOdF8VSQJv1Zj4wJgUKE9v/IM/0+qkqioVSp5nfzQpq5Eoak +UqnizwPZifG8hTM9Nei4dFUFe34pvOKsszEj8AGAohmPPhU90syz8Kr9/xtW9jrQOfr kquy386fU8eBAB5ThRZNP4CSy33cYlfU+daL3IpFGilP0NNyE7VOpQOjMqL+Cj4pZ7iw e9sUk9n3A6l1KFm1ltieXJ/dF6l7EFdMgDOJP3exQEGpDYb878ktLMJkweydCRrpIKMp SkLXcbrnauDwTxx5inrLLtNDZTGXkrRwyo4BzjGtaz+20jZ7A2XcdkRme7JLOa6wgQ08 6EFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:reply-to:subject:to:cc:references:from :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding:content-language; bh=6frsbkky26fCxBMWnWnSOOVpaE47CXmj3fppuhJStkM=; b=F+9XdPh7VZ9rsnxLSOt6Dx8zpYFsRTSKVJN0aBE+Tq1ocdsmGHxXNIZ/fqFsWu1xw4 DyG+jhxZ3ZM1JtjZRoFttM/yiyaNYXRxsI24s09y8kMvRpLmkPSAgSQTk/I6yfWMGUkL sLFrgeoyYqBeTGoLnIfVa9vb7/A/zkgjszFUs0YkpfzoDTg3AWsC/EUSpcoGe+aUOkra v7KTWcM/avA1LLZaLuvnP11Uava4fQH1Ms0EiWMnfv16MdALgyUeykUpOYtMw2yc6zJR 0g8AnPt8sqqx6yMmFxlcLpC+RkNr+i2ReqZ5C/q2qV/bQR54VyKqO2i7XFyGfOKl8YZh BtoQ== X-Gm-Message-State: ALQs6tAsCf3KgDB4BaUSBtL7YX4Tb1GnkYU64SnjX9OW7B2pAAf/pZ+E 62MPBtUnCJHEA0zJAquakp4= X-Received: by 2002:adf:9814:: with SMTP id v20-v6mr10021094wrb.93.1525112953840; Mon, 30 Apr 2018 11:29:13 -0700 (PDT) Received: from ?IPv6:2a02:908:1257:4460:1ab8:55c1:a639:6740? ([2a02:908:1257:4460:1ab8:55c1:a639:6740]) by smtp.gmail.com with ESMTPSA id b185sm7806385wmb.25.2018.04.30.11.29.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Apr 2018 11:29:13 -0700 (PDT) Reply-To: christian.koenig@amd.com Subject: Re: [PATCH 2/3] drm/scheduler: Don't call wait_event_killable for signaled process. To: Andrey Grodzovsky , Oleg Nesterov Cc: David.Panariti@amd.com, linux-kernel@vger.kernel.org, amd-gfx@lists.freedesktop.org, "Eric W. Biederman" , Alexander.Deucher@amd.com, akpm@linux-foundation.org, christian.koenig@amd.com References: <87muxsbmkp.fsf@xmission.com> <8840ac96-50c4-f94d-eb7c-f007940163f3@amd.com> <877eowa5qh.fsf@xmission.com> <20180425135552.GD7592@redhat.com> <20180425171757.GA10441@redhat.com> <874ljyu98e.fsf@xmission.com> <20180430160006.GB10583@redhat.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: Date: Mon, 30 Apr 2018 20:29:11 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 30.04.2018 um 18:10 schrieb Andrey Grodzovsky: > > > On 04/30/2018 12:00 PM, Oleg Nesterov wrote: >> On 04/30, Andrey Grodzovsky wrote: >>> What about changing PF_SIGNALED to PF_EXITING in >>> drm_sched_entity_do_release >>> >>> -       if ((current->flags & PF_SIGNALED) && current->exit_code == >>> SIGKILL) >>> +      if ((current->flags & PF_EXITING) && current->exit_code == >>> SIGKILL) >> let me repeat, please don't use task->exit_code. And in fact this >> check is racy >> >> But this doesn't matter. Say, we can trivially add >> SIGNAL_GROUP_KILLED_BY_SIGKILL, >> or do something else, > > > Can you explain where is the race and what is a possible alternative > then ? The race is that the release doesn't necessarily comes from the process/context which used the fd. E.g. it is just called when the last reference count goes away, but that can be anywhere not related to the original process using it, e.g. in a kernel thread or a debugger etc... The approach with the flush is indeed a really nice idea and I bite myself to not had that previously as well. Christian. > >>   but I fail to understand what are you trying to do. Suppose >> that the check above is correct in that it is true iff the task is >> exiting and >> it was killed by SIGKILL. What about the "else" branch which does >> >>     r = wait_event_killable(sched->job_scheduled, ...) >> >> ? >> >> Once again, fatal_signal_pending() (or even signal_pending()) is not >> well defined >> after the exiting task passes exit_signals(). >> >> So wait_event_killable() can fail because fatal_signal_pending() is >> true; and this >> can happen even if it was not killed. >> >> Or it can block and SIGKILL won't be able to wake it up. >> >>> If SIGINT was sent then it's SIGINT, >> Yes, but see above. in this case fatal_signal_pending() will be >> likely true so >> wait_event_killable() will fail unless condition is already true. > > My bad, I didn't show the full intended fix, it was just a snippet to > address the differentiation between exiting > do to SIGKILL and any other exit, I also intended to change > wait_event_killable to wait_event_timeout. > > Andrey > >> >> Oleg. >> > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx