Received: by 10.192.165.156 with SMTP id m28csp1333227imm; Wed, 18 Apr 2018 08:04:43 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+KwMc9M9OIR+R3Rc/u+Jbft9o/brRV2G3Q295RqLL5Sxd/kH1DsqH8C6X7YSWQI+OYwXjp X-Received: by 10.98.153.204 with SMTP id t73mr2297032pfk.121.1524063883814; Wed, 18 Apr 2018 08:04:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524063883; cv=none; d=google.com; s=arc-20160816; b=H5n4fMphi4uSKI2lpOs+iUuoqYSpp5e31d30DA/8U7dkjjV9zCEwDy3qYEQz7VrV4V 5P1FnU75drudrDaJfSW/ISq1q/xiAqMQaJolshz3WY8vDFpRpfWkWszOwJ7SeJOBZnq2 rTkINXoSoS+PGIp0+TBFyCXcpNuAXW74afuBFOpA+8pOe/w0cyVsMVkFTHHRt5yIX5OO AgVJBpZlzVVWjR6tacRWNGMx0AAo3vnUnZH88AcCmM+7itMhUT5MZefxZWkVN6tiQcQm ZCBWLhLrljo0DpTpAO69+asxZfSnELheb5CIkeDw3/McP5RUf3S41WWorjcjcn/Ksb+m r23w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:spamdiagnosticmetadata :spamdiagnosticoutput:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature:arc-authentication-results; bh=GXbxa+GddlsCPzaKUYunPkHEt6ttFSzK2DK5Cg+L+qk=; b=0g3apDxhvmT8S1q4LD2uYR4OPHyMTnO31uueThw/rFD2D9+Kqa9mv+ogj8LVyElEU3 jQlv85UE+FQH6dIw/EWm0KBasUMP+ohP0dU54uplMI7RHn7wdLEffxYbQ0/nhvkmlccj v8zdmhdn8LP6+tuVWt73LpvC34pNB49r4gDKvDuS086vNwwvJdMwVV9qxs5ncFMnHkwL CHjM2tPIfelE86Yy0bfNvMF6jWiaoGT8UzC5vmTidmfCtJr4f5vOu+s8AOpNlkrsPrha aPDxDtGJmEGtA6QVOz5ZWNyJVJcj7dnZj0Icdko0fwx6xmbpvO5qT2LzLXckol3JsPvg pEkw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector1 header.b=HfG7eNT3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z188si1278132pfz.336.2018.04.18.08.04.13; Wed, 18 Apr 2018 08:04:43 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector1 header.b=HfG7eNT3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753223AbeDRPCi (ORCPT + 99 others); Wed, 18 Apr 2018 11:02:38 -0400 Received: from mail-ve1eur01on0091.outbound.protection.outlook.com ([104.47.1.91]:64384 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753178AbeDRPCf (ORCPT ); Wed, 18 Apr 2018 11:02:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=GXbxa+GddlsCPzaKUYunPkHEt6ttFSzK2DK5Cg+L+qk=; b=HfG7eNT3g/QwvFfZ4AAHjmCwpVNesKLQYFlvp/dlqexRrlYkVFfSqefdCaXlDNU7z+o3cTz1qKeSAFgIbPX7TetKZ1A8M2P/qmZmB+j2Bjm7nhHWe3ek3JKvHm2C5UTqNI6Pt8YVZZJ2oE4j8GAbfAtB4r5Hs7mMdvSQy4P50OI= Authentication-Results: virtuozzo.com; dkim=none (message not signed) header.d=none;virtuozzo.com; dmarc=none action=none header.from=virtuozzo.com; Received: from [172.16.25.5] (195.214.232.6) by AM5PR0801MB1330.eurprd08.prod.outlook.com (2603:10a6:203:1f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.696.12; Wed, 18 Apr 2018 15:02:29 +0000 Subject: Re: [PATCH v2 01/12] mm: Assign id to every memcg-aware shrinker To: Tetsuo Handa , willy@infradead.org, wei.w.wang@intel.com Cc: akpm@linux-foundation.org, vdavydov.dev@gmail.com, shakeelb@google.com, viro@zeniv.linux.org.uk, hannes@cmpxchg.org, mhocko@kernel.org, tglx@linutronix.de, pombredanne@nexb.com, stummala@codeaurora.org, gregkh@linuxfoundation.org, sfr@canb.auug.org.au, guro@fb.com, mka@chromium.org, chris@chris-wilson.co.uk, longman@redhat.com, minchan@kernel.org, hillf.zj@alibaba-inc.com, ying.huang@intel.com, mgorman@techsingularity.net, jbacik@fb.com, linux@roeck-us.net, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lirongqing@baidu.com, aryabinin@virtuozzo.com References: <152397794111.3456.1281420602140818725.stgit@localhost.localdomain> <152399118252.3456.17590357803686895373.stgit@localhost.localdomain> <201804182314.IIG86990.MFVJSFQLFOtHOO@I-love.SAKURA.ne.jp> <201804182332.FAC65178.FLVJFMSOtHOFQO@I-love.SAKURA.ne.jp> From: Kirill Tkhai Message-ID: <3a9fe2e8-284a-3d0a-8e75-617e9803e02c@virtuozzo.com> Date: Wed, 18 Apr 2018 18:02:26 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <201804182332.FAC65178.FLVJFMSOtHOFQO@I-love.SAKURA.ne.jp> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0902CA0052.eurprd09.prod.outlook.com (2603:10a6:7:15::41) To AM5PR0801MB1330.eurprd08.prod.outlook.com (2603:10a6:203:1f::8) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(2017052603328)(7153060)(7193020);SRVR:AM5PR0801MB1330; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB1330;3:YoNrbMSjJsomvPJNbZ1iaYTICjEGTM3U9rE+99uhVuNB3mkTPfB6/HT5TuLnD1rHEkPi2Joj/bWQNbABuQsdenJQIXo59I9393iXjOGhe7MfXNnui5FTI4InPWOUgnWMDdWGs0V7bQOej7/4CoMAz5ekHJ0s8ISungGzraOGh/GFvNdS31aHzJL/PgcrRMA2serU1OVE1maxtEy1qfXxMcW2DGTJGEfAD3ynCnhf9FjpQF3ikIDAIqmLtrN3rNoH;25:1cJ1XQI6o+/ESfI3vDx+5nlzdwpPdZMK4VsLDMkYO/YHVGt07XRtpQcfrNRRSJLp08g4C3DGL45XvNQECBacxuf8NncWMHbLaFXKsaJ2RS2fZX8IZULmtKNivmOPmnVlurTnek7Au5gkOwL/MCImRyywqZv4UKUYsUHrkQ+3/ICToia1n1m3m9HCQeSh2l1h4avhfYqSu42SzOvuWqnit7ZY39R5ovwrlqKHxa2FxEbMqtugWwhlTcQF2CwdNfnIvupCp0DdNhYdf1mwwOeblsBgmSaUuj8CHDHn8HkBGASbaD/bcLB9Q/YxkUU0e7ma7M5nARKbBvzMvxBfNep7UA==;31:HtoUbPbRx64Eo2LnXV4J8eVegn3LN3m8IMaWsRo0pvn9McUvArqdILtRFJ7L2nC9UwRNGPwi2DOEj3b+NTgS8RUa4qKN6MHltPyEXDJVkEnJ0hIsdrS3oatKexKKVc5tTgk01jL2qRG0gU7X098534+/DX6DUkCfRdzpD10mzykwZ8Z4eqqC34eSHEVNsuExn1oyPgwU+OyBQL+pxv/SdCvQL//sUMRjrVBGNjsqp28= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1330: X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB1330;20:uIgby55CwEdbt7KtxuwDYGGzE+qcfHemOptxKiyNch9+ug+N6gD1D9HjwVZkARGWhVmKpz0lNsIL5pv83cnQOrbqQ9UcgpGcZlUvkY8XBtgPSHZH7by3aa/qt5k6zGPaKJ0LEHQC9mKGZz4ecbGBxQAj/stoc+3ui1YC3Xdo8PSe5yY9WYQ07scDXF/nVky5QYeU6UN8mEBevDTaKxKhtpRqNMdKcr3vzhWUWSVtiSZuYUrHWmKNaoxfgYbzqfR7YZdU2KrydccpdDr5D+O0Da4gcIZBj8+iD0dkPjFjVr4stYfSGzAKOgxVsY6fGhsKM07bNXMKNbs0XjcQliPgq8HwFSvH6XA019SvDwEFEbx9zqZkUCY93W2cQNgcv78yOfJyiObunbh+MdRWjqgAQWFEhSKaiVWzzrtvpGFT2vSzZKFEw7oniwe+X3B9Hho9Vx/tJBYl1HhhPdeXHSshQKboKKyBN4KnDFpEc2ym3a3BFBu7HajyzM7dHZQtMg0M;4:FrHM7ylRi8P4L1MAUmB6KTi1dd0q/8bSQuVGHXFjY99HLQXHdT/fmq09AnU5AcqBTmzwDJtg3UsKepjxC9HKD34VDd/WTAsVxt0tUhNYSNQFk0HY2w5CxQ47FNxrI6Bh7U5oz85NoW0GXWl3tY6O0XhCZUOifij0Vn33oMvENtbkigMlqBcu8F/oIFCrxPsjvd/xZhHqvX5ZC0WQay+6RiYuBIRSUscbCI+X17kx+z8E/+8gCboPg2t9W75VLxqsLkiJYbcXP6kxyzdscQONGQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231232)(944501327)(52105095)(3002001)(10201501046)(6041310)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(6072148)(201708071742011);SRVR:AM5PR0801MB1330;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0801MB1330; X-Forefront-PRVS: 06469BCC91 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6049001)(396003)(39850400004)(39380400002)(376002)(346002)(366004)(65956001)(66066001)(25786009)(47776003)(478600001)(81166006)(8676002)(966005)(31686004)(106356001)(36756003)(64126003)(50466002)(6306002)(65806001)(8936002)(39060400002)(107886003)(6246003)(53936002)(31696002)(6666003)(5660300001)(86362001)(65826007)(77096007)(16576012)(7416002)(16526019)(305945005)(4326008)(52146003)(23676004)(26005)(7736002)(956004)(52116002)(476003)(58126008)(2906002)(76176011)(229853002)(446003)(53546011)(2616005)(93886005)(3846002)(316002)(2486003)(6116002)(6486002)(11346002)(386003)(230700001)(68736007);DIR:OUT;SFP:1102;SCL:1;SRVR:AM5PR0801MB1330;H:[172.16.25.5];FPR:;SPF:None;LANG:en;MLV:ovrnspm;PTR:InfoNoRecords; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTVQUjA4MDFNQjEzMzA7MjM6Q1pLdWVnUDNuSUduUlBJNGVyNXNuaml4?= =?utf-8?B?KzAxZyt3aXZkL29XakZ6NFpmTFBFK0I2bDRieDVKaGtKYTlsSXYxSk9ZSjNW?= =?utf-8?B?Zyt0c09Bek5VaUdjUC9rUkFGTThEekFHbzVCY3Q0RWVTcVpJYTdtaHU3RjZE?= =?utf-8?B?Vkk5TFRFL29tUU9XdDlhd3ZES0F1cGcwTE5jNG93dTJZblpKSndWNW9GM3lI?= =?utf-8?B?dEozQjRDTjNhSEZBTzRtY1QrRDdLWjBXOWpNWVJPMGRBVVk2a0Jwbkt2cUpq?= =?utf-8?B?V21xRFA2UFVwYjFhYSsxQm1xVXFIay9FcVh2djREcG5GSFJGWmh5cEJzK0VQ?= =?utf-8?B?bTlpdkZRM2N6YXpKSk4waW1td015NVcydm42TERxUUV2aDVIbXlFK1BLdS9w?= =?utf-8?B?K2V0WUE2a1hlSXMrOTRWOWk3MUlxcW0rTXIzUEo2ZEx0dUVKeklKUS96U0RI?= =?utf-8?B?TlBYUjFSejhLNGJsVEVTbjR1ODJlSmpYWkVvN0trVTMzTjNjaElJMlBzKytH?= =?utf-8?B?emlGb3J0MTZReEluUVg1Z2Nxb3ZLSlB5R3ArRHRsTmZPdDEwYzJBVStuL21o?= =?utf-8?B?TU9CZXd5VDZLNStPN3RTckdNVUF0bEJzenlsV0poaWlpTFd2NGpGcEtDRzM2?= =?utf-8?B?WHBsTE1FdkJiQ3hTeE1BRGtkeTV3dmZiL0NJWE1LQ2hmQ2tWQmc2Z2FBb2Vr?= =?utf-8?B?ZUcvQ3hKdVVVampyNzN4VlV1VWsxVW1rSm5JVlhCcUZMRUhqeUR6T3c3VGds?= =?utf-8?B?bEcvZVg3Y1BMZFBkbjcrMFJxdkhIa3N6bkhVMEFWa01LY1JJWXR3SE9PcFM1?= =?utf-8?B?OXJMY2pTYlZSMWxjNE05djY5NzNZQm1qZzBVSjlCbkdhd0Z2ekdiQkF6bjlD?= =?utf-8?B?czgxcmlvcnZiUkZDdmJxOFg2YkMvZC85d1kzN0M0UzRWRzdBeGp2UWJPOUtX?= =?utf-8?B?eHR4dkk3cHo5WFhKT21YWUxtNm9xS3Zreko4V2IwbHFJVGZpR2dkcWdNQmlX?= =?utf-8?B?RWV1dktIaHB3dGM5M3RNYVZ6V2VuYmhQaVhMY3c4VkNmQnc1WkE1dmpCblg0?= =?utf-8?B?SzhwME9IcG00ejRQcFlkRzJkVGxrU3R5MnZ5WlQ3NStSWG5zRHNQTERhWjcz?= =?utf-8?B?TlZpZDNrMWRlR1ZXMzgxTHUxb2JsQWxGMElkYlJpQUkrMUkvYWozeXM5U1ly?= =?utf-8?B?Y3BtbDhPLzZiYjVZNTZ4K1hPdTY5azdDTkJGQkcxbE9obUxUUzFSQldaQ2Zq?= =?utf-8?B?QWVjSy9tV3dSKzEwa3NMbldjWTQyNSs3VzFBaHMzRlcyUC95RlVkbzdEd1Vv?= =?utf-8?B?dUttM1h5a0pHUWJscW9SS3RyZjV6NUFCUjY1VHU5SHhQMzcwY3NWcXhOR1Rh?= =?utf-8?B?T1BQcE42dzRZT1ZuazJreXNud3hnK2o4Z08rK2xwbzRJQkVVZTh0MXR0aEtV?= =?utf-8?B?MHF0ZW1wREY1eDJLME5rKzlLRGJ6WDlHSEFtVmppUmRyNWZhNEZHRUtyeFFV?= =?utf-8?B?WlpmZUJjY0FENVUwcVdmenZKM0dTcFl5YjFmM3Q0d1VlL3dMSUgyUUtVTXhB?= =?utf-8?B?YlF6Q2FJT1N0ejV2eWV1S0xkMVM1dzZDUENvL01UU2VGQzk2RjgwQTlnRmNB?= =?utf-8?B?Y2JOU3ZBdTdkQzV6QmhNcGZHUlQ3ZTE2YWNMV1BmTXZqd0x2OUtLVU5IbVp2?= =?utf-8?B?ZHRWOFAzV1VyZjBvU2tZVDhPUTErYUNtN090Qm9GcU56S25RSXF0SWFWdnZ3?= =?utf-8?B?ZFhCNGtSVWV6L3RiejVNbXJBdnFaNG16TW1STG83Tm5zUEFHZmk0T1I1T0dF?= =?utf-8?B?cFk4bmZCS3FBb3lSUVdCaC8xRmpyZ2tHWlc2WGFHTWdkd0s5M0dsMDVrVnkw?= =?utf-8?Q?8QsOJneq4GCpY=3D?= X-Microsoft-Antispam-Message-Info: Y98KELru2MySz+6GBuewKevqtMgBkrsN+E5GLiIcwNET5X+wABhkG7CT2m2DWN1JykuqYsapE/JFEaT4cvLLSVRX3yduDuYjdXZDvxQX9JcEDJVKNTjqw4PDr8k4m5CHqENbBD6+qEMAsx+6mYpnV3pSTfFkwtjxvjo6J6b3263r/lDTQ3zD/2jus7WpDM7R X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB1330;6:OI+JPvPFfDZBUvJz4xMUnCXgBFe6rYxlFSFsbeDwjuT5wMHiunZyiV7EPYW7N/Tc72TPWGTv/d1q2wFdHYsPAlkutpfkxyT/cAMfNLX3HwaVN6C/eiqIYzln6Hgx3rWJBNoKRQy6uSn3+fUx0jQ28XgEs4qbOGxqci8cduf5Bk3eoS7HgtutliyYRhC5gjMgoMiSUM6WnWhVSDbnYxoNhH1uo0uVsPw+dJn71oXSx7F4yb4uNWamr6ZVYhcMndBL8Anu0PEBfm7hTTtLHvyg+yO0B8zbxIjPPxE3giD9Y0Hwi/i/DAiSHhrhijMz6i8pr41XrIQHQlTMb8peGBZ7q7I0ktw2KYHg+KdlE0pVcXb7zCE9uR/yBvWyk7zRIzzIRW4z0TRhRKqzAkW4fljz0wdwC/pRtEfgY2V9eLq2xpbLxDj0zxB2fVIKyGA02h7GJwgYqP3MB1bqbHJlBNOKRg==;5:pXIywsaeNeWdDd6QSeqgAzNujfHjYIz1uCAMANFKKonRRVGAL/ke3EK6+Qb6dmuC4gDdNqpztTWW2+YH/MgsVg7s0lYuRVftVC67CAackU5dwHW6FULXfV1uIHFFDkIPR53071mUGeMNMyby/w4qMudquryfjWRFPVHAmU4dkIs=;24:sFiJy1UeeJHQhf9WUq/whC+8NcC7HJBZORNBjFwFTX8rvxZSxMuZagRSeW1qFa26JPEG71X2NvejNrJGrtZzyl7NSolckoAvgYLsa500JMI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB1330;7:Rn3LH+pJRtoVb6oHZpnbsRI4a/gsDs/1EN9+9uy+eWEE+AV23VOT58mR/FQlvm/XVL1mzCKU+dGas3wMwXwik6E7woZICkYKGptRKe1qDf6M32VvWSbSr806f8E8MSe1EyJJV8XgEWIBr+aEFsTx2kHA/t6CYjAkaSvwFSGWxJUb6adOWMtmspVGD7pneZO1MESBFkMWUJ3RfXaiX1uyiChc32t1VNtqP/JgG9v/2Wkl1RE7TaofD4HZlpoUUvEw;20:SKyIiLA4AS1mqymRym2p9dGkYGeU7q1PeL+HEKcMGGvVDvlYhLJSra9W/UnIzApc4nzCvn3PyJlEh1h27tkr/m64qTtpDovC/4fos1zv7WFHk/XxyQICtIerY7uiCiOuwXd3PamCLvSU/L5NuXYMW5vFSDOd4yrOJJ5Ne/Zkgc8= X-MS-Office365-Filtering-Correlation-Id: e71a2511-6102-45ae-8c53-08d5a53d68c4 X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2018 15:02:29.3897 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e71a2511-6102-45ae-8c53-08d5a53d68c4 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1330 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 18.04.2018 17:32, Tetsuo Handa wrote: > Kirill Tkhai wrote: >> On 18.04.2018 17:14, Tetsuo Handa wrote: >>> Kirill Tkhai wrote: >>>> The patch introduces shrinker::id number, which is used to enumerate >>>> memcg-aware shrinkers. The number start from 0, and the code tries >>>> to maintain it as small as possible. >>>> >>>> This will be used as to represent a memcg-aware shrinkers in memcg >>>> shrinkers map. >>> >>> I'm not reading this thread. But is there reason "id" needs to be managed >>> using smallest numbers? Can't we use address of shrinker object as "id" >>> (which will be sparse bitmap, and would be managed using linked list for now)? >> >> Yes, it's needed to have the smallest numbers, as next patches introduce >> per-memcg bitmap containing ids of shrinkers. > > If you use sparse bitmap (xbitmap ?), I think you can do it. There is no implementation in kernel, and search gave me this link: https://patchwork.kernel.org/patch/10128397/ The problem is that it may allocate memory, and hence to fail. While adding an element to shrinker lists (and setting a bit in bitmap) mustn't fail. So, it's not possible to use sparse bitmap. Kirill