From nobody Fri May 17 08:15:12 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=qq.com ARC-Seal: i=1; a=rsa-sha256; t=1712800630; cv=none; d=zohomail.com; s=zohoarc; b=kX7uzrVnj/MLnQKzN2tTShY4BLK694wctH1yPCl7Fv5DZk2kbH7Yj9dxihmey/IpOl9fuP2GkMTa8ZbGFK4maB3mwA/AfcsnG2qHFdwlYzmS40whJEiDLgyEMIOZscoHvKWUX4kQ4MxG565kNqstFeErUJD9JSACFAKuNQZ/WHc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1712800630; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1MMgNMZhP/a/GXBul3f5z7XBnf7MSaDSF/lOmpnlspc=; b=Dc096A+/tdNbVI1YTGx71N/FmuK+ExJZAffTAed2KlKVyNA7xSQdDoMGvDsAIAplbGE9zLb+8lBH5H1idrhtNoLYR4dOwBGqDj9MSsd49zNGkUDC4YCAshuRRNArP9OtB4P6JDr2V0qaYsG0CpiIVVKFFNUBWn4yR8U5KPpQbQs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass header.from=<707242047@qq.com> (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1712800630929986.1482032258449; Wed, 10 Apr 2024 18:57:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rujfX-0007mt-TD; Wed, 10 Apr 2024 21:56:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <707242047@qq.com>) id 1rujfW-0007mi-38 for qemu-devel@nongnu.org; Wed, 10 Apr 2024 21:56:02 -0400 Received: from out203-205-221-209.mail.qq.com ([203.205.221.209]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <707242047@qq.com>) id 1rujfR-000556-BO for qemu-devel@nongnu.org; Wed, 10 Apr 2024 21:56:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1712800542; bh=1MMgNMZhP/a/GXBul3f5z7XBnf7MSaDSF/lOmpnlspc=; h=In-Reply-To:References:From:To:Cc:Subject:Date; b=yvIEhFuonyLhKgGiw6LG0Xty7gOIXDC8FnrhtgxkYDv2WiKrLa6z9ZGx/U/FzhCLp dLAymFv9AsI6U1TejnuSkRUX3giqSjUwA1uvE+ZMLdFUF7zgVmWxKOCej/NyBA0qqC F0yb9TA7/GP4Qz/O/OYaOkRVS1zouXTXMs/N1ja0= X-QQ-FEAT: 8OvYDnhju3N/pZRks5WA+Od71SZhOOrs X-QQ-SSF: 0000000000000050000000000000 X-QQ-XMRINFO: MSVp+SPm3vtS1Vd6Y4Mggwc= X-QQ-XMAILINFO: OY1xLn4i1DCCREtnojdKXQrZy5tn3FhZ/hAHOrAd+tJ1xBEgG67vI6DkjGvpAS N79p3ttuVwBIF8ZCCzF0rn8+R2wjF9sHVJjv0e22OK1adNMhYstnZRfimH9ZU6yAPBIXw0Zaa1r4U ia3t2sB7szKs2dkcEJTC34Hx4BDEI0EPq+cTyPqb7AVphRyGxln1nnlfN3rheFtm+8xw356sVAg17 oXhnppttBQF+ni7TplZy4A5MVmU6y5CTIFX9OBriDwtm8aMtDYy7FCg6RD/A0XVvWQE46IT5GA1fW pAJgLOPakDuIHEbs060je+l7BwRdqmbWO+kR3ygTkmdp0SBM5jPIPOPoAs5+2wflu8AYoLpoEeiJj W7oxfbCjEto+Rzj2AgjZNjaD0LjG9RgIJDQYzGybGldGTKRR54OnUCCJlTRtII5kwlUqHiqiLhUnW ldKw56pfV74tXyRrSaj7wwgLvo1ircbwm2bzmMW4oClWmABG0QQzTaLezoLSCtcf0ACMdLAxR1q69 K8y6B20YGwqz3Z1FrPOP6Nl4OVenvw9o1wUpvBd9cCqLHLF6XDcQ9mUUmPsekcj0/2+DyHw3VvXjJ v9209gj8nXcsPWZXIizsl090o6tgicvq3jfoSwFmABMSuRTjy42067+5rMRPua8mRrAaFRV96b3Ka L5Pg35xHahNcP3YeAz4/sxDW4QBS7y2B/8P1f3dQuQuyyqYynch9XEP6+q+2lrnwLsByBTYKuMk9E kjeAI+JrvTYed46GmbSZnEEd0Id3p5Kmkp6XR5hnXkuNODnKCfbwfam1dQtCbIMIJNTEuP1SrcdZ9 SbTxOHF834XPL4muyTz2qEoEs1o5kMyT3GFrwS5OnLHJksGc+G0WNDFyjLLHlfkurG5/yVic3En8m Havb7D6P6RXRPeWJ6p683He+4oZMYRQj0i5TrIb121eQPgn+uAWU9m5fvHQ7f5bv8OTZk9+icw5/9 xMm/Qy/A== X-HAS-ATTACH: no X-QQ-BUSINESS-ORIGIN: 2 X-Originating-IP: 112.5.119.192 In-Reply-To: References: X-QQ-STYLE: X-QQ-mid: webmail285t1712800541t394695 From: "=?gb18030?B?qWdseW0=?=" <707242047@qq.com> To: "=?gb18030?B?TWFyYy1BbmRyqKYgTHVyZWF1?=" Cc: "=?gb18030?B?cWVtdS1kZXZlbA==?=" , "=?gb18030?B?a3JheGVs?=" Subject: =?gb18030?B?u9i4tKO6IFtQQVRDSCBSRkMgdjFdZGlzcGxheTog?= =?gb18030?B?Zml4IGhlYXAgdXNlIGFmdGVyIGZyZWUgaW4gY3Vy?= =?gb18030?B?c29yX3B1dA==?= Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_6617431D_11A90538_1501AF78" Content-Transfer-Encoding: 8Bit Date: Thu, 11 Apr 2024 09:55:41 +0800 X-Priority: 3 Message-ID: X-QQ-MIME: TCMime 1.0 by Tencent X-Mailer: QQMail 2.x X-QQ-Mailer: QQMail 2.x Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=203.205.221.209; envelope-from=707242047@qq.com; helo=out203-205-221-209.mail.qq.com X-Spam_score_int: 67 X-Spam_score: 6.7 X-Spam_bar: ++++++ X-Spam_report: (6.7 / 5.0 requ) BAYES_00=-1.9, CHARSET_FARAWAY_HEADER=3.2, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HELO_DYNAMIC_IPADDR=1.951, HTML_MESSAGE=0.001, MIME_CHARSET_FARAWAY=2.45, NO_FM_NAME_IP_HOSTN=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_DYNAMIC=0.982, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: reject X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qq.com) X-ZM-MESSAGEID: 1712800631901100001 This is a multi-part message in MIME format. ------=_NextPart_6617431D_11A90538_1501AF78 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Hi During the test with logging, I found that there may be a conflict between = the logic of updating the refcount in vnc_dpy_cursor_define() and QXL_CURSO= R_SET action,  same as dpy_cursor_define() after commit 385a= c97f,  and the atomic operation needs to be ensured; The first thoughts are as follows=EF=BC=8Conly lock cursor_unref/cursor_ref= with ssd.lock=EF=BC=8CBut it seems we can't get ssd.lock within dpy_c= ursor_define=EF=BC=8Cso if we can't lock The top-level function qemu_s= pice_cursor_refresh_bh()=EF=BC=9F --- a/hw/display/qxl-render.c +++ b/hw/display/qxl-render.c @@ -336,6 +336,7 @@ int qxl_render_cursor(PCIQXLDevice *qxl, QXLCommandExt = *ext)          }          qemu_mutex_lock(&qxl->ssd.lock);          if (qxl->ssd.cursor) { +            // other thread              cursor_unref(qxl->ssd.cu= rsor);          }          qxl->ssd.cursor =3D c; diff --git a/ui/console.c b/ui/console.c index 43226c5c14..31dbd8fc6f 100644 --- a/ui/console.c +++ b/ui/console.c @@ -985,8 +985,10 @@ void dpy_cursor_define(QemuConsole *c, QEMUCursor *cur= sor)      DisplayState *s =3D c->ds;      DisplayChangeListener *dcl;   +    //lock, main thread      cursor_unref(con->cursor);      con->cursor =3D cursor_ref(cursor); +    //unlock      if (!qemu_console_is_visible(c)) {          return;      } ------------------ =E5=8E=9F=E5=A7=8B=E9=82=AE=E4=BB=B6 ---------= --------- =E5=8F=91=E4=BB=B6=E4=BA=BA: = "M= arc-Andr=C3=A9 Lureau" =