From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752065AbdJOHuk (ORCPT ); Sun, 15 Oct 2017 03:50:40 -0400 Received: from mail-eopbgr10084.outbound.protection.outlook.com ([40.107.1.84]:56090 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751950AbdJOHuh (ORCPT ); Sun, 15 Oct 2017 03:50:37 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=sguy@mellanox.com; Subject: Re: [RFC PATCH 3/3] mm/map_contig: Add mmap(MAP_CONTIG) support To: Michal Hocko , Christopher Lameter Cc: Mike Kravetz , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, Marek Szyprowski , Michal Nazarewicz , "Aneesh Kumar K . V" , Joonsoo Kim , Anshuman Khandual , Laura Abbott , Vlastimil Babka References: <20171012014611.18725-1-mike.kravetz@oracle.com> <20171012014611.18725-4-mike.kravetz@oracle.com> <20171012143756.p5bv4zx476qkmqhh@dhcp22.suse.cz> <20171013084054.me3kxhgbxzgm2lpr@dhcp22.suse.cz> <20171013152801.nbpk6nluotgbmfrs@dhcp22.suse.cz> <20171013154747.2jv7rtfqyyagiodn@dhcp22.suse.cz> <20171013161736.htumyr4cskfrjq64@dhcp22.suse.cz> From: Guy Shattah Message-ID: <752b49eb-55c6-5a34-ab41-6e91dd93ea70@mellanox.com> Date: Sun, 15 Oct 2017 10:50:29 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171013161736.htumyr4cskfrjq64@dhcp22.suse.cz> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [193.47.165.251] X-ClientProxiedBy: AM5PR0701CA0015.eurprd07.prod.outlook.com (2603:10a6:203:51::25) To AM6PR0502MB3784.eurprd05.prod.outlook.com (2603:10a6:209:a::25) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f3b3f96c-77dc-4b7b-d430-08d513a16a7e X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:AM6PR0502MB3784; X-Microsoft-Exchange-Diagnostics: 1;AM6PR0502MB3784;3:l4kDDOzwdSswC6DD7QObpO1iuZMxIrSpfvimz9ukVB79KO473xkF0e8Je3gqxgZ/vvLvS/+cQw0SxjgSxvvQAWU5t35GVhz16Z+D+54BlEbFtJQy9hd5o/lLVXucWz19ydjOdRIO6+FwhQslM1UYsmk64ZsW5R//M3pnge1s+dcGrHJfYYQGU0VMG6aOT0d4l6ykFKq0jwEV7BAeCKUnZyX3FFXsVlF1cOIKOqUshmyRu1nZFl6kUj6FCtuah5+3;25:yfjbz8rFEg1MFroeK91N9oo8dymYqCmbnyTMQ0RS1vJPMeWGFEHg/Gn+nDiguAud67zUVnwpfGe1JCAsrRq+Ibn/HatF6KINsyIVxlR2pQ9GwegyWsm5XGPNHmimXoYUFmlnGjyBVxbpmFPiWqP3C0SrBt7g55+XKAdzU0jyxyAWE7hY2d5jW6oTAeUD+4JQxmpqq7sRYDy+iXSOnK8UAmPihvIWPY5Y+nJcVPRyxTT4dL/6OEtv97bGaxAbyNbHITDqG2f84hooZNauocub0PIshZq7iUEU7WwY4OdHjrvWrYpvzdXs+Ui7aO7UJw1WkI9VPLF6Qt8wVAv40wY1uw==;31:WoBxDv5TpkwmZ49zFvgS+s8hFb+8qhby/VyQO8mTPfz86kpPCA+UTwRBQSqzBC4oHzLZP2m9AhUYNlnJQ/1EKsVOHa5PpdykJTzDTytM/q9ud1pKyqKJX2rz63XPAHbiow/uvCBMvqNpfkMMwPN0n9U09+YmsXgp3o1WODWvDyo5eQA/OrHJQVjEir4cj8qF3yDie5FzCesOYYRjAHsKC+4JuJIOGQXl3M80xKBZFpg= X-MS-TrafficTypeDiagnostic: AM6PR0502MB3784: X-Microsoft-Exchange-Diagnostics: 1;AM6PR0502MB3784;20:ZlNxbsDto1/8PWd37Il/FvQtuooUgmhbWBE+FLr+bR2XvJmPZvlmNLhTRcY1mPdeJ6qzHQT6c61rbdRrQeaAlv6vHCmbhTgQWyJQGeAk8WIMBpUA6Kj5JHfUqrAzu/rpUOFSj37msfmwEW0F7llMdchVVnaGTX8Jg9tcZJ9Db4IZTVkBP04qoHqg4Aka0MX1Nz5Bg+pJmBMFIP+FVXxolz8IlC15niOWgOMplkiE9SM/DS+SQXNdf7uTB6cJGHVz7f25I9Ivhq9vji4K6WYobl8H2r1AxK95zQHbhSWGPc5lZl0bpWOJu5atYt05DN/+wnavMU/qshaLN6TwuXxLM8W90Znsuh0qxDas7+YfyOT2ZsTGK/WvNpmTri2TXl+i2IcBp3vWKtbo83umbZbaOLHJTvO6EqcyDHYqw8HGog5zSMmCCWxnEs/CnWuHw+N8A7xd8fAPNF3+JpsYEKUHTIUcc7Bp4MPPvMobJrtz+98AhUfsD2Sifbl54Xm/JHb5;4:/ehGGTqQcgWZdRPPp4IdofQ1rC8jh3eWqfBJXy9lB0PlEhiDnnXlILUHgUBpdArwH6VaBkhecDonz9IZ7PT/SAlBUSUpKYWxgb4LQmjmu82rT2YKhCAX3VD+lO5kRMJ8c7d9U4FzVT/TU/Dq1glDKAVnNTbE50KqwuJxb5XtskZlk3dp74+kxfoW6vwhzFqloPjB3cfy1IKcoib/hcANQTFS+mGfBG9Wg4enCs1RNmKVUG9T/io/cdZmswJ3z/nF X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(100000703101)(100105400095)(10201501046)(3002001)(93006095)(93001095)(6055026)(6041248)(20161123562025)(20161123558100)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:AM6PR0502MB3784;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:AM6PR0502MB3784; X-Forefront-PRVS: 046164D5C4 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(6009001)(346002)(39860400002)(376002)(199003)(24454002)(189002)(377424004)(33646002)(97736004)(105586002)(50986999)(86362001)(76176999)(68736007)(106356001)(54906003)(316002)(54356999)(16576012)(58126008)(50466002)(110136005)(101416001)(31696002)(64126003)(31686004)(2906002)(478600001)(23676002)(16526018)(25786009)(3260700006)(93886005)(6116002)(3846002)(8936002)(230700001)(2950100002)(7736002)(305945005)(81156014)(8676002)(81166006)(65826007)(4326008)(5660300001)(53936002)(7416002)(6246003)(6666003)(77096006)(83506001)(65806001)(6486002)(36756003)(65956001)(66066001)(53546010)(189998001)(229853002)(47776003)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR0502MB3784;H:[10.223.3.26];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTZQUjA1MDJNQjM3ODQ7MjM6NjBzYmlQRkdiRTAvS1ZhNDQwZWFhY0k2?= =?utf-8?B?WlIvZ2tNMWRmL2JpYUZWMWV3L0pRbFRVYVlhS3RKZ2ZNeFd4bnJHMzk4K0tC?= =?utf-8?B?aE5LVzZHRjlhK3k5OWhJSGEvT1BlS21BTU1FZVhXNkhqb1dlUzhzem9mTWNT?= =?utf-8?B?ZnIyV1RDUmhrV3NvN1pGbXlybHJlb0p1Y0wwM1hQcmlaM1JWZWh1bFdHeVFj?= =?utf-8?B?Rkp2Y3NTZ2pndEt5dEo3WHJmT0NCNUZDVTYwVDBMdUsyYzNRUndMUVhGNDZa?= =?utf-8?B?QlFzaElqanRCZzhobkN2SHFvOHVxTmEvNFpscUdCTjZSai9PZk04bXJod1Ns?= =?utf-8?B?emk3OEpBa1gvcWU3d1F2VGhYclk1UkJNMWZ2RHBneUdRZ0pPUVlob3grWGZF?= =?utf-8?B?VE5SZ2xFV282UFhDTkppZTlCMnFoR2Y3NnpHcmMrd1lobmRjWmt4RTdEcEVk?= =?utf-8?B?ME93aTdBd3hzNG0wL3hrTHZGNlRwVGJKUEVzL2RLdzRzQy9RZ3VsSDBnWWsy?= =?utf-8?B?YlZVanB4VjRRb1VzNlk4UUxNbjNVQm8rcnJiMVRiUGtVM2dEOUd1WW1NL3Vh?= =?utf-8?B?Mzhza0pubzBlSGdBM1g2QTR3S1FqNEo4VGNmRUtkdm5Xd0dpbjFGKzJ3S0V2?= =?utf-8?B?UnJBaUZzZ1hueGZHcVowUWEwVnlNTzZmTWJlbTZmS096S1RpQS9tSEJCRENp?= =?utf-8?B?cGI1RG84SVFkS2Z0KzFkRXVmd28xblZMR1gwZ1krdFd1T1E5RVhlaXBYOWtY?= =?utf-8?B?ZGlkcEVDQmlXKythWUpnTE1tNyswVVYzUFIrTTJGV1hja2c4SXZTN1FtVkNE?= =?utf-8?B?b1gxeENuV2l3bWZtYTg5Q2FCWkZJbkJ5U2duMUlqUDJ6UXQ4RkRzUVo2cnVL?= =?utf-8?B?RlF1Lzl3akttZmZYZUhTK3Fhc0x3MzBDOXdWTnNLL3hpazMrQVJDV1lQeFAr?= =?utf-8?B?NVRneUlGc0gwZzFQVGp4cHBNam0rMTVtdGg5TFlpU1J5SG56bk1RYUlVOWVv?= =?utf-8?B?TUcrV2YrOStOM21hOUpyc09taFBic2ViWjhVREVVc1Y4ZGtPejdKK2FBMW9j?= =?utf-8?B?MUNxSFRQOVZqZW5kODVHWnVhWlRnMWZBbFUwMUZUN29STEZkR1E5a1ZmOXhr?= =?utf-8?B?aTBXSUowcnlVcnVwWTlLbDFGTkY4R3JzS3ZPeG8wZHNzR0c1R1dyR3BGbitK?= =?utf-8?B?SnVpTHJQYTdmUWN3Z1ZkNUl6L2NNR2dBWWZlYjVsTEViMFR1aWlFdXg5Wm9M?= =?utf-8?B?aVRFdDAzY3pJN0lLUmthc2g3dEZKaG5zaGNoRGZHcVVRa0VkYTh4RnNDMFh2?= =?utf-8?B?R2xHRktwMnZ5Sk9EQi9QcHdLSkNGYnZLVGJBSUlJY3o0a2dGWENjVTRQM05V?= =?utf-8?B?VW1POHZJYjNxZThGblkvZ1VwS043VkJ3OENjMVVlWXdpaldjRFZNdHpMY1R0?= =?utf-8?B?Qk9XU3lHT2hpSUU2NFFrK0RKOVBoR245VFFXZS9sSHFKTXVNOWZZZlduS0JL?= =?utf-8?B?WWRaWDg5dk9RYVFJeXhtOFdTSnF4K0ovbHNGeGRmek53R3h3dUt2MzY2TCtq?= =?utf-8?B?YmJheERiS2tXekVaSTJUOVdKTzlyUzU5TUNpWnQzL3liTnU0NzlNN0NGWWN2?= =?utf-8?B?dGVMRkg4QVBMTmxsUS9SZkpyUmJTMkR1RFZRYmk0MnVDSFg0enFlSk9PZjNs?= =?utf-8?B?OS9HbHFoQUMya0ljSTR0ZFYrelpWd0hoSU1zUXE0QjF5aHJoQnBtNFBNVXhW?= =?utf-8?B?T2hjVC84NFNpSSttM01reHppOEtURHpDSjZJRjc1Q1pjZFVvaTd3V2ptc1du?= =?utf-8?B?clM1QmJ1RGpWeTB0Tm1qMUpoTVRhL2FVQVR6Yzl5d0tlR1MyY0M3SFZNcEg4?= =?utf-8?B?SlhEMUFjQVdZTDdybDY4WlJPSFI5QUNQa1dvQVZGUVF0Rmd3a1ZGTUlFNWYr?= =?utf-8?B?WXZRU1VVaGRnVUpCb3dXTHFIU3U4MEFEUHBWWlJpMGdxSWZsdFU2MmFaQk9D?= =?utf-8?Q?aDQUeZ39?= X-Microsoft-Exchange-Diagnostics: 1;AM6PR0502MB3784;6:+uSwULdqEtj9SfvdyMtu/QXUH29F0TfONa570vJPf7Jm84wtcLjw+uEECY/lG8nrA9ZGTZJ86+XoO5FHipVGLkh+vD5xvhg1OxNNDlJNXv1n49pvNBjp3xVvT/+TDFZOxgcCkSgFJTxUCUDkY2ACCkhwz2SP6p3wg87TK01X5AHDEXyQGb1XwwIYHevpsOBQPTKpnanPBZs46EqBLlqUD0kw11AH+cGisbEsklzZ0tUrw7m+1i8Mp1xujEuC77CUwEfT58MPaz2aQkHJSxzxpg7iosaWTAXYkKe0oXW71WssVp995QdGOTyXcBpmnytlXOt0UppI3N10kTPvYL7J+w==;5:wD+pIW/xG1vG5617hxhYQcyjtxI+LL2LaDsks5/Z2lvcyJloWFW33CG0gIkqL1OO8wd3XZwI6Tglv2LG6t7kXvPCgonJOgKJnLDl1HNjCCxnVfJluJ2/msxX+w+fspkYUhpeu0Ark0QKH3GV7ojBXA==;24:ucdMvlSoMFaV37zexjVByY1BDay6z0kBNiUchyBVgGiaFYAH3fsy9BqEBoVm8Eh4lejRmYumWXrgLN8NBLUTQxc2eNu3JcpVHWOYuNmWbKk=;7:U5rqhgKQZERSlSr/0VFiHF2n1ltOlSU9nim2su6xdsW4Uf/E6HvMKSbde+xh9sqJO5KyFCID4P6VKt4kcG74uWU9PJReCiD3cLyWaRv99+AEw91221tLJ46+4UuQkn24ZgNPZvQS8CadejQXMT+Ta6zxxBT7EowB0Um7FFhnBeJ/pwSEXvXnQN13KbbUO0ndhugqCK7iSKdw6tZQydMb1rOyWKKMZ4tBzs6U/6E+DHc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2017 07:50:32.8746 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0502MB3784 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 13/10/2017 19:17, Michal Hocko wrote: > On Fri 13-10-17 10:56:13, Cristopher Lameter wrote: >> On Fri, 13 Oct 2017, Michal Hocko wrote: >> >>>> There is a generic posix interface that could we used for a variety of >>>> specific hardware dependent use cases. >>> Yes you wrote that already and my counter argument was that this generic >>> posix interface shouldn't bypass virtual memory abstraction. >> It does do that? In what way? > availability of the virtual address space depends on the availability of > the same sized contiguous physical memory range. That sounds like the > abstraction is gone to large part to me. In what way? userspace users will still be working with virtual memory. > >>>> There are numerous RDMA devices that would all need the mmap >>>> implementation. And this covers only the needs of one subsystem. There are >>>> other use cases. >>> That doesn't prevent providing a library function which could be reused >>> by all those drivers. Nothing really too much different from >>> remap_pfn_range. >> And then in all the other use cases as well. It would be much easier if >> mmap could give you the memory you need instead of havig numerous drivers >> improvise on their own. This is in particular also useful >> for numerous embedded use cases where you need contiguous memory. > But a generic implementation would have to deal with many issues as > already mentioned. If you make this driver specific you can have access > control based on fd etc... I really fail to see how this is any > different from remap_pfn_range. Why have several driver specific implementation if you can generalize the idea and implement an already existing POSIX standard? -- Guy