Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752608AbbGQTJd (ORCPT ); Fri, 17 Jul 2015 15:09:33 -0400 Received: from mail-ig0-f175.google.com ([209.85.213.175]:33602 "EHLO mail-ig0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751702AbbGQTJb (ORCPT ); Fri, 17 Jul 2015 15:09:31 -0400 Message-ID: <55A952DB.9040003@gmail.com> Date: Fri, 17 Jul 2015 15:09:15 -0400 From: Austin S Hemmelgarn User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Oleg Nesterov CC: Benjamin LaHaise , Andrew Morton , Joonsoo Kim , Fengguang Wu , Jeff Moyer , Johannes Weiner , Stephen Rothwell , linux-next@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm-move-mremap-from-file_operations-to-vm_operations_struct-fix References: <20150716231405.GA25147@redhat.com> <20150716162444.26425f5e227387f1166a6d16@linux-foundation.org> <20150716235227.GA26551@redhat.com> <20150717140615.GA2779@kvack.org> <20150717172726.GA30443@redhat.com> <20150717173757.GD2779@kvack.org> <20150717175542.GA31888@redhat.com> <55A94578.5050306@gmail.com> <20150717181940.GA946@redhat.com> <55A94BD2.5040603@gmail.com> <20150717185434.GA2290@redhat.com> In-Reply-To: <20150717185434.GA2290@redhat.com> x-hashcash: 1:21:150717:oleg@redhat.com::576254aee0f1b8d581d4dae8f720478c:ac4cd87d9a90c161 x-hashcash: 1:21:150717:bcrl@kvack.org::35f4b8382ad9974ca79310a666e72b29:deae7e230fbf912d x-hashcash: 1:21:150717:akpm@linux-foundation.org::ec22d60fa864dea16e2a6a7095cf70ed:e4de47ef050d43ff x-hashcash: 1:21:150717:js1304@gmail.com::75d56679ffdc1a5e3aa2b400cbe39355:186e974d8de0043e x-hashcash: 1:21:150717:fengguang.wu@intel.com::29b9b91d7ea1f821ca9dcb97a66acbf8:c76235c606c83ebf x-hashcash: 1:21:150717:jmoyer@redhat.com::f390e42153b1c800805d2e20562cbc5a:8f6ae5d53224a49b x-hashcash: 1:21:150717:hannes@cmpxchg.org::846da96342ed95f83cbc072718e0aa74:3163fe4804e79945 x-hashcash: 1:21:150717:sfr@canb.auug.org.au::ff8741864c0deb9d6e5fd71797cdc8b2:923f6aaef1d1a50a x-hashcash: 1:21:150717:linux-next@vger.kernel.org::a70b99468260703113b082c860fc8c5e:e144e57b0b73564d x-hashcash: 1:21:150717:linux-kernel@vger.kernel.org::e33e4e77261b8ba43c7d421bd7d0f3c3:9027f3c029514e51 x-stampprotocols: hashcash:1:17;mbound:0:10:3000:5000 Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms070505070909040404070403" X-Antivirus: avast! (VPS 150717-0, 2015-07-17), Outbound message X-Antivirus-Status: Clean Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 6996 Lines: 136 This is a cryptographically signed message in MIME format. --------------ms070505070909040404070403 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable On 2015-07-17 14:54, Oleg Nesterov wrote: > On 07/17, Austin S Hemmelgarn wrote: >> >> On 2015-07-17 14:19, Oleg Nesterov wrote: >>> On 07/17, Austin S Hemmelgarn wrote: >>>> >>>> On 2015-07-17 13:55, Oleg Nesterov wrote: >>>>> On 07/17, Benjamin LaHaise wrote: >>>>>> >>>>>> Don't add BUG(). It's the equivalent approach of saying "I think = this code >>>>>> isn't needed, but I'm lazy and not going to remove it properly." >>>>> >>>>> There is another interpretation: I think this code must be never ca= lled, >>>>> if it is actually called we have a serious problem which should be = loudly >>>>> reported. >>>>> >>>> And not compiling it at all _will_ loudly report it, it'll just repo= rt >>>> it during linking instead of at run-time, which is a much better tim= e to >>>> shout about it. >>> >>> And how can we do this? >>> >> If a function that isn't defined (for example, you use a #if block to >> comment it out under certain circumstances), then the link will fail >> rather noisily something references it. > > This is what we are trying to fix. Ah, I misunderstood the intent of the patch, looking at it again this=20 makes perfect sense. > >> We already know during the >> compile that it's a NOMMU kernel, so anything that calls it on a MMU >> enabled kernel can have a compile time check added > > It already has. memory.c is not compiled if NOMMU. > > The problem is aio_ring_vm_ops which references this function. And btw > filemap_fault() too. > > And just in case, I won't mind to add ifdef(CONFIG_MMU) there, I am > waiting for reply from Benjamin. > >> instead of doing the >> check at runtime (or even just calling it without checking), thus even= >> further reducing code size. > > So what exactly do you suggest to fix the problem? Some sort of COMPILE_BUG_ON usage (I think that's the name of the macro=20 that I'm thinking of, not certain though) possibly? My only point is=20 that it's more useful if the function should never be called to find a=20 way to enforce this at build time instead of runtime (even more so for=20 NOMMU systems, they tend (in my experience at least) to be even more of=20 a pain to debug when they crash). I do agree though that a helpful=20 message is much preferred to a link error. --------------ms070505070909040404070403 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGuDCC BrQwggScoAMCAQICAxBuVTANBgkqhkiG9w0BAQ0FADB5MRAwDgYDVQQKEwdSb290IENBMR4w HAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNBIENlcnQgU2lnbmlu ZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRAY2FjZXJ0Lm9yZzAeFw0xNTAz MjUxOTM0MzhaFw0xNTA5MjExOTM0MzhaMGMxGDAWBgNVBAMTD0NBY2VydCBXb1QgVXNlcjEj MCEGCSqGSIb3DQEJARYUYWhmZXJyb2luN0BnbWFpbC5jb20xIjAgBgkqhkiG9w0BCQEWE2Fo ZW1tZWxnQG9oaW9ndC5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCdD/zW 2rRAFCLnDfXpWxU1+ODqRVUgzHvrRO7ADUxRo1CBDc3JSX5TIW2OGmQ3DAKGOACp8Z0sgxMc B05tzAZ/M7m4jajVrwwdVCdrwVGxTdAai7Kwg4ZCVfyMVhcwo8R2eW3QahBx34G0RKumK9sZ ZQSQ+zULAzpY6uz7T1sAk/erMoivRXF6u8WvOsLkOD1F/Xyv1ZccSUG5YeDgZgc0nZUBvyIp zXSHjgWerFkrxEM3y2z/Ff3eL1sgGYecV/I1F+I5S01V7Kclt/qRW10c/4JEGRcI1FmrJBPu BtMYPbg/3Y9LZROYN+mVIFxZxOfrmjfFZ96xt/TaMXo8vcEKtWcNEjhGBjEbfMUEm4aq8ygQ 4MuEcpJc8DJCHBkg2KBk13DkbU2qNepTD6Uip1C+g+KMr0nd6KOJqSH27ZuNY4xqV4hIxFHp ex0zY7mq6fV2o6sKBGQzRdI20FDYmNjsLJwjH6qJ8laxFphZnPRpBThmu0AjuBWE72GnI1oA aO+bs92MQGJernt7hByCnDO82W/ykbVz+Ge3Sax8NY0m2Xdvp6WFDY/PjD9CdaJ9nwQGsUSa N54lrZ2qMTeCI9Vauwf6U69BA42xgk65VvxvTNqji+tZ4aZbarZ7el2/QDHOb/rRwlCFplS/ z4l1f1nOrE6bnDl5RBJyW3zi74P6GwIDAQABo4IBWTCCAVUwDAYDVR0TAQH/BAIwADBWBglg hkgBhvhCAQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg b3ZlciB0byBodHRwOi8vd3d3LkNBY2VydC5vcmcwDgYDVR0PAQH/BAQDAgOoMEAGA1UdJQQ5 MDcGCCsGAQUFBwMEBggrBgEFBQcDAgYKKwYBBAGCNwoDBAYKKwYBBAGCNwoDAwYJYIZIAYb4 QgQBMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AuY2FjZXJ0Lm9y ZzAxBgNVHR8EKjAoMCagJKAihiBodHRwOi8vY3JsLmNhY2VydC5vcmcvcmV2b2tlLmNybDA0 BgNVHREELTArgRRhaGZlcnJvaW43QGdtYWlsLmNvbYETYWhlbW1lbGdAb2hpb2d0LmNvbTAN BgkqhkiG9w0BAQ0FAAOCAgEAGvl7xb42JMRH5D/vCIDYvFY3dR2FPd5kmOqpKU/fvQ8ovmJa p5N/FDrsCL+YdslxPY+AAn78PYmL5pFHTdRadT++07DPIMtQyy2qd+XRmz6zP8Il7vGcEDmO WmMLYMq4xV9s/N7t7JJp6ftdIYUcoTVChUgilDaRWMLidtslCdRsBVfUjPb1bF5Ua31diKDP e0M9/e2CU36rbcTtiNCXhptMigzuL3zJXUf2B9jyUV8pnqNEQH36fqJ7YTBLcpq3aYa2XbAH Hgx9GehJBIqwspDmhPCFZ/QmqUXCkt+XfvinQ2NzKR6P3+OdYbwqzVX8BdMeojh7Ig8x/nIx mQ+/ufstL1ZYp0bg13fyK/hPYSIBpayaC76vzWovkIm70DIDRIFLi20p/qTd7rfDYy831Hjm +lDdCECF9bIXEWFk33kA97dgQIMbf5chEmlFg8S0e4iw7LMjvRqMX3eCD8GJ2+oqyZUwzZxy S0Mx+rBld5rrN7LsXwZ671HsGqNeYbYeU25e7t7/Gcc6Bd/kPfA+adEuUGFcvUKH3trDYqNq 6mOkAd8WO/mQadlc3ztS++XDMhmIpfBre9MPAr6usqf+wc+R8Nk9KLK39kEgrqVfzc/fgf8L MaD4rHnusdg4gca6Yi+kNrm99anw7SwaBrBvULYBp7ixNRUhaYiNW4YjTrYxggShMIIEnQIB ATCBgDB5MRAwDgYDVQQKEwdSb290IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5v cmcxIjAgBgNVBAMTGUNBIENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEW EnN1cHBvcnRAY2FjZXJ0Lm9yZwIDEG5VMAkGBSsOAwIaBQCgggH1MBgGCSqGSIb3DQEJAzEL BgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE1MDcxNzE5MDkxNVowIwYJKoZIhvcNAQkE MRYEFB2QRVrqZtRLRzY9DFZzfnSU1WCeMGwGCSqGSIb3DQEJDzFfMF0wCwYJYIZIAWUDBAEq MAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwIC AUAwBwYFKw4DAgcwDQYIKoZIhvcNAwICASgwgZEGCSsGAQQBgjcQBDGBgzCBgDB5MRAwDgYD VQQKEwdSb290IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMT GUNBIENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRAY2Fj ZXJ0Lm9yZwIDEG5VMIGTBgsqhkiG9w0BCRACCzGBg6CBgDB5MRAwDgYDVQQKEwdSb290IENB MR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNBIENlcnQgU2ln bmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRAY2FjZXJ0Lm9yZwIDEG5V MA0GCSqGSIb3DQEBAQUABIICACCfj34fqnme0ALq9zw8nR9LPi+Wkh5qUIFTROuH73K2p1Ey BurAzzhoJ1F5QyxcVVPZca6rS2MG0he5Xtt3EURYkFd9ht4WdfoSWsHvgUSN9E0Z2j5jBxn0 dTidPy7wO79RAhM2pNtYrsIyXAADQ/leEdnZnOBJrZPom6hoichWeHYLWA1nMrK8W0BN5fdh UAyEk+9WdtSWN8u+NNcLqtrrxzbO7/Jb5NAKcnsyWkWZ6QWrlhpD63cRNdfqlolcWQclEcl1 DCx/EMJv6jTAqT2h+UnrM4tQHld3ynS1Dth9iqszQY2G+cv9CjqNvXt3miJFfzng2YwAg61Q JfHqYNw288bTEuZfC8badl83LD0IUhtk48ZbhijxBUr8aTZqeuTo3+oshznFo9VPfVFfyI1n 2TuAupG8HE0OhiMCDSaZmO2Nt6lrbtLnGGnvNCG5ydSnP9aWBplwMEef4iqZezAhW6GZv9ZY MW2JTdMqLWTOlgjbCy6jJVj/4GAeQZPmAs4wj/ND2EYwZAzLVea7EHuqjDNB+eYK4alRsdkl udl4WsqWzc2zzYUz0uBuhfwQ1S4WeuzEhF0FNpOPG5Mnk+jg+kW5/W2BU8R+y+Rqjg1eta3c hOUUEh8lS8LkbFIRR1kT1m0U+LU131E9qS6a98jBmrvuYAURj+OVvPj5GQ7JAAAAAAAA --------------ms070505070909040404070403-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/