From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754335AbdBVIJn (ORCPT ); Wed, 22 Feb 2017 03:09:43 -0500 Received: from mail-ve1eur01on0101.outbound.protection.outlook.com ([104.47.1.101]:46592 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752612AbdBVIJe (ORCPT ); Wed, 22 Feb 2017 03:09:34 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=xemul@virtuozzo.com; Subject: Re: [RFC 1/3] procfs: fdinfo -- Extend information about epoll target files To: Cyrill Gorcunov References: <20170221171254.954209904@openvz.org> <20170221191655.GC27653@uranus> <58AD4147.20801@virtuozzo.com> <20170222075438.GB22938@uranus> CC: Andy Lutomirski , Linux FS Devel , "linux-kernel@vger.kernel.org" , Linux API , Al Viro , Andrew Morton , Andrew Vagin , Michael Kerrisk , Kirill Kolyshkin , Jason Baron , Andrey Vagin From: Pavel Emelyanov Message-ID: <58AD4733.5060304@virtuozzo.com> Date: Wed, 22 Feb 2017 11:09:23 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.8.0 MIME-Version: 1.0 In-Reply-To: <20170222075438.GB22938@uranus> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [109.252.45.10] X-ClientProxiedBy: AM4PR02CA0028.eurprd02.prod.outlook.com (10.165.239.166) To DB6PR0802MB2135.eurprd08.prod.outlook.com (10.172.226.150) X-MS-Office365-Filtering-Correlation-Id: 2d0700ff-ca23-41c5-4137-08d45afa1f7d X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:DB6PR0802MB2135; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0802MB2135;3:nMFEyTh0Oq/RfJcAJpbsAXWMvEUDx4VMewyj9PsaPRcTVynTZItxVvdH+yE9NqfMmXLiuoL7UdcEPHCFlltw0SQee+12/Dk17l5dWhoBa2CjkD9cCZUh1APxzAZmmvF1AgD5pOt9nWWh9qWP+lfOJuh52Haa4JMsJ13OtkUkLOVYBRaIz7QBgN2yNIQHr7g9EXR0Pl5NIo1NrpcLsZgYeWCm2WH5jc3rKYy6xHR2Veo07kwN4JXPbOdTNZMnVX0IECcL5ye+5PTOc2dEphWXTQ==;25:EyyhNoXNM07UbxWhZj+u7tu8Q5UhDxvxs2QGiLYtWOYXlDALb6jDLF6eOux44APY+o/unoHmGclmk6kp/DY3GIWZ24BaXwWH4vUTR2kirPPT/uK3aJIMpi+mg7KvKLQ5dulNqzd9GRc55OvvKE9O3fEYL66NcoCjBOriQe18MPTBzWcP4Psvw8aDE6CAgA9O3prWPZ5r9qOYdmIPkqXte5AbH3BBZXAQm+N6fWWMAGhTPQMRl+xGx/x/ylPwfAUH4EiBfCJ0+FDHAfiBjuMbD3cQSHje4n1FlpNw7cKJTKCi5SyANnoxijM67eFZhwMf2VpXLGLc5MpVbVKRMxyq5dx3mdcu3kFJ14B/5D79f9E3TjyaeXGWgBv2GbVKRAEHRA03IVA79uZFICEhVA6IphqVQpA0ke8SBjGphFZWJh8SXDeM9A634UXHdpPuQ2RkumZ+Ti4Hi0z2YYAxqZpbxg== X-Microsoft-Exchange-Diagnostics: 1;DB6PR0802MB2135;31:3yo7ZxHktot7zhAkY9ZiDpWbCoS6zZJAIt26ITNDFLKL9kwZ7YiUwHnTc4F13RjWSqdDLJfMCr72f5rvFYpxPOPLrHvUgZ/pF2H8mEDZuVzjYvzwti3srMKVYttAP+JMDjuxu3NsVF+eivgf0HPI8EpLgAbkqPljhQfpgTh3SIh9J9Rv257qW7m4+lUqIzdLU1kKMc+gJC5lJApSRuiwmMN52MB7A8+l+vzCabTGrDk=;20:MnfmkLSaWcA9geaiHMwUugknyrwzmSVDEFV1Jj9zJXABszCNk0dQOvXgfVFfu234z9O1z7TkWqPmGxrBscu7wM2MIy0KHTPNrN+0vY+ftotxsHQc8dgbwXCWThji+axYbNxirFDD7MNaE1ppCmAjvjt9IG+MtCHOzbi47e7yWsiYMsHLFyY7ymD0jKcje22fsMqJ3Pe01eC+VHZCt5lvLqg64ZsyouKUwlqaKzWdg9ZZiNzPBLcfR/DAWCXLURHx/TK2CjXaHx/7FXiR1k2Pg1N4PsXDB0q7pnmHd6Im2zIWAj7JMmcyuoOBXCrOnzXULbh5EXR5GMbI33oiVER82GA1v/Q8kYrzOn7yUIrsKD1ZdUuyowqooVlNLnUu4j/oj/g1gH3HUevlHntarrIbUY02j4rTy4OxrNuRNEIUB30= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123560025)(20161123558025)(20161123564025)(20161123562025)(20161123555025)(6072148);SRVR:DB6PR0802MB2135;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0802MB2135; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0802MB2135;4:T98446/N4aofJhNMWRgQS9yio49Bmn3mUW/1/OimZRJT5Vv9unBy9IipRP6zNwy1KmQACi0XTtclLacuycIt03aFPk4zJBu4JFFMboITEXUg7tuIYWReTPS/udjvQegOueXHZddRqU61Dz+caASS1Eq1BsW9bHryKx2S79JNL6ML9aUs9LM+UncSXkTd2bsgDDQtBUKpz/Tmuhyj50+lNQGit34FvBGOWVDjjZigYaX35eFg1Bj3PRPYVdW3JV9qRDHt+mEcrrHQm/7bAXakNXB2vUtEShEGaNzqcGztv6W9XTKVM1kllGPIQsJqr3HKP2SelBtxqYsJc9Wsf47fr+02CdNOmN92RMxJQLwbNvSiBl4cCUFKtLIT8KH+w5OW1xH8wZlZ46hqKQpo0mypCFjk0B3Ega/yGIy4BXmKTpIQEG7UbzEqjaUFNA+XrtQIsYXn/UyFvrbpBod0Jk7I/DR+mujVk3H3njNGgViAhNLQBGg5c509waJMOUCNwWJsXxB5xWOmAWix1XZAbOQH7CgZerGJJxDOnb7ChOGU2NJ4NFwV9vcP9BJTV2/flnEZHB9TKVuV4ttrN8K/kS5R9FjpxBUwpld4dGzKFq53BC0= X-Forefront-PRVS: 022649CC2C X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(39450400003)(199003)(189002)(377454003)(24454002)(7736002)(65816999)(81156014)(76176999)(87266999)(42186005)(50986999)(80316001)(101416001)(4326007)(8676002)(2906002)(81166006)(106356001)(105586002)(33656002)(305945005)(68736007)(230700001)(86362001)(229853002)(4001350100001)(53936002)(50466002)(90366009)(23676002)(6486002)(2950100002)(77096006)(5660300001)(66066001)(3846002)(54356999)(6916009)(6666003)(97736004)(1411001)(25786008)(92566002)(189998001)(53546006)(64126003)(47776003)(6116002)(107886003)(38730400002)(93886004)(110136004)(117156001)(54906002)(83506001)(59896002)(6246003)(36756003)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:DB6PR0802MB2135;H:[192.168.1.67];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtEQjZQUjA4MDJNQjIxMzU7MjM6djhSWjZqSDVkVWFiY3JvanY0Q1BTb1dw?= =?utf-8?B?ejV0QVl6NW90dVRKRWVINFpMTk1xTmlReVVzbHF3ZWpHWm0yUDZmKzZ3M0hN?= =?utf-8?B?TUJzU1Y1UWM5eGgxWGhHcnhMY3Z1U1VmckFML25WaWg1WE1vKy9JaU93eTFG?= =?utf-8?B?YTBydVV1cW9VRlhBNTd0WUROOWwvY3h1ZFkxMDIyTWNhTTRZRG5TeG16STBE?= =?utf-8?B?aUhoODNvcmxSTXlUekV0Y2xpaEhwaTN6L0lBN2pBMTBXOWdQRSsyQXdNMU5G?= =?utf-8?B?Mkd2eDFJUitmNU5hV24vbGF1TWUxbWJUSHdhZ2ZRd0Q4NWIvVmpoVk1YczFP?= =?utf-8?B?ZU8xNDRJOElFSHFoNGE4UFBEaENwWi8wdFp3WngwVmg4Z3dpVnQ1MGljbnNO?= =?utf-8?B?cGxoK2o5cGZnVXhKd2FCN0d4UVZMdmFGb2pVOERCS2VHNVNsTVRrdkgvVGxh?= =?utf-8?B?WlFVeUZQOEFueldzaW8rcGRVcXpLcHJRcGF6Y3NKc2JvN1dFZThydEVvb1Ev?= =?utf-8?B?MHAvSFdwRHpEZjFQcC93NDNTWnkwR3liY0ZzaXRhTzBIbXVkZFVadmdxSkEr?= =?utf-8?B?aFh6VzB0bEVoekF1ajFpYW84TXNQTGdhbnQxcWQwTFVFejlGZjdCVzZyMkpK?= =?utf-8?B?anNwMU1iSS9HRUZKS3crVm1oUW9HdXZCanJUZ01mZDJWZ1BaZVVrcFJoWW5y?= =?utf-8?B?MFFWdFB1aFJoOUlQbTJGdVJ3c1RDM3ZqMTJOYVBmRzZ4bGV2Z00xM0JCT1JT?= =?utf-8?B?c0RLNEZXclJEVmt6WFdHbjRJRUdKTVh2dkZpeFdmdFV6b0Eza3NzNXRIWjl5?= =?utf-8?B?WFJzTmNlZld4a2hsajN1dENHbU81Ym9oRHg3Mk90TytvTjJ2cHZIN29oVUxT?= =?utf-8?B?UVdCeUM3bnYyZEozUHhJRm9Xc0hzMGFKY0d3ZHpwZW9sZE5RTjZMMzRGb2Zn?= =?utf-8?B?WFdKMFVmQWdBTllmR1RVS1d0YzY5aUNRY3laNGNDREZHWVZvdnhFeE9XUHdp?= =?utf-8?B?ckYzTmZnYWVlaC82a2dGVUduemFGQ21jUXpGOVFMZmIwb1ZpcGlGZ3IvSzBy?= =?utf-8?B?aStRK3RpVVNvTWJ4ZlAvem85ZDlZdHBmRUZkK2pPazZNQnh2MjVLWWdWUXZF?= =?utf-8?B?TTJmalBEWkFtTnFGM1JiYUNqQ0ZNV2daU2gyc3dTM2dIaVFyQjhxOHhyTlJ6?= =?utf-8?B?eTMyUEVtUzhiM0tYcE1CaEs1UXEvMDdzcnpVMzh0N3VSK1VJUGNVdGFsbk1F?= =?utf-8?B?a2NIcXQ5eUJRK25xeDR5dGJNYnNWVnE0Ulc4WmphbitWU2Y3K0dHM0JvYUxR?= =?utf-8?B?VnozZlpOc3dpbVl5SnFNd29XenpEOE50elBwRWpaeTRqdU5aMUZLVkt0U21W?= =?utf-8?B?dXIwdEZJVlVZUXdnS3FaVzV2Tk1oRDVuQlZvRUVFZEtTOU1qN0kxenVGOUR4?= =?utf-8?B?NjlwUUxBeGxwdHpWSlJUZ3RtZytRc2VyTUt5ZEdubElaYUJJemhSVmV4Zkt3?= =?utf-8?B?WTE0NklMTmRzUlYreGxkTTNHSjlRbE0zOS9zcDVnd1h4SDkxc1AvQ1VSSHhh?= =?utf-8?B?QUlqNHp3VUJEb3RqaFlZVlVYSVdqR0svbzB0RTVqVlVFd0dqYlRBUjBia0dE?= =?utf-8?B?OGFzTE5rVzhqc2JXMUlQZmtvb3VRMnZhNG8rcVJJVGZtckNYcUVpZ29yRWpq?= =?utf-8?B?OUNVVTQwcVZGMkVHRG5QN0s1WWlDTnhrNXFlekRyRzVCUE9NNW1jYlpQMWxC?= =?utf-8?B?RHpseGhib080a0R5YlpCMDB1emxSeTJkQkE5NHh5bFJMSEZXQlRNUW9VRHNK?= =?utf-8?B?U3ExOFZIV2xuTVlGTHBOdmhNTEpLdFd2Y1BzWEVJWW9MVTJzSUdMaTc1enUr?= =?utf-8?B?VERZZnZSWHBlTUNqR2FZajhNUTA5ekhkVXljVVR4Z3Y2NVVEbUpJaTRERUt4?= =?utf-8?B?NlhhbGtWVlZKaEVhb2lRUElVcDRndENmcERyVVdZalZuYnJtYjNmVGhOTWxn?= =?utf-8?B?YmUrQlBZamh0L3RQeDBxcEQ4RHVWUmNwMXdRTXJSNkJ5cSthbXhiRVFMYklO?= =?utf-8?Q?/CuAeA=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0802MB2135;6:z7++MDkseBl6IqsfoCTHu4xbf/t3etv1QRqBFeWG5LseeXvPgUiacxxjVYh26fs28O3A4HwhaXrRUjU+dH9/isV0rkdYKfuVKFUy4ouNuYDBfOsj5ueUnFBGexWKY4x8FCZGUbL5mCXJ1uY9IqL9E5thIJhJJiuR2Uu/VIfa/aTcpTfU/807AXYn+AY931CzecTzdQXihSfCC89JRmDt2zfC++aNfz2jIhai4EwEvUP1795Mp1LShg5NIttDEd/X38THLK3CprE4X/6J6hRduw9US5zjr1JNOu2nSuCmqSEY7OzYYX70ywZMvp+wZlMiNZnB1/20rQAPUVYg6v/YPZ+5Mj5/GXu8dD810Dtxtt7pULj6Gk3lHeIXTxx+BMlIpq/OGT4X0HYBlBoNVD27BQ==;5:tomXG0HRCea19fLq+gOW07AJyKcASCzVwgaID9uJyEokWFByc8WHmjhqlrG8lrA6uLYxDQWuZw32RhawsctJUEN9Px26Kvt49IVUmrjZecKg1vHcYrJeG8v66mSCP1huQ0+5c1GdISNe20iZ72dU5w==;24:Mpvq/7aPdovL+YbO+EEVlUzoed1Z+Ckp7zEoPsI5+ujayYSQltZaHy2RR3CREiQSJw286gQM0uDuzU605breCN13ZhOz1jCuwPL0HYN7a64= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB6PR0802MB2135;7:ZiWsFH187zmaWSUr5i+oMBn1DsYPj0upYfPrKpM15++dNG8pgoXBwrCdPcGh9Wj616IAXdC7f4+Bt6fAG5D8vCjy4zUleIQWEYgNktwl/UmK7LARjeoK/eJ3Vf2CeQlrRT2cSTfoFGJMlfqI+8WozeNPHE2vujX79PK0RQAmBcayMZQcYweVfKPvGw78/G7WHigRfN/DNbzBE1u36EASOzZo2Q7ocSOIvUijZV1/VYei+7gX/MBZNetHt9E1tedGRrvFo731aUbxCM9XYnCi75hQXLX36iUDU7M9/bMi2d2d11AFCsBQqDBhC+2SVDhmHBUqblLB0lN50uvpfpx4hg==;20:y+VfIVX/2AttU5oqKGp2ZuL5FE6pQgG8n2of0scPDgZesghOGvHd4/xlsQ0aqpTpC/oE5ijvDYtL1wIqZPwOZ5RvF7vcELRAbz7QiIIu1+TryJH6rNs+Z6MKXegDGyc5ChijmQpy/UwLbyRB5CwogqBLaa9cUdfLTIUUIRdVHJY= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Feb 2017 08:09:27.1680 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2135 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/22/2017 10:54 AM, Cyrill Gorcunov wrote: > On Wed, Feb 22, 2017 at 10:44:07AM +0300, Pavel Emelyanov wrote: >> On 02/21/2017 10:16 PM, Cyrill Gorcunov wrote: >>> On Tue, Feb 21, 2017 at 10:41:12AM -0800, Andy Lutomirski wrote: >>>>> Thus lets add file position, inode and device number where >>>>> this target lays. This three fields can be used as a primary >>>>> key for sorting, and together with kcmp help CRIU can find >>>>> out an exact file target (from the whole set of processes >>>>> being checkpointed). >>>> >>>> I have no problem with this, but I'm wondering whether kcmp's ordered >>>> comparisons could also be used for this purpose. >>> >>> Yes it can, but it would increas number of kcmp calls signisicantly. >> >> Actually it shouldn't. If you extend the kcmp argument to accept the >> epollfd:epollslot pair, this would be effectively the same as if you >> had all your epoll-ed files injected into your fdtable with "strange" >> fd numbers. We already have two-level rbtree for this in criu, adding >> extended ("strange") fd to it should be OK. > > Nope. Pavel, I guess you forget how we handle file tree in criu currently. > We call for kcmp only if we have to -- when primary key for two entries > is the same. True, but the latter is an optimization to reduce the number of syscalls. Look, in order to have a primary key you need to do some system call for the fd you check (read from proc or stat the descriptor). But for target files in e-polls you don't make this per-fd syscall to get primary key, just call the kcmp instead. -- Pavel