From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753119AbdF2SIr (ORCPT ); Thu, 29 Jun 2017 14:08:47 -0400 Received: from mail-co1nam03on0045.outbound.protection.outlook.com ([104.47.40.45]:49728 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751941AbdF2SIk (ORCPT ); Thu, 29 Jun 2017 14:08:40 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=amd.com; From: Yazen Ghannam To: linux-edac@vger.kernel.org Cc: Borislav Petkov , Tony Luck , x86@kernel.org, linux-kernel@vger.kernel.org, jack@codezen.org, Yazen Ghannam Subject: [PATCH] x86/mce/AMD: Allow any CPU to initialize smca_banks array Date: Thu, 29 Jun 2017 13:08:28 -0500 Message-Id: <1498759708-27680-1-git-send-email-Yazen.Ghannam@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <20170628000630.1973-1-jack@codezen.org> References: <20170628000630.1973-1-jack@codezen.org> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: DM5PR15CA0008.namprd15.prod.outlook.com (10.173.207.146) To CY4PR1201MB0135.namprd12.prod.outlook.com (10.172.78.17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cb56f201-b309-4262-f9a4-08d4bf19dd7a X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:CY4PR1201MB0135; X-Microsoft-Exchange-Diagnostics: 1;CY4PR1201MB0135;3:j9XnodSTPzvdzhVsXuULMY+zFEVFGUngXboG3g+5gKEnuS12XczpjAx5y9d0Vfl+DqnoZSQwww4ip55nMMzqSBRxAdzxlGVc16XF6Rv66zAeI0K6iq6Ur4m1WC+f3hmf9H+BlERrVBvToFfBZu10nlFLtFnCmme27VunqENawQYE2FkG6uBcR8pldoCXWJoHMAKTqLXJAzwaDUjxXwuRGegLKX5sFZLmR4EbFX7S0b7W5WYXv5pehvBMjTjXWKYzNLLZUN975h4UPTblmNODM2QDI+9y+IpQmSTkJ5bjR8QKZhER/8PIOHHi4ewpJlVMWZ7QUV4lI3cJnY0S3Ca4vHT9LkAjJkWD5eFhVUjBvAFDQuXgAcGRlOWevmVk335q0DBzTyWfw4O/wsdk8R2PCk+ECTzCVGpD/W18tH7Z0LTG8MYvRRquI+AmFFNm2OSTk5TPgpazTwTUrgjVzsdGozPqm1J8R0IXY5/IN/uzXvaw7iOp9nM6Mfb9B+7aiKa3lqKGt8GgaktnajD1ShVU44C2fthAEEH23y0unI5+LMcKMLT1Qr0WD/0jf2xnjYAsaVYnuzMEwCiaD5CHOHzrzkMwrO6k2m8KTmUXfz18WG9iMDp44PM7qBOXQB9xW19CeiuaxBrb4GbqBzL/6T8g2xqsg2mJI3mMZZ8Mzv31G2sDrD+N52nHsKWSdPzTh8fkC6lKzMgpb2wbUm105L3LESbF03dsg1BJEdHdskgIh7pFx9WpphQjnwkDtYHhSjORvQ5sbbpKC1PJ3ys9ZiWblw== X-MS-TrafficTypeDiagnostic: CY4PR1201MB0135: X-Microsoft-Exchange-Diagnostics: 1;CY4PR1201MB0135;25:leBCJEKjegzcwqx0mwF8KFO5RmO5aMdeUIJ8c+C1SzE4VGkG8V8Nieu9fXcLiX3rEwBrIs1gEqF2VUcR17zfiwLveTmICo7N15N4yBJKv3dKLEht/tZOBQXjOobx3IYtKBysWHaK1l7m5jJ7UeBCOJSSN/a6nc/ZLHGkcBxr9/qEJHXBgh3KjccCJy2mNco/dKauWgrQao9cxvapkQT7qVrkMCRsHkCxs7M/Pd6I7f7M2FvfP2Yz807DjR7BHHNJRbExdzsd9cUqC0CB/5dWpHgrhBN6849cV6YBwUFqHmoptjFJYM4nykO795UTITOlCzodDETHVvweXQjObCiDmupXp4kc97rNzuS4amzxQvGmg7WaDzSFQXSErfEcmU70jIn5sHsBLHSsdh2jK39ckwiU32tBdM+y/myyJz67V1YhWNgMEjorXAmiPduxAUt/BbmVNJXvRH/4/oi7x+z3Hwe+nZ7gSdMxyp0onddIqts02q3DdzNwMS9wY3zEh/relAkYEqrDpEx3vJIcVzEByE+Ud9dYwHAf9Wrw6OE2fdHsARlJddkliD5TJFWRaYniMH9KpIs4/Js9bVwPEbvboiX5VthhP4r0bwz1FJepajL3HoW6XcJA+tAT7f7tLN3Yv9TFCbJgkTu3bvqbl3GDPkjVEbvUh9B8SS7txMaOE/cqIcuOuwj9S33WViub+sx7vrjKVbvo6/z33rjIbmU/DEpOv+FMqoIm9A2qM0SaBQEZ8lsYriIrJkqeSJC+z9Lm1Z390oUp7MpiqQpt0xLqeYqSVV3SizlTAhDC0Carn+Fv1TWyxkkSh3pnWby+HXDDhAxJk1DeFsMa7uFgyVWaCepLTnZh8H8XdocT9hbsT1eqdBGyCarn8MDThyX9v1tMjvrAlJf+oK5g8KMhOeLvCgNAZNjxqIhL5KpshBKXXa4= X-Microsoft-Exchange-Diagnostics: 1;CY4PR1201MB0135;31:w7l/JduRj8ojLJ6/An7z14jAhBtwCiAem4edc3t4hRR6Bds5a9WqsbDk1MNQifpWXv0+dOf//Rh6CtO0WuXasEVeEwRB+5gLTpSCWOj0C1OgzzFg/P7MdpGiY/zYl2Tj45gvWu2iOG+avHPZdlulDNBEVe4FyyyUVE34jWAHueHJdoZVAT0nqopQ6kJeflUw59RI+mtZzsaCYwbKa9ZEZNNSzg2t0vbCqvhiiiOAYpZ1BuG9jgyU3TA+SYNNu0UgQNqyGmh6fNKNK+AsS9z9lMjLOv2f3oBbd2iFl21U+03H3hMDv0+RZzwjIi0jhJWybDQNhBRa1cZcCNv1gtNyR7fy1Ft8uU5176g+UR8ITCchp2V2+du0hn0kBNRcs7EBx2idh7SETohWSFGQ4trdJU2sLkkg3oEW3kKj35TNPlKRZbjBG5LfaRhhUbbtgFPXNU7eITHuWD5MTHchLkXF/uN4xpTtZINxteCeH68EfCx+wSTtqoZMlSeUz3mtH8PFH9MjX4M3z0jzzaoz1d4jLo83Gci9xS9GuQFsn17j22glp5spUPCo3hUqgzJFyYPT1JYI9lKOKmO+dB7OlYG23RkK+1x9po14Q7jrQok+pYMJu+rqIkIbPFzbr4CNbLB12XwQ0utWdmDkaLqJu8YkqqzfP7kkDoDRX1Gt6TrZ0Yw= X-Microsoft-Exchange-Diagnostics: 1;CY4PR1201MB0135;20:mf770WHX10iu+QwO3YhlxiGqKoWObSjbmSgbmZrE47i8dF4NWfjBJ+F9QBjiYKM1c1k3R1RNLWn2vhK5HB6T6wXoFp5z7vlg8cNT/V8C9GYi5d0nPy660i52t2v71aocdgXTqgCKPOQh85lme5f3L4EPtmW/jsZNQzbwMeXe9KazuebssD410u43bGJ/HEfGPPS9UpNLeyiHKyNPCuq1FGOzyCDgJliAtBuLDjbueo2NsYSXjz5jL4YxETf2IRYN+liJKi30YSi2w6xuaRvqIAq7zuwjNN9brq3nbiFx6zFMYWfJxK9Vm64uA1LMWvOY/8mNIo7pMwpEqzjznhKKhK8lyLizEnJpJnN7NtRRLZwdlDhaYpIgZU4GwvjUPe/CT1m5ItlC0kxYvYLUIc24znEGkNAQ1w1773/nq4QM7S1oApusg4KEvRLOeecFn0XnLVaona/fQlJR5X36dUqupketuLmGSv+BPJo0UvrYY19JBmrwuGNaYY6moL9aSJMd X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(209352067349851)(236129657087228)(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123558100)(20161123560025)(20161123564025)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CY4PR1201MB0135;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CY4PR1201MB0135; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY4PR1201MB0135;4:v2ejBKx+9jIpgAYu+DbVXc5bJWPAjXLeC4XmB4A8?= =?us-ascii?Q?P1R+ifmfvWHC/9HcwkVfnXkM4sjePOOfsZe863YSAas4OeJlFiMcm3Mtk3XU?= =?us-ascii?Q?UrCeFnSXiSdL0sbISr1y2y8MMF5WUXpTBT0RkbqtFZ2e9yDX1dor0HdIjsgV?= =?us-ascii?Q?NxVKYFtdPo5ip0e30gZwoM9MExNYUi3ZQ8atxZDY5v4EG+VsawxoWqmOtVtP?= =?us-ascii?Q?V8ZBFY6Dj2dm2I4x6bjcM4ZCueZE+7AhwhCIy1F5blGoulLeU6mtAmQVRSnQ?= =?us-ascii?Q?kR8S1B4Ny7RFi5AyrvNRAOr18xCsHr/FcOqXFFRYrQorNw8eTLEYlzcTh4lA?= =?us-ascii?Q?WWVxPnSuiUuECGqzHwpRgoQ7t4eNL8KIV5LszhqFHFGv/vIEaTStSekoVWoI?= =?us-ascii?Q?mL0N5bD3dg9VyuNCBfEcd1wqY/E63I7hf416zA7hVRfBEmCIaaNxoKmuKBK4?= =?us-ascii?Q?6WHPoauRthTxvcdTPYFwyNUFrzvK6uOWT62yWKf7kePchUMscZwssyJU/Wbu?= =?us-ascii?Q?4XgMFMEWaA6vwJQJwOhAEe8naPYLM0AusPuc6Ttp5HRzdNEFILtYlYlAddfP?= =?us-ascii?Q?RbLZVuEJUaUs1wXoiCMMYoqzO4NMsi5L+x0j1M0GqxA6PFaBT7q2Mp4MjGeZ?= =?us-ascii?Q?glgV/X9yJ5NSx0sbtfycMo1ua8kZfsNPCo4tSRFgO4Mrww1QDiMj3Cv+AaH+?= =?us-ascii?Q?hvl5BhmAgSZXNINtBOHgnpwunqZmTTbY7CaS853qvJ0qutFDurLFALEoEHJG?= =?us-ascii?Q?vorlvxMVyqkfcFVG0Gfyv+U6bUlBYEUxAHeQPpwtpDbn2oyyqmSR7I9hXBrC?= =?us-ascii?Q?Na4Otr8vzB/9FcGBca71gPXm7JAi5NZbQ5PAA6psuc8RHb6BnMs+pToTVB3F?= =?us-ascii?Q?hpNehuS1Gc6zIVncU1mAu2omDMlAyRu0IP5PhKte+FaOHefV3MyCMj4InP+a?= =?us-ascii?Q?9jfCPp3VHIhXWD9acPECj7/ceERLwRBvfU695MFPcoYxiDptOqlBaFAodBkG?= =?us-ascii?Q?tCAJ4d4xY7hrfxtnVq7y3ZoYB6weKG4wYPnEAFtEqElM7dBGylOPqsUntBP/?= =?us-ascii?Q?HiWUC2GfkGwEhgsA29Ni0M5c7mnXZwkLCaULuwA1TRdcZ/OE5b5BkNTVbGPM?= =?us-ascii?Q?0GS2QshSpTaCkSLo1i0zyH5N5cuEVTX4j/OgPsGLO/7I6NSjvC3vYPVsq5UR?= =?us-ascii?Q?i91739KxcIeN8LcMdhqCvcxSa+EEnHI6wop+rRR7NGbaWYUb2/s7jaEZ3wKf?= =?us-ascii?Q?xvHZRaRmD0G0Ewe7iS6gh3Yo7nLbEfGb0n02iLsY?= X-Forefront-PRVS: 0353563E2B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(39400400002)(39410400002)(39850400002)(39860400002)(39450400003)(39840400002)(66066001)(3846002)(42186005)(36756003)(47776003)(8676002)(4326008)(6116002)(5003940100001)(81166006)(50226002)(189998001)(6916009)(6486002)(25786009)(2950100002)(6666003)(5660300001)(53416004)(305945005)(2361001)(53936002)(50986999)(72206003)(478600001)(76176999)(2351001)(54906002)(86362001)(7736002)(38730400002)(110136004)(50466002)(48376002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR1201MB0135;H:yaz-diesel.amd.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY4PR1201MB0135;23:mhVeRBezeELA4IRGkxu/1WbrYokSujGuxkGPBHU?= =?us-ascii?Q?AA543VeCbQJfK6WVH4DplNAhTSMRlZ2VTeHWHAxZ7io0wtUUH7I0oYxd0AGv?= =?us-ascii?Q?IEvh27CFxxy4ZRa3LJQvX44eheMxz9CRNlyQU0VUKEPWz0n55dENztxhAmMT?= =?us-ascii?Q?rR8/DZOO//ZzhnCL5njyR36b/to3XOOWRLDCF+j1Ki1WvRWS6E4LV8e6C6qE?= =?us-ascii?Q?0t0Ri9uVoXv11n+TenpmE2SutWpZvGNfn+hsSdFFx6g5ef0tlllfzVi78Ucv?= =?us-ascii?Q?Nw+hGSHgzOTJWLVhZUNcLMHWoUJy6X+dVhZSnlYBA8DuDVEtqNTYhwJHO73P?= =?us-ascii?Q?XOEsk2zKz2DiqJ9B3l+n8CyFKSruX9RIewIJ54NWXksIo08nYCI+vpARe+F2?= =?us-ascii?Q?4Ef2/Cwei28sGNiZWnHcJ/F0FTVd1Xo2REORcLPtLz7+ZQ7e570OrHeCjEqt?= =?us-ascii?Q?h74Uus/EqHx0dGLGc9A35f9k5QpYSvaXomppnB5mRM4UicHKHSdvimk8sES1?= =?us-ascii?Q?q7aL/+sYpQX2pcYYPHjhyDvsCzslPEEaFXtzH+kRwL5BPsZ6XsqTTFa7O6/E?= =?us-ascii?Q?Q3aaeLSk623Z1mLDjUV4b6eMJ6gudr22PL5jJ/HpkAJ2Z9uBQVkfo4m3/hmv?= =?us-ascii?Q?WpfE+TEdZCWPLRgYLWYSdPiQ2JRIqUIkVbp3p+y8wdZY1lDe/y/33UNXqPCV?= =?us-ascii?Q?+gd54kr01CKTDLpW+nhajTLt0MAzSxMcqfOPUGSTUUEiqohCiGo0tRyGzN+6?= =?us-ascii?Q?GyQ1crXvIpymPIYS6/XlV3edqJQq904lCiSBFFWw4q17FpxEXDWENWAArAc0?= =?us-ascii?Q?K8vh1l/k/d9/4nibNvu596CirYTNJmfhjIV5c3SYfQGCzN+eOLxKYCkNkD2Z?= =?us-ascii?Q?NB3VGFr+QWHc0TupJXQYFFPWftC+bb5IPVk34auo6aze7QtXUsDoHtULMpd2?= =?us-ascii?Q?uvzEzf+aBp90dHqzesxJQWUOdI0WYHTjXXrPR3ixt8GPHpqMjBstNlYqLPBI?= =?us-ascii?Q?YcL+Z6QPQEpj9TZvceQof30OWWLkQ+E2H1UYP0Jzft917dSEWWHE/EtZIUrG?= =?us-ascii?Q?Yw9teZ08l3VTcLAuIdEwAtEZEZSLf?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY4PR1201MB0135;6:g5Cc0dqVkUdxlzO3Rso8s+2njVAC9q9W2hTSsZ9s?= =?us-ascii?Q?bTCG30m3R3FtJlmHbo+zI2R7hNxmAt3t7SSlYMdYmxmiImV/VhiFNr8cVa5z?= =?us-ascii?Q?No9twJl50SdlLnwIQeoYlha/420ZO9IkuWCPAjkrqM9uEqYdufkV3Hc4VdbJ?= =?us-ascii?Q?iQISKGPnGmKpikgoUYqPeaUAXt7sTDu++0RYFOXhtkYEkvbAuN1rfXzQNg5h?= =?us-ascii?Q?vQD5rkO6hQOzsJHOU/LkONt7u6T+L/doL+y/aVFsXQIl8utWlFpGhjbaBAGt?= =?us-ascii?Q?fgmFGbKawIc0t/6a1KhiYQ4dabhAjabdawR68QFQalJ6I2V5X1eZUoDX58V7?= =?us-ascii?Q?wFZOdIAfQ6fozNCt3qUiLVnK2m3SzHSDQaVN3NfWZ7PZX320wIMAkvrHiWt9?= =?us-ascii?Q?0eBuZLF4xmcK9orFrs14/fcWR4AcPqINjp5jK1Mb5evmpLu703PZ3nPmu+1/?= =?us-ascii?Q?aSpTznIVC10xdIuYlmeBHCfTpzN3VoWwozUsS08gxuz9NW2JyziQuagNnMVQ?= =?us-ascii?Q?kcWyowVOFRKB+BKTmLDWKdBy5p7Cnzdr+Gyb0oTxcXYKCqLDRHtV13vBs23o?= =?us-ascii?Q?99rp56MHjpWq6K1Dxn62I5C78eXDnAEFEZBC6G0XgV0C/cqsu0Qf/bqolIf3?= =?us-ascii?Q?hLcSy9/dIeuiYSNE8RYHVq9cDv3hYkB51xn/YwIFRO6/loB0ceQZevJgJAzY?= =?us-ascii?Q?hoozgNHJDMLQgE//7UFc3AYVkuLggGEmaZ99ZfxrL5+LrdXQw3syYHxBHKeG?= =?us-ascii?Q?zi+jgnWcqQBn8ptvSCFVnQgbyIoRq4YjF8XL/2ohc+yLgDXGYSVPGFzOdAS9?= =?us-ascii?Q?mby0dsebNb3IaRao728+kf+ieZP6cjUobhGb6qSa5PXp0yNzdX0lglUxUEdW?= =?us-ascii?Q?/7BnRLCcSD+hGtSAU2e/T2B4A4XjG+Fqr6MVoJHnnu9M/zfReir7+rOmaAyK?= =?us-ascii?Q?YQ/bl7HqpYG6q90YgymqIBlGNBDzS1tTPJkmXFyDDqABhdx5cUOLNj00TUPX?= =?us-ascii?Q?dybjycXW7ED5+Q6h0/muIY7u?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR1201MB0135;5:0veKx3ElKl9Tk0tu+hXjXRT8I1iiYTiejaIL0Z51KxMEw6c7uCNLnbHMBi3udQ1feEwOgc/N9lFbOFXYsw2wSST+nEwqa9cNle+Lwybx17nzzslPsTlbQCLB9Gz4AzwzBAaeuHyrp1nc7aC73fZbtp41JMvMfiQDNEpXFRyNR8OKT2OK6/Z3614azUYjysgaKRStnZUP+sE96SY1+vKCF2j+TH6X9x9gUeWKmeoF31UPzgToAu8EwhDZo3c2Stppm67B9gjGzxE8VruH6nASWgK87x3OkBKgsdANXvQaaTHTFLnxCZTnMvkVqeP7yI6BAsqwWez21XpNbEOlKuRRCV+XtxG9rApx/osQ+AWjQKPo5X4DtxviIt9pKArsLE5JN9lCGlYTOFMcxHSdfNnC25cwOwqtFhnUI1zM/c9Y1uRjdCM0QLzV/sX0hSY/+eOLftNMvKE4+7v9S05ppGwS7WAABZnmXjxckbqz5VqLXvC7eHkdjYLktxSi5xqk43fl;24:u+tiSf1R0PTdkFd8k3BmPse5rM5kxykoa/3LwDvp5BXUGpJ+FZTk+ZcCMNw58TvN+VT1v7g2qHytcXAaF3SSvIkck6uUA+p6vz5crQ56sgk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR1201MB0135;7:2A+Dwr2B9TfaNtx9svO43t0HA9fl9NjKP4bzdQPT7uy1G6WRaAfNXKcy9djoeFmNbK2+ii++NlfSmxnJNZawTfpYLRcpJVTEHd/gx3lp851MCxFqEa4AoJb+DnqjrbKnTJuEYsr1SOPdhQ+hA0a0tJ0XOlEv5Imw8UrkpqIcp97SpR3ZGSXZh9L/iTLDus8AefynmyW4L0V/U+TWYH3RB2HfNGfdE4TtmPOidqaFT5UR+sgeNSZPqLAGJIHfmmPceR5cCTuquQHFBh+BXG5dbbNcS7dnMWdvweMhPigh9HsR5rJLRT5IcBgh+Y/BpOVrjVMEWtOOBNYKH/T/SilWM2s0lnlCdaOxMCgIjfqA56IZ3PR4zkpESXnSEW7aukD8sgD4bdB7ckLvbLh1MxMX5BdHmPEdeQDfsn3+clSfEZv8PQbFoDWFQ7gTIkFT79b0fAfXiNbu/eDdOE5y9HBM7ylqCGFF2cuI2hlFwKHfTQoPoOZuPlyzq8mOObd/uF92jKi2FSij1KqRAmYgMgLyVzc+wXGXX9R6Spj/lbPjdnoUbEA1ptEwM+p6aO0enPX34ne8l8Xw4WGTciBk1q0ZKp7f59BqN3ADP0FYm6qIApz9pl70XAWg2y3V+FceIAkQ9iSNBReNHFHRcoIE4MEH1jsIzYzBdjiIhJrEsrUmNfuk4BnRuUn+mY0zuqykI6MKtydVp3BOvdKuJLGuhn7gzdo4sM9Uv8f532RN63FGVNEtCYmDwZArAefHQ51eyNEw19TeiDCqVYx+52hMyt1MQGe52tAKWFhs/o007SM2f5g= X-Microsoft-Exchange-Diagnostics: 1;CY4PR1201MB0135;20:ETa3hN6Sb7/xQ2VRL/mrsyVc51GoJRrU8gqz78w+3g/9qJArG7V47PpNpexbXIPPT/tNAiPQrCSvbxmHDds/A6l8YJi2DL3R5NjIkPttyGFn1Ykzv6ENdtmjH2NJwu82P+bgL5DBtNMnmlJRO7788JVyVkXV8QUJZaYcqy9ter2q15dG2uae4c3WfRGU2zPFUdskzWfhhMeIeJinYsL0xivX2qrR4NFrjj5VMEEsRa2BcJBgHJdRACan+S0umiJp X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2017 18:08:37.2931 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1201MB0135 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yazen Ghannam Current SMCA implementations have the same banks on each CPU with the non-core banks only visible to a "master thread" on each Die. Practically, this means the smca_banks array, which describes the banks, only needs to be populated once by a single master thread. CPU0 seemed like a good candidate to do the populating. However, it's possible that CPU0 is not enabled in which case the smca_banks array won't be populated. Rather than try to figure out another master thread to do the populating, we should just allow any CPU to populate the array. Drop the CPU0 check and return early if the bank was already initialized. Also, drop the WARNing about an already initialized bank, since this will be a common, expected occurrence. The smca_banks array is only populated at boot time and CPUs are brought online sequentially. So there's no need for locking around the array. If the first CPU up is a master thread, then it will populate the array with all banks, core and non-core. Every CPU afterwards will return early. If the first CPU up is not a master thread, then it will populate the array with all core banks. The first CPU afterwards that is a master thread will skip populating the core banks and continue populating the non-core banks. Every CPU afterwards will then return early. Signed-off-by: Yazen Ghannam --- arch/x86/kernel/cpu/mcheck/mce_amd.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mcheck/mce_amd.c index b41466723f71..37dc43f820b4 100644 --- a/arch/x86/kernel/cpu/mcheck/mce_amd.c +++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c @@ -214,8 +214,8 @@ static void smca_configure(unsigned int bank, unsigned int cpu) wrmsr(smca_config, low, high); } - /* Collect bank_info using CPU 0 for now. */ - if (cpu) + /* Return early if this bank was already initialized. */ + if (smca_banks[bank].hwid) return; if (rdmsr_safe_on_cpu(cpu, MSR_AMD64_SMCA_MCx_IPID(bank), &low, &high)) { @@ -229,11 +229,6 @@ static void smca_configure(unsigned int bank, unsigned int cpu) for (i = 0; i < ARRAY_SIZE(smca_hwid_mcatypes); i++) { s_hwid = &smca_hwid_mcatypes[i]; if (hwid_mcatype == s_hwid->hwid_mcatype) { - - WARN(smca_banks[bank].hwid, - "Bank %s already initialized!\n", - smca_get_name(s_hwid->bank_type)); - smca_banks[bank].hwid = s_hwid; smca_banks[bank].id = low; smca_banks[bank].sysfs_id = s_hwid->count++; -- 2.7.4