From patchwork Tue May 17 17:39:15 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Daney X-Patchwork-Id: 9114651 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 983ECBF29F for ; Tue, 17 May 2016 18:20:41 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0D663201FE for ; Tue, 17 May 2016 18:20:40 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 1FC5E202EC for ; Tue, 17 May 2016 18:20:36 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 04EB26E72C; Tue, 17 May 2016 18:20:20 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org X-Greylist: delayed 882 seconds by postgrey-1.35 at gabe; Tue, 17 May 2016 17:54:05 UTC Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0094.outbound.protection.outlook.com [157.56.110.94]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6B6186E727 for ; Tue, 17 May 2016 17:54:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=QTilpIqccUTbH6IyTH2EkTsfCmLrEEBX0L4U8Q4yZ8A=; b=TN+z/76C4BMJwzG+gm18HnNZOFC6OYZa/5TPZpoc4Eh6UIMemTkopdyis7aHHZ0ehBPN8a7+Iajp90wfYz+kXFQ9EUbgsMTt5aUxH7RVMzZqSY+Pf06d0BJy4MRlg1q6+PT/2dnziBCxJnCV+JfcVvB0V5VCPl6tFxfj7I0ggj4= Authentication-Results: hurleysoftware.com; dkim=none (message not signed) header.d=none;hurleysoftware.com; dmarc=none action=none header.from=caviumnetworks.com; Received: from dl.caveonetworks.com (50.233.148.158) by CY1PR07MB2134.namprd07.prod.outlook.com (10.164.112.12) with Microsoft SMTP Server (TLS) id 15.1.497.12; Tue, 17 May 2016 17:39:19 +0000 Message-ID: <573B5743.6000309@caviumnetworks.com> Date: Tue, 17 May 2016 10:39:15 -0700 From: David Daney User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: Peter Hurley , Dann Frazier Subject: Re: ast: cursor flashing softlockups References: <573B2AB0.7070004@hurleysoftware.com> In-Reply-To: <573B2AB0.7070004@hurleysoftware.com> X-Originating-IP: [50.233.148.158] X-ClientProxiedBy: BN1PR07CA0045.namprd07.prod.outlook.com (10.255.193.20) To CY1PR07MB2134.namprd07.prod.outlook.com (10.164.112.12) X-MS-Office365-Filtering-Correlation-Id: 1fe81933-40a7-4f5b-1ccb-08d37e7a2df2 X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2134; 2:5Siaqa0FJg0nczr6eVD0zSl8232AEcYqAxU5uTW15rHPJg3M7iNAgNmEbFyKz9ETcEGCp2RAjqJA0yKTM7dt2apGqOxqs0IhRAjlm893SF9tsxW/glEnfJEh0awdRMVSsPhmreLn/uXInGzHDDzkhBSpkBu5NeUivbSQbPGYfiverzDmMKDROaco1v7EEeR5; 3:lO2v4Em04ul1YUc8DY0GVVcRX7LJShnIVP6xXoe7zxJr9X67UaUrzbr12/q2k8SByGEW0ISNkSX5CCytKM20TM/0CjBo2TuUNcUiIYtSBJIycu0XzX5iGOqShjxq7ZV1; 25:ZqLJEBVOO2sOeDZqlh2QZ3hQ9Rr/wHRQrJmAU4Fhe5nUh6Pw8ll07K2nM+qpIihr9nhag/NWJvUXKFFVuNZVhWrB2+mtQv+FNFUUJm4WHuKStkamrRe4oiXG/tpjDBbNtV0/V8ECC6LnjnxEefNflOxO1svE3dvUoVafvY6+RUOIhwoVrqIdwwK/sBxDIz8Njr0Ovzv6B128psKvi4iuUX5BAI8VvQ2rVmuT3deOsa7sTIZAgRcznqsZch1Ugk4/yFMqJ2GdZ0lT7RoszUJDQ8HMo0dXKmiA+Wb/6W0M0SmZTeXOmgwvSvbJnW3fdaE8SS4EzE80Yft9qpcAXlBd6x1EMEr628Uf5h5SHlAeDywNPT5o8kjO+lGcZaiUoTQN2+6KV0VR3atAEp26YwHMtcmYapMnGvWeSrbxoRBKQtE= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2134; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2134; 20:Mx88yABLXf5BFyN+trBrhuApramzjMOIEzrH9Tcs3mWTkPlKdUIcYTNReSRGTHKgmuAOLpJXos/GIYGsBNSJ+LS5LHHIGXECRciwuP+OgAhCTdh2JaA8WSdzG16foXzKBLxXRPk60cpLbZoxfiozkFOcnfynnoKuLJIj7sCUu9df2q4L84Ne6VVnAdLMuGyrX/a6wZL6idetRBl9t2DoPNc2PTsqu3kWUSDMDg3z/b2lzxnbSpQe59d7S6mWuVL2jEWt/DdZTHeggftNjX48qWjlielVhwW4NvVAfQKCCO19vTkDPKKTNl00jXV9Ab/VDasRIB7e0IpC25g3u7M/+/0KC5UEMbCfEVDNMSfTxqg6ZJ9z0RhsHGm6Ltvjt9CeGp7f5JFI/jsfuekRB4dwo2CH2WvHNut7uLj+kCaDcGRQE2/fpJWuniCccAm+cVQ8HP2EdeaZSQCUF/FPfQvrdp2FKdHZqPq3Rr5WMoJNwCwDfdWuW+zn7mFpRAEDUvPQZ7NJxYfJ4BXJULUUqyxEFYmcET+nfWqaGSWutBl3keZ1fTIWuaPFjFewibVC7R5kXZQW4PEi2VoxK6LH06xkkh33wthocUvHIiXuOKBiQJw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:CY1PR07MB2134; BCL:0; PCL:0; RULEID:; SRVR:CY1PR07MB2134; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2134; 4:13n51DvpjRuxbv6RTIbnldl790JInSc6CaflU2xp4VgpOqyTg8MquvvtvceDKZWS9Oxb/EfUcEPeCmciTSst2bIwFTWkj+gff8+xthwB0VKLKkxtpRSXFo3DJ6dv6Nt8q64TIAW06vM/cPX3LsCmgx7zptDcDh67KZC4jjcsrwjknCrVDJSo6mgX1VxUt7PhXMKME7KAreCHiVo5ICrPzI/P3yD+A5XZYZDgnyGDNbWTjdulxR+s7KMaYr3gGDVgVRWDnG3Cp45rYhFlN7u6kTDawnjeSjQl/SNShvw78p8BiIMn/mkBuikVrA6MU/XCMpjugjCnXF1yLH6iYHKFkRvIVu69WBrSGPqTd/2Ry5XIgvWMKuq448fCLuWL0l5t X-Forefront-PRVS: 0945B0CC72 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(24454002)(377454003)(83506001)(64126003)(50986999)(87266999)(65816999)(76176999)(54356999)(586003)(189998001)(6116002)(3846002)(4001350100001)(5001770100001)(50466002)(77096005)(15975445007)(5004730100002)(2950100001)(81166006)(8676002)(4326007)(230700001)(2906002)(5008740100001)(33656002)(42186005)(59896002)(92566002)(53416004)(575784001)(65956001)(66066001)(36756003)(19580405001)(15974865002)(47776003)(19580395003)(23676002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR07MB2134; H:dl.caveonetworks.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjA3TUIyMTM0OzIzOmM2bWZkYTBYdU5IU3orUFo3ODRXVG1EcVl2?= =?utf-8?B?Skx6dlA2QmUrOFh2bEdaY1k4djQrZ0FPUGE0akk1UURmSVR3cy9MK04rcXE1?= =?utf-8?B?c0FIQVVoamxhYUMxRjFMRmRoYlBqaHZFTy9Xdk82S3NaYmJRZ28xeGV4N2k1?= =?utf-8?B?aGYzMmJJQmp3cHY3N0hxaGlScVRwK09HTUN1YmlvV2Iwd3phbzY5WWRXQVhL?= =?utf-8?B?UHNXQjVaSGQ5QmVQMnJGeDJFUUdMc2tOKy9HYktGV0JLcTVYRHVWYzJuL2xh?= =?utf-8?B?RS9RNE8vcmVnQWQzWTRwVTlCMW91QlJKOC9EQ09RaVVrZVkyTXl0T29leEtk?= =?utf-8?B?b0cveGVTL1hvNjM3NEo4MlRSZXdJVWNQNjYzWjNydW1HR3htZWJNa3dDTHdI?= =?utf-8?B?TjRBZXIram9jWTQ0Ni83d1JPWjdtVFJUalNqN3pXVGlPZG54MEpVb0JBQkFz?= =?utf-8?B?UjhwNnZUdllpdVdqNWtWSVNnWVBJSncreStUQ2hReWtrODJrZUNhZ0daUkhZ?= =?utf-8?B?UmhwTDMxYzlFemREMzRncUVsTUdRK2lsZTlBUklNNUpqbTVUd3pCMlM4MTlM?= =?utf-8?B?R252ckwxSnV5T1Q3L2ZLZkhGQ0JNTHp3ZG56TU1Gakl0Ym5mUXVxbFFvWnBL?= =?utf-8?B?dUNjQzA0RUxURDlNUEFacnJMMmhqNTNJY0Jnckx4dmlqd0ZvUFRYaERidldu?= =?utf-8?B?NThLRy9PMXJzNDhuRm5Jb010QVpsN0lYT2RDdUxiRmxOZU1OZUlueGJoODF1?= =?utf-8?B?emFTNXF5QmtETWxwdGJNWCs0a0llU0puMm9PS1JQVEt0a0t4MXBpTHFFNGhZ?= =?utf-8?B?K3NMUE96ZHlnL3pJZW5pQ3JQUlo5UmJaeEV4aFQ4SEF0Z3pWMWQza1RjR3RB?= =?utf-8?B?YjdyWDVQaE0vYVhpTkh3Zy9GcU5EcjJWRDZhT2xjYXJQTXdRenF5bGxBNzBt?= =?utf-8?B?VkJYaW0wM0g3cS9ZMExtMjFXa1NweDV2WmVUK3FOTWhhcm1wL2JYd3lwOEhj?= =?utf-8?B?MnAzb3hyVUY5eUwrUUhyNW9JajZjWW5QUWczbFkrMjRveWNzdFRSNEF0NWQ1?= =?utf-8?B?T1dnbHdra240dDFMZXhmb3V3NTFOSTZaTno1cHpwWDMwSzVDeVdnODVpWWlN?= =?utf-8?B?SUg2K0x3VEwxWDJnYmpuRExmck82aGxlRVRPZXFCazhCVzFTQ1RMb01wZU1h?= =?utf-8?B?Q0xmRlNaWXNLN3Fob3RhSXZObmdiY3Y1NklHUE1KM1dHRXA4aGV6SW5LUktt?= =?utf-8?B?cVhpcXVzWG1LWFdiQXRUY2JpelBZZE5nM05odUdnb2lMMEticDFHbGN4RFpQ?= =?utf-8?B?YTYyd2J4WFNyTGc2S1dsQVVTWkdVQzZrbUxGbmlJb1dGeTRiaXdra25mdFJQ?= =?utf-8?B?amxUQ0FmSUdDdHBwWHJVSTkvRXh2UjdZTkJDYzFuem1HZXVoRW1MVXhyR1BX?= =?utf-8?B?MVhWQW5VS3pwNUZqcUkrU3N3WGM4Qnp0cWwvZGVOTjBYNHk2WHEwckNCQVkx?= =?utf-8?Q?AzSjtrRDpwOVz/hEbKoKOsFusMhaGSPbXNWNJsJh65fdck?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2134; 5:i2g/3gox9moFnyqCLczIc7hOo2MXoIF0rb3TkNtxEjm0iPoSs1BHyJzJrWnUmWV8gxKwCUFIPeqxxkCwOyLsjm6mrK6mNgUl7iXIZLuaizCmf3nwjftxegdXdq/cMtGoT0AX/r//gSjqnhZXCn7FbA==; 24:scZ79HFl7aHO9BOg+540DxdWrEuJl/Gf+ikPrJFCswxqCE/gZMlAD20Ky8xwdmJNraXAoL0FvdL4+mHFdj4fvwhQyR2bufE5VBg0W9YuaQA=; 7:yq0SGfKsUC/NpBJ1HeuTssEAFSGeEwld0k3M4t8VLWL9ET9cGcDN4ppcVzI2aChqokW5rwWKur4WA5mi+3SaZa/z++5XCSBqsYOQvvROGAXgcGn3qzbFwAmXv0+FpNTLOcmn61cVkHm78IQcA09uSRXujDMHz16CoYEpEZC9mY4tGwlgDStlDOYeDIako3bw SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 May 2016 17:39:19.5385 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2134 X-Mailman-Approved-At: Tue, 17 May 2016 18:20:18 +0000 Cc: Scot Doyle , Greg Kroah-Hartman , Ming Lei , Linux Kernel Mailing List , dri-devel@lists.freedesktop.org, "Chintakuntla, Radha" , Pavel Machek , Jiri Slaby X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Spam-Status: No, score=-5.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP I can confirm this. The cursor is blinking along nicely with a 200mS on/off time then with this patch installed: ------------------------------------------------------------- I get: [ 29.386066] ------------[ cut here ]------------ [ 29.386080] WARNING: CPU: 0 PID: 1688 at drivers/video/console/fbcon.c:1103 fbcon_init+0x47c/0x4b8 [ 29.386145] Modules linked in: vfat(E) fat(E) aes_ce_blk(E) ablk_helper(E) cryptd(E) aes_ce_cipher(E) ghash_ce(E) sha2_ce(E) sha1_ce(E) sg(E) ip_tables(E) xfs(E) libcrc32c(E) nicvf(E) ast(E) i2c_algo_bit(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) fb_sys_fops(E) ttm(E) drm(E) i2c_core(E) nicpf(E) thunder_bgx(E) mdio_thunder(E) mdio_cavium(E) dm_mirror(E) dm_region_hash(E) dm_log(E) dm_mod(E) [ 29.386147] [ 29.386153] CPU: 0 PID: 1688 Comm: systemd-logind Tainted: G E 4.6.0-rc3-arm64next+ #278 [ 29.386155] Hardware name: www.cavium.com ThunderX CRB-2S/ThunderX CRB-2S, BIOS 0.3 Apr 25 2016 [ 29.386159] task: fffffe0fd1109d80 ti: fffffe0fd119c000 task.ti: fffffe0fd119c000 [ 29.386163] PC is at fbcon_init+0x47c/0x4b8 [ 29.386167] LR is at fbcon_init+0x144/0x4b8 [ 29.386170] pc : [] lr : [] pstate: 80000145 [ 29.386172] sp : fffffe0fd119f900 [ 29.386179] x29: fffffe0fd119f900 x28: fffffe0fdc059c00 [ 29.386186] x27: fffffe001c7c8800 x26: fffffe0fd6027910 [ 29.386192] x25: fffffe0fd6027800 x24: fffffc0009b56f98 [ 29.386198] x23: 0000000000000001 x22: fffffc0008d1a000 [ 29.386205] x21: fffffe0ff4062000 x20: fffffc0009b57018 [ 29.386211] x19: fffffc0009b56000 x18: 000002aae7bd51f0 [ 29.386222] x17: 000003ffb542f9f0 x16: fffffc0008242b80 [ 29.386228] x15: 000002aae7bdb328 x14: 0000000000000006 [ 29.386234] x13: 000002aae7bc72c8 x12: 0000000000000000 [ 29.386240] x11: 0000000000000000 x10: 0000000000000000 [ 29.386247] x9 : 0000000000000000 x8 : fffffe001c7c8b18 [ 29.386253] x7 : 0000000000000000 x6 : 000000000000007f [ 29.386259] x5 : fffffc0008c91640 x4 : 0000000000000000 [ 29.386266] x3 : 0000000000000800 x2 : fffffe001c7c8ce8 [ 29.386272] x1 : fffffe0fd4df4e00 x0 : 0000000000000000 [ 29.386274] [ 29.386277] ---[ end trace 6c32ddc01008c9ba ]--- [ 29.386280] Call trace: [ 29.386284] Exception stack(0xfffffe0fd119f730 to 0xfffffe0fd119f850) [ 29.386288] f720: fffffc0009b56000 fffffc0009b57018 [ 29.386292] f740: fffffe0fd119f900 fffffc0008468930 0000000080000145 000000000000003d [ 29.386296] f760: fffffc0008c36ce8 fffffc00081c2a30 fffffe0fd119f7f0 fffffc00080f47d8 [ 29.386299] f780: fffffe0fd119f800 fffffc00080f47d8 000000000000010c fffffe0fd1109d80 [ 29.386303] f7a0: 0000000000000000 000000000025810c fffffe0fd110a5a0 0000000000000000 [ 29.386307] f7c0: fffffc000880d2e8 0000000000000000 fffffe0fd119f850 fffffc00080f47d8 [ 29.386311] f7e0: 0000000000000000 fffffe0fd4df4e00 fffffe001c7c8ce8 0000000000000800 [ 29.386314] f800: 0000000000000000 fffffc0008c91640 000000000000007f 0000000000000000 [ 29.386318] f820: fffffe001c7c8b18 0000000000000000 0000000000000000 0000000000000000 [ 29.386321] f840: 0000000000000000 000002aae7bc72c8 [ 29.386327] [] fbcon_init+0x47c/0x4b8 [ 29.386332] [] visual_init+0xbc/0x114 [ 29.386336] [] vc_allocate+0x108/0x1e0 [ 29.386340] [] con_install+0x34/0x100 [ 29.386347] [] tty_init_dev+0x74/0x1a8 [ 29.386351] [] tty_open+0x4e8/0x5a8 [ 29.386357] [] chrdev_open+0xa8/0x1ac [ 29.386361] [] do_dentry_open+0x1e8/0x300 [ 29.386364] [] vfs_open+0x6c/0x7c [ 29.386370] [] do_last+0x12c/0xc24 [ 29.386374] [] path_openat+0x7c/0x2b8 [ 29.386377] [] do_filp_open+0x78/0xd4 [ 29.386381] [] do_sys_open+0x150/0x214 [ 29.386384] [] SyS_openat+0x3c/0x48 [ 29.386389] [] __sys_trace_return+0x0/0x4 . . . [ OK ] Started Command Scheduler. Starting Command Scheduler... [ 33.395141] ------------[ cut here ]------------ [ 33.399773] WARNING: CPU: 0 PID: 0 at drivers/video/console/fbcon.c:405 cursor_timer_handler+0x5c/0x6c [ 33.409072] Modules linked in: ip6t_REJECT(E) nf_reject_ipv6(E) ipt_REJECT(E) nf_reject_ipv4(E) xt_conntrack(E) ebtable_nat(E) ebtable_broute(E) bridge(E) stp(E) llc(E) ebtable_filter(E) ebtables(E) ip6table_nat(E) nf_conntrack_ipv6(E) nf_defrag_ipv6(E) nf_nat_ipv6(E) ip6table_mangle(E) ip6table_security(E) ip6table_raw(E) ip6table_filter(E) ip6_tables(E) iptable_nat(E) nf_conntrack_ipv4(E) nf_defrag_ipv4(E) nf_nat_ipv4(E) nf_nat(E) nf_conntrack(E) iptable_mangle(E) iptable_security(E) iptable_raw(E) iptable_filter(E) vfat(E) fat(E) aes_ce_blk(E) ablk_helper(E) cryptd(E) aes_ce_cipher(E) ghash_ce(E) sha2_ce(E) sha1_ce(E) sg(E) ip_tables(E) xfs(E) libcrc32c(E) nicvf(E) ast(E) i2c_algo_bit(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) fb_sys_fops(E) ttm(E) drm(E) i2c_core(E) nicpf(E) thunder_bgx(E) mdio_thunder(E) mdio_cavium(E) dm_mirror(E) dm_region_hash(E) dm_log(E) dm_mod(E) [ 33.488864] [ 33.490358] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W E 4.6.0-rc3-arm64next+ #278 [ 33.498877] Hardware name: www.cavium.com ThunderX CRB-2S/ThunderX CRB-2S, BIOS 0.3 Apr 25 2016 [ 33.507571] task: fffffc0008c79c80 ti: fffffc0008c50000 task.ti: fffffc0008c50000 [ 33.515053] PC is at cursor_timer_handler+0x5c/0x6c [ 33.519930] LR is at cursor_timer_handler+0x30/0x6c [ 33.524804] pc : [] lr : [] pstate: 80000145 [ 33.532198] sp : ffffff0ff9dc3da0 [ 33.535513] x29: ffffff0ff9dc3da0 x28: fffffc0008c70be8 [ 33.540836] x27: fffffc0008c70000 x26: fffffc0008d68fb3 [ 33.546158] x25: fffffc0008c70000 x24: fffffc0008d6a000 [ 33.551483] x23: fffffe0fd6027800 x22: fffffc0008467434 [ 33.556809] x21: 0000000000000101 x20: fffffe0fd6027800 [ 33.562138] x19: fffffe0fdc059c00 x18: 000002aadcf70050 [ 33.567464] x17: 000003ff95cfa228 x16: fffffc000829628c [ 33.572786] x15: 00000000000000dd x14: ffffffc2c3bfa000 [ 33.578114] x13: 003d093352dc0000 x12: 00000000003d0900 [ 33.583440] x11: 0000000000000000 x10: 00003d09334ec400 [ 33.588765] x9 : fffffc0008c50000 x8 : fffffc0008851320 [ 33.594090] x7 : 00000000ad583ee9 x6 : 0000000000000001 [ 33.599412] x5 : fffffc0008c79c80 x4 : fffffc0009012c28 [ 33.604743] x3 : 0000000000000004 x2 : 0000000000000002 [ 33.610074] x1 : 0000000000000000 x0 : 0000000000000001 [ 33.615395] [ 33.616886] ---[ end trace 6c32ddc01008c9c3 ]--- [ 33.621506] Call trace: [ 33.623951] Exception stack(0xffffff0ff9dc3bd0 to 0xffffff0ff9dc3cf0) [ 33.630390] 3bc0: fffffe0fdc059c00 fffffe0fd6027800 [ 33.638221] 3be0: ffffff0ff9dc3da0 fffffc0008467490 0000000080000145 000000000000003d [ 33.646050] 3c00: fffffe0fd46b5700 ffffff0ff9dd8f00 fffffc0008d69de0 0000000000000000 [ 33.653882] 3c20: fffffc0008c36ce8 fffffc0008c24b28 fffffc0008c70be8 fffffc0008da5b48 [ 33.661708] 3c40: ffffff0ff9dc3cb0 fffffc0008814614 ffffff0ff9dd8f00 fffffc0008d68ea4 [ 33.669535] 3c60: fffffc0008d69de0 0000000000000000 fffffc0008c36ce8 fffffc0008c24b28 [ 33.677361] 3c80: 0000000000000001 0000000000000000 0000000000000002 0000000000000004 [ 33.685191] 3ca0: fffffc0009012c28 fffffc0008c79c80 0000000000000001 00000000ad583ee9 [ 33.693017] 3cc0: fffffc0008851320 fffffc0008c50000 00003d09334ec400 0000000000000000 [ 33.700845] 3ce0: 00000000003d0900 003d093352dc0000 [ 33.705726] [] cursor_timer_handler+0x5c/0x6c [ 33.711648] [] call_timer_fn+0xc0/0x3e4 [ 33.717047] [] run_timer_softirq+0x1ec/0x39c [ 33.722879] [] __do_softirq+0x104/0x598 [ 33.728278] [] irq_exit+0x9c/0xc0 [ 33.733155] [] __handle_domain_irq+0x98/0xfc [ 33.739009] [] gic_handle_irq+0x94/0x190 [ 33.744492] Exception stack(0xffffff0ff9dc3fc0 to 0xffffff0ff9dc40e0) [ 33.750930] 3fc0: fffffc0008c53da0 fffffc0008d6a000 fffffc0008c53ec0 fffffc00080860c0 [ 33.758756] 3fe0: 0000000060000145 fffffc0008a33c98 ffffff0ff9dc0020 0000000000000000 [ 33.766582] 4000: fffffc0008c53ec0 fffffc0008c53da0 0000000000000000 0000000000000000 [ 33.774408] 4020: fffffe0fee5412d0 0000000000000000 0000000000000000 0000000000000000 [ 33.782234] 4040: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 33.790060] 4060: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 33.797887] 4080: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 33.805715] 40a0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 33.813547] 40c0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 33.821374] [] el1_irq+0xa4/0x114 [ 33.826251] [] arch_cpu_idle+0x40/0x1fc [ 33.831651] [] default_idle_call+0x20/0x34 [ 33.837310] [] cpu_startup_entry+0x160/0x314 [ 33.843142] [] rest_init+0x150/0x160 [ 33.848283] [] start_kernel+0x3b8/0x3cc [ 33.853681] [] __primary_switched+0x30/0x6c On 05/17/2016 07:29 AM, Peter Hurley wrote: > [ +to Scot Doyle ] > > Scot, please take a look at this soft lockup. > > Regards, > Peter Hurley > > > Hi Ming, > > On 05/17/2016 02:12 AM, Ming Lei wrote: >> Hi, >> >> On Tue, May 17, 2016 at 4:07 AM, Dann Frazier >> wrote: >>> Hi, >>> I'm observing a soft lockup issue w/ the ASPEED controller on an >>> arm64 server platform. This was originally seen on Ubuntu's 4.4 >>> kernel, but it is reproducible w/ vanilla 4.6-rc7 as well. >>> >>> [ 32.792656] NMI watchdog: BUG: soft lockup - CPU#38 stuck for 22s! >>> [swapper/38:0] >>> >>> I observe this just once each time I boot into debian-installer (I'm >>> using a serial console, but the ast module gets loaded during >>> startup). >> >> I have figured out that it is caused by 'mod_timer(timer, jiffies)' and >> 'ops->cur_blink_jiffies' is observed as zero in cursor_timer_handler() >> when the issue happened. > > Thanks for tracking this down. > > This softlockup looks to be caused by: > > commit 27a4c827c34ac4256a190cc9d24607f953c1c459 > Author: Scot Doyle > Date: Thu Mar 26 13:56:38 2015 +0000 > > fbcon: use the cursor blink interval provided by vt > > vt now provides a cursor blink interval via vc_data. Use this > interval instead of the currently hardcoded 200 msecs. Store it in > fbcon_ops to avoid locking the console in cursor_timer_handler(). > > Signed-off-by: Scot Doyle > Acked-by: Pavel Machek > Signed-off-by: Greg Kroah-Hartman > > and > > commit bd63364caa8df38bad2b25b11b2a1b849475cce5 > Author: Scot Doyle > Date: Thu Mar 26 13:54:39 2015 +0000 > > vt: add cursor blink interval escape sequence > > Add an escape sequence to specify the current console's cursor blink > interval. The interval is specified as a number of milliseconds until > the next cursor display state toggle, from 50 to 65535. /proc/loadavg > did not show a difference with a one msec interval, but the lower > bound is set to 50 msecs since slower hardware wasn't tested. > > Store the interval in the vc_data structure for later access by fbcon, > initializing the value to fbcon's current hardcoded value of 200 msecs. > > Signed-off-by: Scot Doyle > Acked-by: Pavel Machek > Signed-off-by: Greg Kroah-Hartman > > > >> Looks it is a real fbcon/vt issue, see following: >> >> fbcon_init() >> <-.con_init >> <-visual_init() >> >> reset_terminal() >> <-vc_init() >> >> vc->vc_cur_blink_ms is just set in reset_terminal() from vc_init() path, >> and ops->cur_blink_jiffies is figured out from vc->vc_cur_blink_ms >> in fbcon_init(). >> >> And visual_init() is always run before vc_init(), so ops->cur_blink_jiffies >> is initialized as zero and cause the soft lockup issue finally. >> >> Thanks, >> Ming >> >>> >>> perf shows that the CPU caught by the NMI is typically in code >>> updating the cursor timer: >>> >>> - 16.92% swapper [kernel.kallsyms] [k] _raw_spin_unlock_irqrestore >>> - _raw_spin_unlock_irqrestore >>> + 16.87% mod_timer >>> + 0.05% cursor_timer_handler >>> - 12.15% swapper [kernel.kallsyms] [k] queue_work_on >>> - queue_work_on >>> + 12.00% cursor_timer_handler >>> + 0.15% call_timer_fn >>> + 10.98% swapper [kernel.kallsyms] [k] run_timer_softirq >>> - 2.23% swapper [kernel.kallsyms] [k] mod_timer >>> - mod_timer >>> + 1.97% cursor_timer_handler >>> + 0.26% call_timer_fn >>> >>> During the same period, I can see that another CPU is actively >>> executing the timer function: >>> >>> - 42.18% kworker/u96:2 [kernel.kallsyms] [k] ww_mutex_unlock >>> - ww_mutex_unlock >>> - 40.70% ast_dirty_update >>> ast_imageblit >>> soft_cursor >>> bit_cursor >>> fb_flashcursor >>> process_one_work >>> worker_thread >>> kthread >>> ret_from_fork >>> + 1.48% ast_imageblit >>> - 40.15% kworker/u96:2 [kernel.kallsyms] [k] __memcpy_toio >>> - __memcpy_toio >>> + 31.54% ast_dirty_update >>> + 8.61% ast_imageblit >>> >>> Using the graph function tracer on fb_flashcursor(), I see that >>> ast_dirty_update usually takes around 60 us, in which it makes 16 >>> calls to __memcpy_toio(). However, there is always one instance on >>> every boot of the installer where ast_dirty_update() takes ~98 *ms* to >>> complete, during which it makes 743 calls to __memcpy_toio(). While >>> that doesn't directly account for the full 22s, I do wonder if that >>> maybe a smoking gun. >>> >>> fyi, this is being tracked at: https://bugs.launchpad.net/bugs/1574814 >>> >>> -dann > diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c index 6e92917..7855446 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c @@ -402,6 +402,8 @@ static void cursor_timer_handler(unsigned long dev_addr) struct fbcon_ops *ops = info->fbcon_par; queue_work(system_power_efficient_wq, &info->queue); + if (WARN_ON(ops->cur_blink_jiffies < 10)) + ops->cur_blink_jiffies = 200; mod_timer(&ops->cursor_timer, jiffies + ops->cur_blink_jiffies); } @@ -417,6 +419,8 @@ static void fbcon_add_cursor_timer(struct fb_info *info) init_timer(&ops->cursor_timer); ops->cursor_timer.function = cursor_timer_handler; + if (WARN_ON(ops->cur_blink_jiffies < 10)) + ops->cur_blink_jiffies = 200; ops->cursor_timer.expires = jiffies + ops->cur_blink_jiffies; ops->cursor_timer.data = (unsigned long ) info; add_timer(&ops->cursor_timer); @@ -1096,6 +1100,7 @@ static void fbcon_init(struct vc_data *vc, int init) ops = info->fbcon_par; ops->cur_blink_jiffies = msecs_to_jiffies(vc->vc_cur_blink_ms); + WARN_ON(ops->cur_blink_jiffies < 10); p->con_rotate = initial_rotation; set_blitting_type(vc, info); @@ -1310,6 +1315,7 @@ static void fbcon_cursor(struct vc_data *vc, int mode) int c = scr_readw((u16 *) vc->vc_pos); ops->cur_blink_jiffies = msecs_to_jiffies(vc->vc_cur_blink_ms); + WARN_ON(ops->cur_blink_jiffies < 10); if (fbcon_is_inactive(vc, info) || vc->vc_deccm != 1) return;