From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 35935] since 2.6.38.1, screen become garbled after some times
(RV770)
Date: Tue, 26 Apr 2011 14:20:29 -0700 (PDT)
Message-ID: <20110426212030.2122913004F@annarchy.freedesktop.org>
References:
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Return-path:
Received: from annarchy.freedesktop.org (annarchy.freedesktop.org
[131.252.210.176])
by gabe.freedesktop.org (Postfix) with ESMTP id 2E2D59E733
for ;
Tue, 26 Apr 2011 14:20:31 -0700 (PDT)
In-Reply-To:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org
Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org
To: dri-devel@lists.freedesktop.org
List-Id: dri-devel@lists.freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=35935
--- Comment #5 from Mjules 2011-04-26 14:20:30 PDT ---
The result of the bisection is :
ba3ffdc68b4c80fe4cc42bdae6040eca1067ebb2 is the first bad commit
commit ba3ffdc68b4c80fe4cc42bdae6040eca1067ebb2
Author: Stanislav Kinsbursky
Date: Thu Mar 17 18:54:23 2011 +0300
RPC: killing RPC tasks races fixed
commit 8e26de238fd794c8ea56a5c98bf67c40cfeb051d upstream.
RPC task RPC_TASK_QUEUED bit is set must be checked before trying to wake
up
task rpc_killall_tasks() because task->tk_waitqueue can not be set (equal
to
NULL).
Also, as Trond Myklebust mentioned, such approach (instead of checking
tk_waitqueue to NULL) allows us to "optimise away the call to
rpc_wake_up_queued_task() altogether for those
tasks that aren't queued".
Here is an example of dereferencing of tk_waitqueue equal to NULL:
CPU 0 CPU 1 CPU 2
-------------------- --------------------- --------------------------
nfs4_run_open_task
rpc_run_task
rpc_execute
rpc_set_active
rpc_make_runnable
(waiting)
rpc_async_schedule
nfs4_open_prepare
nfs_wait_on_sequence
nfs_umount_begin
rpc_killall_tasks
rpc_wake_up_task
rpc_wake_up_queued_task
spin_lock(tk_waitqueue == NULL)
BUG()
rpc_sleep_on
spin_lock(&q->lock)
__rpc_sleep_on
task->tk_waitqueue = q
Signed-off-by: Stanislav Kinsbursky
Signed-off-by: Trond Myklebust
Signed-off-by: Greg Kroah-Hartman
:040000 040000 91b88f0611c9ff1cf2691d9d65ec13c652a554ac
e23b6d459a8bef93de6ea4821754e2f51e3ad32f M net
which seems completely bogus to me (I don't use nfs).
BTW, the bug is still present with 2.6.38.3 and seems more frequent with it.
Another detail is it occurs only one time during a session.
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.