Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/807529/?format=api
{ "id": 807529, "url": "http://patchwork.ozlabs.org/api/patches/807529/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-imx/patch/20170830092249.20638-1-ynorov@caviumnetworks.com/", "project": { "id": 19, "url": "http://patchwork.ozlabs.org/api/projects/19/?format=api", "name": "Linux IMX development", "link_name": "linux-imx", "list_id": "linux-imx-kernel.lists.patchwork.ozlabs.org", "list_email": "linux-imx-kernel@lists.patchwork.ozlabs.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20170830092249.20638-1-ynorov@caviumnetworks.com>", "list_archive_url": null, "date": "2017-08-30T09:22:49", "name": "[RFC] arm64: move THREAD_* definitions to separated header", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "d929afd213cecd82d5305f2ee9acb8ab760c08da", "submitter": { "id": 68471, "url": "http://patchwork.ozlabs.org/api/people/68471/?format=api", "name": "Yury Norov", "email": "ynorov@caviumnetworks.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-imx/patch/20170830092249.20638-1-ynorov@caviumnetworks.com/mbox/", "series": [ { "id": 558, "url": "http://patchwork.ozlabs.org/api/series/558/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-imx/list/?series=558", "date": "2017-08-30T09:22:49", "name": "[RFC] arm64: move THREAD_* definitions to separated header", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/558/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/807529/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/807529/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>", "X-Original-To": "incoming-imx@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming-imx@bilbo.ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"FA7nCL7b\"; \n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com\n\theader.i=@CAVIUMNETWORKS.onmicrosoft.com header.b=\"e1c2ylMp\"; \n\tdkim-atps=neutral", "spf=none (sender IP is )\n\tsmtp.mailfrom=Yuri.Norov@cavium.com; " ], "Received": [ "from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xj0Rx4bKxz9t2R\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed, 30 Aug 2017 19:23:41 +1000 (AEST)", "from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dmzDm-0004EE-Hq; Wed, 30 Aug 2017 09:23:38 +0000", "from mail-sn1nam01on0082.outbound.protection.outlook.com\n\t([104.47.32.82] helo=NAM01-SN1-obe.outbound.protection.outlook.com)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dmzDh-000491-OE for linux-arm-kernel@lists.infradead.org;\n\tWed, 30 Aug 2017 09:23:37 +0000", "from localhost (2a01:cb1d:41b:1500:dc7f:bb27:a4cf:e7) by\n\tSN1PR07MB1455.namprd07.prod.outlook.com (10.161.223.141) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.1.1385.9; Wed, 30 Aug 2017 09:23:00 +0000" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To\n\t:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:\n\tResent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:\n\tList-Owner; bh=uoFwOtHSfgq+5BZ+M53IwlV76CdCQHWni2MqH3OsSk4=;\n\tb=FA7nCL7bi5IitM\n\tVsw3C6GeuRNrnnqVMQIqqLCA1ZtNtU9RsAo937gDGELNoO4erVrxg4eJicD8vEG85annwjcxBPBeS\n\tFGr9lJBUXy3q7/Z65KeNWYR+2I1DqYYzimitfhNrPXL+Kqcp7/3iDIr/JIQl/rOvxFxXr7OnAj1TQ\n\tPCCiATQQhBy1vEaHV1ywCz779pxX9ZCj1kXHK+NpldvW6hRwMFdeggyFiWKOR8TUaQCBtDPlD+ZwI\n\tlDZPNMSmHKEgunck1tC99KTPHyJJu59zXjhfdYwRtTpdAucfyl2eOtg0X6n5qpjOmxGMZXa7XAFcZ\n\tul6nUs2jq2WSJ7XcHlkA==;", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=AQREhlQofFVKBbvsey3TIMdCeq7lw83Ovaw654hI29I=;\n\tb=e1c2ylMpz8KWsfFVzRBXykmfKSZOoJF64woDZnfYleAXtjbapmJP/GvPxJ15hRdRT9vE5gn0I3UM0UDeXjSf1aVfDnuc5X/KRUDSD3agN1s2PYTrE4sdtgA1feKULEqFVbQen6WiRcnB8zTLaLCJldEseaa3XrNIaHkci5QJGTg=" ], "From": "Yury Norov <ynorov@caviumnetworks.com>", "To": "Mark Rutland <mark.rutland@arm.com>, linux-arm-kernel@lists.infradead.org,\n\tlinux-kernel@vger.kernel.org", "Subject": "[RFC PATCH] arm64: move THREAD_* definitions to separated header", "Date": "Wed, 30 Aug 2017 12:22:49 +0300", "Message-Id": "<20170830092249.20638-1-ynorov@caviumnetworks.com>", "X-Mailer": "git-send-email 2.11.0", "MIME-Version": "1.0", "X-Originating-IP": "[2a01:cb1d:41b:1500:dc7f:bb27:a4cf:e7]", "X-ClientProxiedBy": "DB6PR02CA0009.eurprd02.prod.outlook.com (10.170.218.150)\n\tTo\n\tSN1PR07MB1455.namprd07.prod.outlook.com (10.161.223.141)", "X-MS-PublicTrafficType": "Email", "X-MS-Office365-Filtering-Correlation-Id": "2b070baa-7ecc-4f56-d1f6-08d4ef88b5b9", "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:SN1PR07MB1455; ", "X-Microsoft-Exchange-Diagnostics": [ "1; SN1PR07MB1455;\n\t3:oM1+GIR2ggFK1NPMZOrGVtRhdYmNg8cN5qbOnyMfk8Rc1QsT2logZAGBBFKTal0esqaQFm0BmomvTVxi+J4cmWp3t5B0GvD+xyAONkz9Sg420NBeS8nb9aOuYlNgXHmZQ5YEFS6BtgH/6rxgL+rWQOipOdUODcN7Q5O2W4GMvbCF6lfxpU5k+EF/T6wzxHOpFkq9iu9aG5q92ZNr1TbaRwLfEKouFicAvITdrXlCaHHHBTemEJl4Zy9z6nSl/jWI;\n\t25:GnyK5PGo3PJCbN3Yfru0D33uwahqxulfBwmSc9LQd433LYJ6pft17r6uCXtnFel/z0mK58uXWVnlRXi4IdYUOkavprz6U30eXBsW9GfETX/+xpq9C1/3mvNmej16SPtkUCrVbJ2XqD50GoiIlY11yIwpO2/tQrBmHn6ICGkH34OtgUWGxvsB6nFZogC4Hp25H6foiSE9VNNsl9V06jVB2tUrCD50PJjaXnv/8RRlNjaRC4TezdmyT1kc/4qmIfLdkeN7+zlmT94DnGqr558ym+JpbLf7p+A7fb+ecQeYC9EqLroOQXRxvSiklSZZD46umBKGQr2311zAKVZ/NUIalw==;\n\t31:A8TTUlSFYpdBDXl/Wr0wBMPP3RQxVpIC/00sDojQdheG5TiP3olQvxf9fb8xk3uxnlbTANymdXHJIBpUXskncoSeQPgOTlSL+A9vKnPTQt8tgtsHMaRvWwQjOiHIQKAxd0a8Z7oT9rnZapF/iSSaRgq/uZ8Us/FIWcDx43Wn+V8fg74kANhR0nvHhOLxUiivP5NqhuR3yYT1nTznzQH8QkCVaehET2Mdci6wyucuLDg=", "1; SN1PR07MB1455;\n\t20:o7eX+IvPe1dVD3kXzl7ps8jQRXTnQl6gJGD+AZIeqCCSZ3Qk0MEp60olYtXbQJLus1CmO5+exe8IFMEUxEKS9D5b6jVvlqL1qK7VfaQQcYM6NRUDNkKpvmnnL9FUkgJu+V7toBRRxk8mQgpnm8M/4ah+36s+ioK6LeuGiWxcUtMR9IaGL+M0Z28aw9X4kO21WYQqH+hqn+1D5HSAHKAJKQ2EMYbdCRDLRMOl1oC/EwKPdCUiVAR+ki7odpZLkdM7IEFVFBEJqhvt4MRvx6izpivMq5K0MWRpwfPPn4/EnL82m/jGzGzUYl8rsxr5sgZfkAlLNd6IGHaM30NIBzJEfexrzSxeJEZKC3f//9tVppNHQK7w2Rl9P89Mhh2dFu95Nxm6DD55Tauq3ckQwqi4ObV/SLX9ggr5Ig9ddcE1V4stc7SgZSkoKsCxrXUdn/veAX8CUhjhJrxFEu4EbaWjuzEySDUXyRYkaSDoxLYlF87sYCT+fafs5otpM8nsVCZLo92g8a4tLV6ngyj8nBmJylfKa60bf+BnSiEqgXoSJsC1NZ2Sb+iZXKkyGOET39ALpVJmCKFBJy7cI0IYdPUuorNAyMMhVTNjHiDlJyTDv64=", "1; SN1PR07MB1455;\n\t4:ZAXD2bYMvFVT2FqpP2g/By0Iu8JxKqYW/LdKNDYnV4gHzu20LxwwrYWu0BL7tlhl0Xt5vqwpFwrRpuv8Q1o+sidGNoehfcqp87V6+1afgugz9sFmikhxng6aRbq/rvdFR4EBTD4U9XcifVuAnjH4qFrhCO56s7s+lNdWOHFIUoZvwZ+qkOYeXiKZngQCQg3LNw+mUH8yk1UbsZAK8b3nGA1QlFfxe2ql1rX3nyQzHDfePWqxbm28R2EkNhj6WOMyahBJ/SaDWfBDx88AJ7LnowZdf93NtAi9dHuJMuRdPOdUjMyXVt/qCwm47X9gy7TpT/gX8eanQ7jkiTAdyraGRaOr8lSkjf1vvclb36LoRFk0ppEmCwyVlNt4HzSaiRaGMDM64uuyL6I5luiS6mRD2w==", "=?utf-8?q?1=3BSN1PR07MB1455=3B23=3AuFqt?=\n\t=?utf-8?q?6z1vKtLdrqG3K27190X0UwI7SeaffYIrB0aIu87uj2ZOEUjnNS5Z6pnW?=\n\t=?utf-8?q?lzG86xJsqCqxkXvHTU2kICsxU4EfXwvra8GSKJED7pyMgMMd4xK4tR+w?=\n\t=?utf-8?q?tSM9EQS3uFBzrx4D9SdS563i6+cPfrX2aICPeKXMhY4/qwUj+kv1IK6/?=\n\t=?utf-8?q?ZUAsdgAerpVOTWBgyL9NPvTgEC0w5yTJAdJpbPVzuH8sR9tXKaRMlvyr?=\n\t=?utf-8?q?iC3owJlh5tL+gsW4iyoabW8AJ6PYKNvjMo5pu+F0QTIgiJRRUFY/86gB?=\n\t=?utf-8?q?xS89ha02r3HZpbi2ZBlrz4J4SjLNFK/lFE0XmZnh8wHhT1b5iTzc2kK3?=\n\t=?utf-8?q?u6mzxDd6pRzL+k02+m0F0fVjvHBNbYhkQolG4FQFYMjw4MSln252YVwq?=\n\t=?utf-8?q?j4hRHBAmdLuogiT5aBRX6EMwFcxP+kXggZmDbz5VxdwRvHhV9Jaxvkg6?=\n\t=?utf-8?q?W3QX5eaEuByYNkmjgxt6tnAjdJBJ3EsnGaFRHcM9sUhPqjBuwgbQDtiX?=\n\t=?utf-8?q?XWQdfIPZtTpdeYXi8lPNZMuf2DHNXcs24KsfMLi78mqAFXxRwGu99Q6/?=\n\t=?utf-8?q?NFx/DMY0JBa4lQOBs1jh0s1KRaNlAvHkufjOdbjInRHwrCG4eSZ7bvra?=\n\t=?utf-8?q?qRnKtZyVxLF+3Ag+BFGVgFDvliCp/HzX6ph3ZGHvnLC/LO7RJ7WauT0B?=\n\t=?utf-8?q?kIr5+9UmJahcT76wx9CDlIFXHWy5Zx1h1q75ef14Xf2LHLCflmP4/ajy?=\n\t=?utf-8?q?TDKB0SEvOkPR2xF7DEwSN/dx2D9VGGdPL04L9Nr7+0dDbgVeGJ6XHd0s?=\n\t=?utf-8?q?x8o0+WLTw6cJcceCl3C5hu+4J6CB2lOXogli6sM3nFSLUUEl6yw6RrnC?=\n\t=?utf-8?q?RvJ41uXvFkcCqCZBUtiwZdpWzwDvCEEVXmK1oeE9ggqwqr04zjI9CRwK?=\n\t=?utf-8?q?FmatMJoFbxxxopNm7BDGSxyGq3yTO83ijZ6PyEiAsEjnSqtC8lIQ9LOq?=\n\t=?utf-8?q?irEox7gi7ijdydjy/oER4kl6OYDEW9QPTvZW70UKK274KUBrtxltnnBk?=\n\t=?utf-8?q?C0XqD6pYPonrk8tYoZh24cwmiZccQhsrgo2Um/29S6pvyLKoV3f0cPt7?=\n\t=?utf-8?q?rtth6l5FVMEb49Rv4eBq?=", "1; SN1PR07MB1455;\n\t6:56C2fU7GEDWuIyk9Am02uIzpll/pLrPnJVtIaXbKIWWKS3uBZM2GJ2vCl3RMRoOM2xWDko6GePVFThSWfs10g3xusuCRuZoYZTgBJH6XQQK1t5KYvE1BwfKtRLIpn3Z412SUD5PZuQpsovCM3maFvJ3NKYcswBUYQLoM76TLhD8JPB/mNQB99/aMh9dMZ+JA6x/hB7R7/ByzusIawTyIBnVKI+9fD20Gx2xXKG5A2DuyHgbKGgsFW2arilNlUWlQUBZr+BbrXPdeXpKOEYUoEr9vBG4o68AKKZHXVOVgc1A43KxNcbUx5Ns3M0n54QSV4UtKhMFHGsBh8QOvafsSfA==;\n\t5:s2JgdqTDWbL4tNt8imH4VNh+N/TW/s6iY4sgTYgaXXtCEZX1AieJhJ283e846h7KxOFXoAIIQKxTVAotyNqYXEMK+eHhmlZRSrxnP8G3xHXsQDOEJ0QMP8ndNH9QTcfswPENBIJfxNB78etIZ1rxNw==;\n\t24:p2oeMiqYs4dQzEx9k9EXq/lnPKTJ+DP9Enrb/NIFbIzT16zdWLj/gwys9/BtcIx3xBkB+eZmqZYGL4J+qDqEQs7fMiQlx8XM7n/xxPxn1es=;\n\t7:NJglMrSCuRJ1H5nwT/eqq3Adb0+92Y5WVuOdsNdsvOkxsG2JMw6m5YZl/qDrCj0mXwp2QsCe568qTk08QhmEdHT1AFSZsd6wFcrMWuPGrDniu2Y9IutIapuMuSqI9dpwh0ryydwfK+0iWGv9gHJvObh8/uhcz6QC9fJ49HJr1s73AksjhLO/hQuRkwMpkVMQPidoEGWlH8u2GAsB2UqdimVAtmN6lImvf65mNJcT64Y=" ], "X-MS-TrafficTypeDiagnostic": "SN1PR07MB1455:", "X-Exchange-Antispam-Report-Test": "UriScan:(250305191791016)(180628864354917)(22074186197030)(166708455590820);", "X-Microsoft-Antispam-PRVS": "<SN1PR07MB14556500E6A87D7C93289B51E39C0@SN1PR07MB1455.namprd07.prod.outlook.com>", "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(93006095)(3002001)(6041248)(20161123562025)(20161123555025)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:SN1PR07MB1455; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:SN1PR07MB1455; ", "X-Forefront-PRVS": "041517DFAB", "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(6009001)(6069001)(189002)(199003)(106356001)(8676002)(189998001)(6666003)(42882006)(101416001)(33646002)(50986999)(105586002)(76506005)(966005)(575784001)(72206003)(50466002)(23676002)(68736007)(5660300001)(6306002)(97736004)(54906002)(1076002)(6116002)(6486002)(53936002)(36756003)(110136004)(6496005)(81166006)(47776003)(50226002)(81156014)(7736002)(4326008)(305945005)(8936002)(2906002)(478600001)(2870700001)(42186005)(25786009)(2004002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR07MB1455; H:localhost; FPR:;\n\tSPF:None; \n\tPTR:InfoNoRecords; MX:1; A:1; LANG:en; ", "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)", "SpamDiagnosticOutput": "1:99", "SpamDiagnosticMetadata": "NSPM", "X-OriginatorOrg": "caviumnetworks.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "30 Aug 2017 09:23:00.3745\n\t(UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "711e4ccf-2e9b-4bcf-a551-4094005b6194", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SN1PR07MB1455", "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ", "X-CRM114-CacheID": "sfid-20170830_022334_013644_497B8139 ", "X-CRM114-Status": "GOOD ( 17.61 )", "X-Spam-Score": "-1.9 (-)", "X-Spam-Report": "SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details: (-1.9 points)\n\tpts rule name description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/,\n\tno trust [104.47.32.82 listed in list.dnswl.org]\n\t-0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)\n\t[104.47.32.82 listed in wl.mailspike.net]\n\t0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level\n\tmail domains are different\n\t-0.0 SPF_HELO_PASS SPF: HELO matches SPF record\n\t-1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature\n\t0.1 DKIM_SIGNED Message has a DKIM or DK signature,\n\tnot necessarily valid\n\t-0.0 RCVD_IN_MSPIKE_WL Mailspike good senders", "X-BeenThere": "linux-arm-kernel@lists.infradead.org", "X-Mailman-Version": "2.1.21", "Precedence": "list", "List-Unsubscribe": "<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>", "List-Archive": "<http://lists.infradead.org/pipermail/linux-arm-kernel/>", "List-Post": "<mailto:linux-arm-kernel@lists.infradead.org>", "List-Help": "<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>", "List-Subscribe": "<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>", "Cc": "Ard Biesheuvel <ard.biesheuvel@linaro.org>,\n\tCatalin Marinas <catalin.marinas@arm.com>,\n\tWill Deacon <will.deacon@arm.com>, \n\tYury Norov <ynorov@caviumnetworks.com>,\n\tJames Morse <james.morse@arm.com>, Laura Abbott <labbott@redhat.com>", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "Sender": "\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>", "Errors-To": "linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org", "List-Id": "linux-imx-kernel.lists.patchwork.ozlabs.org" }, "content": "Hi Mark, all.\n\nIn patch 'dbc9344a68e506f19f8 (\"arm64: clean up THREAD_* definitions\")'\nyou move THREAD_* definitions from arch/arm64/include/asm/thread_info.h\nto asm/memory.h. After that asm/thread_info.h starts to depend on\nasm/memory.h.\n\nWhen I try to apply ilp32 series on top of it [1], it causes circular\ndependencies like this one:\n\nIn file included from ./arch/arm64/include/asm/memory.h:30:0,\n from ./arch/arm64/include/asm/thread_info.h:30,\n from ./include/linux/thread_bits.h:20,\n from ./include/linux/thread_info.h:13,\n from ./include/asm-generic/preempt.h:4,\n from ./arch/arm64/include/generated/asm/preempt.h:1,\n from ./include/linux/preempt.h:80,\n from ./include/linux/rcupdate.h:40,\n from ./include/linux/rculist.h:10,\n from ./include/linux/pid.h:4,\n from ./include/linux/sched.h:13,\n from arch/arm64/kernel/asm-offsets.c:21:\n./arch/arm64/include/asm/is_compat.h: In function ‘is_a32_compat_task’:\n./arch/arm64/include/asm/is_compat.h:25:9: error: implicit declaration of function ‘test_thread_flag’ [-Werror=implicit-function-declaration]\n return test_thread_flag(TIF_32BIT);\n ^~~~~~~~~~~~~~~~\n\nThe problem is that asm/memory.h depends on asm/is_compat.h to define\nTASK_SIZE, which in turn requires asm/thread_info.h.\n\nThe most obvious solution for it is to create is_compat.c file and make\nis_*_compat() real functions. The other option is to move THREAD_*\ndefinitions to separated macro. I would prefer 2nd one because of following\nreasons:\n - TASK_SIZE macro is used many times in kernel, including hot paths;\n - asm/memory.h is included widely, as well as asm/thread_info.h, and it's\n better not to make them depend one from another;\n - THREAD_SIZE etc are not memory-related definitions.\n \nIn this patch THREAD_* definitions moved to separated asm/thread_size.h\nheader. It's enough to resolve dependency above.\n\nIf you find this approach useful, I can prepare other patch that moves\nTASK_* definitions from asm/memory.h to new header to remove the dependency\nfrom asm/is_compat.h.\n\nAlso, arch/arm64/kernel/entry.S and arch/arm64/kernel/hibernate-asm.S\n#includes list is cleaned.\n\n[1] https://github.com/norov/linux/tree/ilp32-next (still in progress)\n\nCC: Will Deacon <will.deacon@arm.com>\nCC: Laura Abbott <labbott@redhat.com>\nCc: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nCc: Catalin Marinas <catalin.marinas@arm.com>\nCc: James Morse <james.morse@arm.com>\nSigned-off-by: Yury Norov <ynorov@caviumnetworks.com>\n---\n arch/arm64/include/asm/memory.h | 30 +-------------------\n arch/arm64/include/asm/thread_info.h | 2 +-\n arch/arm64/include/asm/thread_size.h | 53 ++++++++++++++++++++++++++++++++++++\n arch/arm64/kernel/entry.S | 2 +-\n arch/arm64/kernel/hibernate-asm.S | 1 -\n 5 files changed, 56 insertions(+), 32 deletions(-)\n create mode 100644 arch/arm64/include/asm/thread_size.h", "diff": "diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h\nindex 0c3ee6afda5b..bc7ec1930659 100644\n--- a/arch/arm64/include/asm/memory.h\n+++ b/arch/arm64/include/asm/memory.h\n@@ -21,6 +21,7 @@\n #ifndef __ASM_MEMORY_H\n #define __ASM_MEMORY_H\n \n+#include <asm/thread_size.h>\n #include <linux/compiler.h>\n #include <linux/const.h>\n #include <linux/types.h>\n@@ -105,35 +106,6 @@\n #define KASAN_SHADOW_SIZE\t(0)\n #endif\n \n-#define MIN_THREAD_SHIFT\t14\n-\n-/*\n- * VMAP'd stacks are allocated at page granularity, so we must ensure that such\n- * stacks are a multiple of page size.\n- */\n-#if defined(CONFIG_VMAP_STACK) && (MIN_THREAD_SHIFT < PAGE_SHIFT)\n-#define THREAD_SHIFT\t\tPAGE_SHIFT\n-#else\n-#define THREAD_SHIFT\t\tMIN_THREAD_SHIFT\n-#endif\n-\n-#if THREAD_SHIFT >= PAGE_SHIFT\n-#define THREAD_SIZE_ORDER\t(THREAD_SHIFT - PAGE_SHIFT)\n-#endif\n-\n-#define THREAD_SIZE\t\t(UL(1) << THREAD_SHIFT)\n-\n-/*\n- * By aligning VMAP'd stacks to 2 * THREAD_SIZE, we can detect overflow by\n- * checking sp & (1 << THREAD_SHIFT), which we can do cheaply in the entry\n- * assembly.\n- */\n-#ifdef CONFIG_VMAP_STACK\n-#define THREAD_ALIGN\t\t(2 * THREAD_SIZE)\n-#else\n-#define THREAD_ALIGN\t\tTHREAD_SIZE\n-#endif\n-\n #define IRQ_STACK_SIZE\t\tTHREAD_SIZE\n \n #define OVERFLOW_STACK_SIZE\tSZ_4K\ndiff --git a/arch/arm64/include/asm/thread_info.h b/arch/arm64/include/asm/thread_info.h\nindex 5d889c645321..6267ba7bd0e4 100644\n--- a/arch/arm64/include/asm/thread_info.h\n+++ b/arch/arm64/include/asm/thread_info.h\n@@ -27,7 +27,7 @@\n \n struct task_struct;\n \n-#include <asm/memory.h>\n+#include <asm/thread_size.h>\n #include <asm/stack_pointer.h>\n #include <asm/types.h>\n \ndiff --git a/arch/arm64/include/asm/thread_size.h b/arch/arm64/include/asm/thread_size.h\nnew file mode 100644\nindex 000000000000..dd0b8906f9de\n--- /dev/null\n+++ b/arch/arm64/include/asm/thread_size.h\n@@ -0,0 +1,53 @@\n+/*\n+ * This program is free software; you can redistribute it and/or modify\n+ * it under the terms of the GNU General Public License version 2 as\n+ * published by the Free Software Foundation.\n+ *\n+ * This program is distributed in the hope that it will be useful,\n+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\n+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n+ * GNU General Public License for more details.\n+ *\n+ * You should have received a copy of the GNU General Public License\n+ * along with this program. If not, see <http://www.gnu.org/licenses/>.\n+ */\n+\n+#ifndef __ASM_THREAD_SIZE_H\n+#define __ASM_THREAD_SIZE_H\n+\n+#ifdef __KERNEL__\n+\n+#include <asm/page-def.h>\n+#include <linux/const.h>\n+\n+#define MIN_THREAD_SHIFT\t14\n+\n+/*\n+ * VMAP'd stacks are allocated at page granularity, so we must ensure that such\n+ * stacks are a multiple of page size.\n+ */\n+#if defined(CONFIG_VMAP_STACK) && (MIN_THREAD_SHIFT < PAGE_SHIFT)\n+#define THREAD_SHIFT\t\tPAGE_SHIFT\n+#else\n+#define THREAD_SHIFT\t\tMIN_THREAD_SHIFT\n+#endif\n+\n+#if THREAD_SHIFT >= PAGE_SHIFT\n+#define THREAD_SIZE_ORDER\t(THREAD_SHIFT - PAGE_SHIFT)\n+#endif\n+\n+#define THREAD_SIZE\t\t(_AC(1, UL) << THREAD_SHIFT)\n+\n+/*\n+ * By aligning VMAP'd stacks to 2 * THREAD_SIZE, we can detect overflow by\n+ * checking sp & (1 << THREAD_SHIFT), which we can do cheaply in the entry\n+ * assembly.\n+ */\n+#ifdef CONFIG_VMAP_STACK\n+#define THREAD_ALIGN\t\t(2 * THREAD_SIZE)\n+#else\n+#define THREAD_ALIGN\t\tTHREAD_SIZE\n+#endif\n+\n+#endif /* __KERNEL__ */\n+#endif /*__ASM_THREAD_SIZE_H */\ndiff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S\nindex 84b9f1d235ba..43f8ea210bb3 100644\n--- a/arch/arm64/kernel/entry.S\n+++ b/arch/arm64/kernel/entry.S\n@@ -28,7 +28,7 @@\n #include <asm/errno.h>\n #include <asm/esr.h>\n #include <asm/irq.h>\n-#include <asm/memory.h>\n+#include <asm/thread_size.h>\n #include <asm/ptrace.h>\n #include <asm/thread_info.h>\n #include <asm/asm-uaccess.h>\ndiff --git a/arch/arm64/kernel/hibernate-asm.S b/arch/arm64/kernel/hibernate-asm.S\nindex e56d848b6466..46b91702ea26 100644\n--- a/arch/arm64/kernel/hibernate-asm.S\n+++ b/arch/arm64/kernel/hibernate-asm.S\n@@ -22,7 +22,6 @@\n #include <asm/asm-offsets.h>\n #include <asm/assembler.h>\n #include <asm/cputype.h>\n-#include <asm/memory.h>\n #include <asm/page.h>\n #include <asm/virt.h>\n \n", "prefixes": [ "RFC" ] }