From patchwork Tue Sep 6 14:01:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Micha=C5=82_Winiarski?= X-Patchwork-Id: 12967550 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5B580C6FA83 for ; Tue, 6 Sep 2022 14:02:23 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D027110E6AB; Tue, 6 Sep 2022 14:02:20 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8C0F310E691 for ; Tue, 6 Sep 2022 14:02:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662472931; x=1694008931; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=XPnExotcUv23Qjv9TfC7epqAhRejORbaVej69uQ1Tlk=; b=EoqvKcrAgL1LtW03oYabxItcj7XJywNJXKK8taonOeYkSM/hK9+ldnWw JMVPRShfTPq8wFjJBmtzu1qPrfvcFvPymOzLrfyX4VERExh15wjSjof1u /uIV3T/nDa5ulodo363a2t83T/NdzWJojouQ+zl2oEsejjeuAWEEUyKTj OZp1Cve332dQ0jjwBxaAOncquQp9DqGR/xt9wskCnq5Xgw5Ie6cixz0o1 lO5ziBDkjcW9L5NpLvFb9pCy4L2V/vU2LOkI7omJI1v+2CZmvv4guI9AY VmwG/HIqO+GBk0kN+HOucAkn9ND4GPJj3gY1mmWu5+xYjxGFnpJu/8Oyt A==; X-IronPort-AV: E=McAfee;i="6500,9779,10462"; a="283594486" X-IronPort-AV: E=Sophos;i="5.93,294,1654585200"; d="scan'208";a="283594486" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Sep 2022 07:02:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,294,1654585200"; d="scan'208";a="565102150" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga003.jf.intel.com with ESMTP; 06 Sep 2022 07:02:00 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 6 Sep 2022 07:02:00 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 6 Sep 2022 07:01:59 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 6 Sep 2022 07:01:59 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 6 Sep 2022 07:01:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fVRDZEe0jgg3XqOBHo6RJEItlmVBgOrra0m+KJ9cUKrODD1KpdzpDHk+dGtfKCoZKZI7Bg6oKlW1ooX0ctMnIBnicsx4Gyjq3xvuCwvq+DT6g8IxQGcKDq9O5h7B9fVJwSn0TPCdFNdrvWAVSCAs3wwClsaTBN3G6OgT+eqepaUoQp4IWOZoUjlOr/mgOxbPGjJvCCMb9WkET4tsWcPMnya81xNbGZdELZLaLrkH0dkf8UlpXmR5bKhcKBaeM3c1fw7GXgz5csB6TyW/PxcgKRfiOtDwSKpbxyXizM1hr7Ywglp4tM6e9Sw0jjmqUYdmmBO+tTqT0JNHuY2vHxDKbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2pMg5E5jFzj3KtV8JUOOv7nChVtQDlBkI0eK1JX+5tY=; b=NAEhvsHZ4+Dw2n8J6dX+kjCRo2ZSMMME+KtdoISt99MyyyaP0+lxrI1gMhhuqYtMcHEpH1Ny/MHXCVOGySTLWrgb+m2yIXp9srJoDbSsfzDu7x7Hy3Cx9RzPJNcQLeT3pexy/pHIG322h471iPuQ4pqHc86pj5pwg1XKxnfRjyufoiDmBiigHvLjl2BN+XsqwEBJoCcmh97z4D5s8rv1LR67f44RjHEbwuzkIWPE1NGPsAoleTCJHHAk/VxCsfTgEp4HLGu+gClmF6zuhLkEaigJINqu158c0+FhMjcmzpnHmx+Pw0RHQNjhXnpsJ2qpoTDZfWuJLrSa/yQQ4pGZqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) by BN7PR11MB2804.namprd11.prod.outlook.com (2603:10b6:406:ac::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.12; Tue, 6 Sep 2022 14:01:52 +0000 Received: from DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::b04c:807c:4ea0:c62e]) by DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::b04c:807c:4ea0:c62e%9]) with mapi id 15.20.5588.018; Tue, 6 Sep 2022 14:01:52 +0000 From: =?utf-8?q?Micha=C5=82_Winiarski?= To: , Subject: [PATCH v3 1/4] drm: Expand max DRM device number to full MINORBITS Date: Tue, 6 Sep 2022 16:01:14 +0200 Message-ID: <20220906140117.409852-2-michal.winiarski@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20220906140117.409852-1-michal.winiarski@intel.com> References: <20220906140117.409852-1-michal.winiarski@intel.com> X-ClientProxiedBy: FR3P281CA0020.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::21) To DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 422db91c-3acb-4ce1-f6aa-08da901059be X-MS-TrafficTypeDiagnostic: BN7PR11MB2804:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ijp6rj9xduN8Q6wRj/ESes6t5Y+aFyZHTlamW0UpmFQmvw+Ez8W0h7IbQYICYdLHugDNRqJ+DfNEmB9bXVB1t3O8nnF/YApMnS8nJhP7Rbf5b8A3RjY/Iv6EaoVrVM1h2ta6IBCJkgHEJbz9tSeVqbHBFnmqzMk8ZAkcp9rDsoH6BUGlvBhuklGEURxDj7iKE7KMIu+8mOhO21kMl54c1MAcl4dqNJeQus7ucyhHO7pU9yi3ao6fsW1rIgF0a4nZwLhZGrKH3eubPHWXlpJtjhFlLQNc0JGinNZn3wH3oMiBIz2eJx09xH2K6GXb3q3AlJ5TngGNduY4qbMwSGCZEJOOHwMWk+OzxiJQyr6cmGZ1s+6Rxbpp0LOzWgN1rvQyMF5++CND4NzwJoY8nc2k2abM6rmgfFyrv7kMJL8eRyW4lTwPrxXXuYJn/FUCDJiwVQmysrt96SHU33teRf7wHAcQwQC2iAF3lYFzAMfoDN0950i40pIN1Np1lY9Q7Hk57KNx1df3DjHmOEfjrhiaEL9XZIvzNc4zMnYyr1MUqqHnKoLniOkFkqsyrGKDLtrG2W8zcf/EUJh/JHTUsBx7o9bFsxQ6zzW1bOwDIPVntAFRVgtEtoCwCUztgfHFVWzeJOO6URhc0jBzefjr1u8zAoSLd7a0mxdeY4ofiipfpawkDW7LaWY9oqPA44AT+82slIptEG6u5CmmJtTRLI0j4Q== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB5373.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(396003)(39860400002)(376002)(346002)(366004)(136003)(8676002)(6486002)(66476007)(83380400001)(66946007)(66556008)(4326008)(478600001)(6506007)(6666004)(26005)(2906002)(6512007)(5660300002)(8936002)(186003)(1076003)(86362001)(2616005)(41300700001)(36756003)(316002)(82960400001)(38100700002)(54906003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?c1ST5RlUjKkAxlCybl22na76/wPI?= =?utf-8?q?6RDYh04Zbli6cpu75vuj1AiJnU08LI6uCfV3wvWoWKIfU8J6tQ7s0mBwGUVVYb1Lv?= =?utf-8?q?G+rUsq3/kZV+Y6A9ILL3xRd6JaDXBJOLKwTCtYuPCx0tYTJiZr3mawR7LM4r7IRVi?= =?utf-8?q?4e4hP12okhoFN/PBzBNHRU4xaSoaK55LttETy8cixiNerXdIvHEDU4H+MQS4pkKHs?= =?utf-8?q?yHLOJhdMxzbug5eS6XOQpadu2esXsyulgyLV/av+kjWyT+aC2lXWsDw6o7AlBzEUZ?= =?utf-8?q?eTHovp5LSGYUOyb5AhCFxbPA5qDyzvhl+QCPogW7FfSI9GzgfxhN0E8TFplJOzsQ3?= =?utf-8?q?XgaUBma8hQ6I3s+6fP0MDXjQS+a8Sc/bu5AhEH9bgW+dxpLor2H3t6DI1hI7YYFbS?= =?utf-8?q?dNmT1rxJvrKxJSf7XxPoS54iquSUWYCTsE9rDEIsm2tZHQKm9pPBU2GwMHqlW5008?= =?utf-8?q?/EG7tsFH+nbkTD8YrTDbsA5mAFVl4uMowrj3SoLAbD1pfgQdVLV5a7g3fs2wqiScC?= =?utf-8?q?DyWRig8X7Ssgq/HkYnpuObb8SBmYvzI1c8AKfwGq2stCIFLlqg+Gdb3sS3c7+R8Wm?= =?utf-8?q?Z6VJkERwzF5Ffnqhti7jue4bxPASXgae/LQvxOj8XihXn9T4AsDugnVkTUXkeR3RC?= =?utf-8?q?4MJj/xAReWUPj6AAsDwyUUTzz+Z1dJunUIeMX6ivwl9JBZEPCMW+seXCDJ83jH2gx?= =?utf-8?q?1SvcFVd7YMXk4l5xMZH+v0FEO0R8Ap3JmM4sJXvBEOuEGNTZ1CF3bskFqYli0r384?= =?utf-8?q?KhKveSGnE0B75lPBaGS7L9zbC6SJCwxmMsqGpDAqQOr5RBQ9SHL8EwzUkBfabU6rF?= =?utf-8?q?U9PitIHfvtOIu1M1bhW/4GhexP3M9FVKFBcecZhx047Jvqa0S5I/MfZFJlpZvPZBU?= =?utf-8?q?8IvU78lr6YL5GnVyRsPiPVFDP4/THzUftL6ZQgrzo/o6Do84dolCMEk1m3K+WaszZ?= =?utf-8?q?HxOljta/3xsUDwOvqhQ6j1OyBh0RVjEcVxc0Fj2yRyfjV6tdELNbOPDUPpP4deb6K?= =?utf-8?q?8/NcRF+FekkSLPuEnTyHu5UYj/bsa4KepmGn7J+Efh8xlO1Qw8WDJ+B8nh9NplzoG?= =?utf-8?q?FJ1BfycpTcjfAbQRdhu6QUOfQ/8RtAmZ2CY4/KYGmKiFK3HDaZXLoNapRTI3tVI9j?= =?utf-8?q?46wMdQzeJv63DtJiadMwn8Uv0tjpGgtkA5EmWppLT2rMkx6Jm0DK10ayKU9JS9D4/?= =?utf-8?q?0mjWMguX0LTvkXmmIYS+oIPNdW/iInN/TjYhoiJ8fgP6RE2ezt/4Yu6j5doFFkGJw?= =?utf-8?q?cKmhz2oF1MsGacQ4TAn2Yq5MmIHBlkRTN1qzydNPgUGzuygY36RbfRZBWYtrbHVqI?= =?utf-8?q?T+foOyGh2VP3o+UDqm8YS4q1OwT6D0r3gQuxMvfHtqSZPaMcZhKTCHffjQ5JFDyB8?= =?utf-8?q?ctP+F2Uv5kCBdnVTMzY15+H5Vj/Epdxe+lu+QKRe6QxPJaER7WBYRCTniGqjai/iW?= =?utf-8?q?yJmoUfkuAB+nh3b/4k+yhOwvDmU+CySOC2DQD6mZEElKc9r2UCUlRqtqQZk3w6R/9?= =?utf-8?q?q7yjXSX+IyJbRMO8JtN7VKKx+G7tYHrAog=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 422db91c-3acb-4ce1-f6aa-08da901059be X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2022 14:01:52.7002 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Wl6KVK08Ph4uwT352Ob+KiaJs33PlK1GCFeqklP0oV03MWwPcZ6xlk946uPqY3NyYVtSixh7dEk3hKvncyJ/oFZ7gVczuu2VtcF8QuZQgCs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2804 X-OriginatorOrg: intel.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Micha=C5=82_Winiarski?= , David Airlie , Matthew Wilcox , Thomas Zimmermann Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Having a limit of 64 DRM devices is not good enough for modern world where we have multi-GPU servers, SR-IOV virtual functions and virtual devices used for testing. Let's utilize full minor range for DRM devices. To avoid regressing the existing userspace, we're still maintaining the numbering scheme where 0-63 is used for primary, 64-127 is reserved (formerly for control) and 128-191 is used for render. For minors >= 192, we're allocating minors dynamically on a first-come, first-served basis. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index 8214a0b1ab7f..9432b1619602 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -122,6 +122,12 @@ static int drm_minor_alloc(struct drm_device *dev, unsigned int type) minor->type = type; minor->dev = dev; + /* + * DRM used to support 64 devices, for backwards compatibility we need to maintain the + * minor allocation scheme where minors 0-63 are primary nodes, 64-127 are control nodes, + * and 128-191 are render nodes. + * After reaching the limit, we're allocating minors dynamically - first-come, first-serve. + */ idr_preload(GFP_KERNEL); spin_lock_irqsave(&drm_minor_lock, flags); r = idr_alloc(&drm_minors_idr, @@ -129,6 +135,8 @@ static int drm_minor_alloc(struct drm_device *dev, unsigned int type) 64 * type, 64 * (type + 1), GFP_NOWAIT); + if (r == -ENOSPC) + r = idr_alloc(&drm_minors_idr, NULL, 192, 1 << MINORBITS, GFP_NOWAIT); spin_unlock_irqrestore(&drm_minor_lock, flags); idr_preload_end(); From patchwork Tue Sep 6 14:01:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Micha=C5=82_Winiarski?= X-Patchwork-Id: 12967551 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8F39BECAAA1 for ; Tue, 6 Sep 2022 14:02:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 14FD710E691; Tue, 6 Sep 2022 14:02:38 +0000 (UTC) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 008DB10E691 for ; Tue, 6 Sep 2022 14:02:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662472951; x=1694008951; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=psUf+ThGOXymqI1/AsEMN8AgIksVidwn0U3Nks4tEJc=; b=d2fWNEFU92DB6cV4lcuzem4tmG+fjL8jOvdGR624cf9NtVR+UbbsdSXM 2lG55XyWG2Z2h+kHMn96268Imbp3mJpSPYgda/GSUqhnOAvKXb0qYN6Ec KjQBXRUjURGrSiuwqlbbAbXi3i4nZcJ7/xdWxq5iTTFpTm5nt672KcIiC k54gbYYY00rfM83Z9yYs6XDK1kRr2HLxG30nnsUP1CTe+b65b3wLCjHxZ 2rXpqCgezAk6FSZT1Eb8RUK+NTIuMBD3vSsQxXJrX1EgQtn4q+yIzfc2D TeZqdI1sBZqCgqrOZ6vQjqoc09vDJ9J7YAvOldaUtPm40Zdjmqfg+0NNd g==; X-IronPort-AV: E=McAfee;i="6500,9779,10462"; a="358314991" X-IronPort-AV: E=Sophos;i="5.93,294,1654585200"; d="scan'208";a="358314991" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Sep 2022 07:02:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,294,1654585200"; d="scan'208";a="647238386" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga001.jf.intel.com with ESMTP; 06 Sep 2022 07:02:31 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 6 Sep 2022 07:02:30 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 6 Sep 2022 07:02:09 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 6 Sep 2022 07:02:09 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 6 Sep 2022 07:02:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RJPWRTSvdj4NkSJZyqsONPoG2N3i4j+mN701An3PceOt0VcgNM/NDfRJ4Snp+XcQBVD/MKp+v9ixNg9thU3v4O42m/cHNS9PSb4AEEiUbiNKEklrZjBVHlwetLKDIb1DYGImSzSshyb0zO6KLUj1TVkFbD/lkhl34ENbS38+Rj38LTJ4BrykzO6JfbsUEe/eRcCDtG/dxLh4KSAwseril1pRaItsvvCiAoPjAn5opbCrbktL4o13HMtp4Df+Y6ZmBLOjSEwlikIyane5SCKYrGFLOJyP1SVjR0f+xNjWTSDaYlQADp2pXzfTB3/iMK08+JfrS65ePq1mmRtzkYZaYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jeLDTqdI5/oFSGwFAeyojvyf/Ks/ONn12bXtmr825A0=; b=PwMn9beGmzicW7FW6RnlqYULCqYD/uADIvxF40uRF1sbMUJjVp1alGIPf6SdfFYFpYc4uEmcyOFzcFj+aSFwVAG22RDSsnLckMge5JhA0cH0kIsoWW4ZyvF0ChvJteckjBm7Z3U/cemTUs2+ZjocmL7EO/62FUzXNuUVnv9io3YKmLCAabtLf9cmOzniiU5DsO3xWx7jcm0TPdu3iRT/mdLScFJ2b+ti8G+vuHk3CNLDF2eWMlmEOGEuwcQW08/zO6AR5botNaHyk1O3/ohTUwh6LGwXLLMN3u9y9RwkdKHBMIayRrPbNEbI+cYEMwBsbqax2UGjhAji51KXB0dMYA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) by BN7PR11MB2804.namprd11.prod.outlook.com (2603:10b6:406:ac::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.12; Tue, 6 Sep 2022 14:01:57 +0000 Received: from DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::b04c:807c:4ea0:c62e]) by DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::b04c:807c:4ea0:c62e%9]) with mapi id 15.20.5588.018; Tue, 6 Sep 2022 14:01:57 +0000 From: =?utf-8?q?Micha=C5=82_Winiarski?= To: , Subject: [PATCH v3 2/4] drm: Introduce skip_legacy_minors modparam Date: Tue, 6 Sep 2022 16:01:15 +0200 Message-ID: <20220906140117.409852-3-michal.winiarski@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20220906140117.409852-1-michal.winiarski@intel.com> References: <20220906140117.409852-1-michal.winiarski@intel.com> X-ClientProxiedBy: FR3P281CA0061.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::9) To DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e2084f58-b029-4d6c-7988-08da90105c96 X-MS-TrafficTypeDiagnostic: BN7PR11MB2804:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /WkEhu68+WocDBBdgjd5JeWm072A6Ax0IRlp3c4OtbQxY4/M4FUj47YhpzVXH4L30DwwDuecAGh7FKqH9TQ5WWf02HY/mIiX6EaL1sntXTeNZVHICPiQVIz+NTPDbh6OmrFEGhjwzlnrClcCUY8kob3lThouHVo+ijpL9dnUzIG6o3hr1PZwrWMn2wzH7ksiCQ7JynFJ9lNbMQ9HRLlsV67wkKrQdRPYOkpjuwAo+o1BJJVtPpVuhahvDDueBRxd+cjwkCorNV7QfK5maeppwrYXuquRSJf176Vkv93vLUj67EdBkAa8ie8qaEyKrPJUg+SFYSGIVZjkOdyDSGC9cZjM/jn2OYW02Seb9eeYfZ1qe8eWGj31Tum1v95PyVehFySiyI1XMB9JF2kGOZgQpaeBqO7RR5A3Xe65EM+blL1yBlVyiu4fCae4d9Ailtg/awRV24EyyfAiqrujC3P6c+xGTXfQgJV+H7aq7SIxhr3wAgH6K12QTods7pxEuyfcpIiXDCSQtwYEWHfEROmvv6lEEtV3Cp3ZN22ZYEpnoyK8TJKazBYIMjc1s5UTmr/l15roequhDeJNinyai1G0nsZoA+NPXWShV9FECdRnsa48ukoa8DQHelEAVqDHoCrVoQ1wbUhxMVj/2gcFxTUq3ZpxF1HY6gKyXTfSe11tXXOVVEzdVn9/puhrElrE/+WkCd7ffht2g+kYbnRUjNgejg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB5373.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(396003)(39860400002)(376002)(346002)(366004)(136003)(8676002)(6486002)(66476007)(83380400001)(66946007)(66556008)(4326008)(478600001)(6506007)(6666004)(26005)(2906002)(6512007)(5660300002)(8936002)(186003)(1076003)(86362001)(2616005)(41300700001)(36756003)(316002)(82960400001)(38100700002)(54906003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?l0RVpUMeUIuj0GoWfQSp5eBFPQI+?= =?utf-8?q?3qvcwK6mqFXiEyqvjROjiocnc2dvmDbw6e9/LKUn0MSUJ1K2MvTTe/QoinjmnvNu7?= =?utf-8?q?vUACRjDYyaXMNbVRDVecDvPJIrCLeUkQHVfyOCW/3ePHQ2W4YqX8DztdTnoLbb86x?= =?utf-8?q?/Wb8uEsQhScoypUQ4T5U0zvyosUutMCR8274EdShbYBFjiP+WsjIN8HDcjwUvm48h?= =?utf-8?q?pYHl6rUm5xwm6E+bhAWMxLbKf1VqBI/I9KBtCYY0SiFqWPmKXG07Y9QQXeXhz7exe?= =?utf-8?q?Jc3GuqpmflY3wLc8lCcwneP/Dp/42xMcIzuI6aohrwTvJ1a9KkZeRlaYW4YwYELQP?= =?utf-8?q?i3Z20AVvQBNOftD6WOXiK8vZ4LrApbDYuhe/Vstt5Tox0B73UVoR7JM9titFm5p2E?= =?utf-8?q?jsCYVoisTwTCSUtxuPMhTfTUeZsVo1pSIStyVUVd70N9feVuFodSUjKNOqpbidpH8?= =?utf-8?q?ym2atdavy3OJCsX93f6sDpp2uteBiMKh3OFAPw5kziWC/ZysgYEVj/859FLsW/6VD?= =?utf-8?q?Wd0Sea0nQ2P8CRpcL5FfQmH4TYKECcJC8cdqT0030826sCGNf7VhjyEqUIJSX96qJ?= =?utf-8?q?DS3H2GdWIKVqJDaU/XkrI2mOKHcJ7lxd1WbDJ0ZcnkXEqeRq+UmtvKgygR9EQgdeK?= =?utf-8?q?ePtPIjKzNlvS/CKficjNMyXEEBrdhcUWn+8cl516jvZt84FLfo5dbiOQa9Y7v2Dcg?= =?utf-8?q?Pl8/uwpHMhqlpPbUOuXXi5XNEhEJTfvJdmhsrijhkkYLMUNUDLEkGMuYvsEI/tEyo?= =?utf-8?q?MkTi1EsNbuFP4OAt08BORg1bgxrkdhGjTe3TVBQo9wYO9UDY959A1fDeLVmct84O8?= =?utf-8?q?RTeSClF2b41X9l6I4pBaiB7wCP6ahQo6T/+VzsNh24kiWuZx1A98R/TkZssiLmkFc?= =?utf-8?q?V7vPKCUQofLUJaLzMIRVxK5YYMmlrBxuCQ7ko2ZcIRiWhFYnOw/9tSYsDAJSbP5Rw?= =?utf-8?q?ahLy+bygNxPthIQud+pbqSifrxsu843o3Th0UJCjhmj0L8j3yHsasRVMNII7NL89U?= =?utf-8?q?4iZeR/S60IzyKzfchFucAH/Ar6ltuw/Qnh8tQs/qVBWHXjDkG72S5d4y4Uzpx+5IP?= =?utf-8?q?SRLZbT/I+xeqapFzcZxGuRpUALHKSmUSk4KTu/G5G9rGtmsNd/3g7qd+RB83Szi5y?= =?utf-8?q?kqSvCuSIBrzaRfq3Cu75yzDqpywnI/E7mV+gkMqUSfPFcy7K2dqhOYLcV6O8Vr+ew?= =?utf-8?q?ZtezwL3lIi2vO6evm6NBqEugqHxRZy2BFoKwg1yQv0UWdCx8Oacin2DYXgB5wTo9Q?= =?utf-8?q?ys8UWcItyYitzgImwE+0WKsY/Rmvh4QVQNz9J/J42fyQ8bsAEM8UemK+X4hexBLZf?= =?utf-8?q?q60ZMoKBmF6oJdg4UouvyFEyRVCMFP8qFy0imF5+ggsIAGTCtHCWg/nO0vE0sVuNV?= =?utf-8?q?pRdgVLzBbGwKGo5B6YfchLcPcRrQmW2wAuoX0lL4yUOLtEgBDuqUFKBgSWF0jSrdo?= =?utf-8?q?2vtY/qMmrJEx+y8uUPkey1U4mNRKh75UVgKD91lW08rCg1u3R75e7unUSm8SpBevq?= =?utf-8?q?xWtnNweJZt7Z//28RfMhVHO4cAP3adc8wQ=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: e2084f58-b029-4d6c-7988-08da90105c96 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2022 14:01:57.4681 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 2rRQFCx0kJOb4EH1DTcRSoAURwpAtGrE2Ejmz9nPHBmtMa5MZ51d55+n/V3hF2QCE+U56oK89bL+x9iUn8B5bwClrM1J4Dsfwpu0UVACFw4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2804 X-OriginatorOrg: intel.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Micha=C5=82_Winiarski?= , David Airlie , Matthew Wilcox , Thomas Zimmermann Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" While there is support for >64 DRM devices on kernel side, existing userspace may still have some hardcoded assumptions and it's possible that it will require changes to be able to use more than 64 devices. Add a modparam to simplify testing and development of >64 devices support on userspace side by allocating minors from the >=192 range (without the need of having >64 physical devices connected). Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index 9432b1619602..0bdcca0db611 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -56,6 +56,11 @@ MODULE_LICENSE("GPL and additional rights"); static DEFINE_SPINLOCK(drm_minor_lock); static struct idr drm_minors_idr; +static bool skip_legacy_minors; +module_param_unsafe(skip_legacy_minors, bool, 0400); +MODULE_PARM_DESC(skip_legacy_minors, + "Don't allocate minors in 0-192 range. This can be used for testing userspace support for >64 drm devices (default: false)"); + /* * If the drm core fails to init for whatever reason, * we should prevent any drivers from registering with it. @@ -113,7 +118,7 @@ static int drm_minor_alloc(struct drm_device *dev, unsigned int type) { struct drm_minor *minor; unsigned long flags; - int r; + int r = -ENOSPC; minor = drmm_kzalloc(dev, sizeof(*minor), GFP_KERNEL); if (!minor) @@ -130,11 +135,12 @@ static int drm_minor_alloc(struct drm_device *dev, unsigned int type) */ idr_preload(GFP_KERNEL); spin_lock_irqsave(&drm_minor_lock, flags); - r = idr_alloc(&drm_minors_idr, - NULL, - 64 * type, - 64 * (type + 1), - GFP_NOWAIT); + if (!skip_legacy_minors) + r = idr_alloc(&drm_minors_idr, + NULL, + 64 * type, + 64 * (type + 1), + GFP_NOWAIT); if (r == -ENOSPC) r = idr_alloc(&drm_minors_idr, NULL, 192, 1 << MINORBITS, GFP_NOWAIT); spin_unlock_irqrestore(&drm_minor_lock, flags); From patchwork Tue Sep 6 14:01:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Micha=C5=82_Winiarski?= X-Patchwork-Id: 12967552 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 37EF9C6FA83 for ; Tue, 6 Sep 2022 14:02:51 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C011D10E692; Tue, 6 Sep 2022 14:02:49 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 55B5410E697 for ; Tue, 6 Sep 2022 14:02:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662472967; x=1694008967; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=vMIJX1UBynw7Ha4VY5WZDYe3peWRfDrobTP0piIBxFs=; b=lY6uCVnrnEvzLi5KkF5Ea1qPTsyq451KEGR/57fOgSTe1ZfDJryRaDss 1cv7CP5d2dMu9l8wkmLgI2JICc2LfW0z+mDeroDa0y7QpTJ68tD2vnsbE ylIpxvtdkLHKx6eCjjZMQfX0dVw3fj1yGJ1JepygbCpQPrAb3zJhWr0St Gp1F1emkzu1MpubwPidDWLeOo+j/BzVgNHNRPMJTJcX4/Ev80urk1w++/ rOQymIhWAvKFPyuLlSg6788GRio3IX7i3VioviGITz2sTP2woptoNKvXt n4ruiCsBmAVv4CKaQ6GSKLbdhP+h03lDfFTie9Bs35slJMCgzw3svGSLq Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10462"; a="276338230" X-IronPort-AV: E=Sophos;i="5.93,294,1654585200"; d="scan'208";a="276338230" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Sep 2022 07:02:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,294,1654585200"; d="scan'208";a="565102655" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga003.jf.intel.com with ESMTP; 06 Sep 2022 07:02:45 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 6 Sep 2022 07:02:30 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 6 Sep 2022 07:02:13 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 6 Sep 2022 07:02:13 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 6 Sep 2022 07:02:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mSd4oQsxmjdRa6sNOElEfiLkhom8CqqAxqYf/x8QDreZ4pXAdS7e5KaLe65Yi5KGR/AmxF3gb6HwUDN751aNZka2UqiAvcTpF/fHNIPEdhwA5q0bdLtRjztI1k63wzPHCfzQwLLpzmGIeefDeOSa/7qOkuGk/1Fy6hgQ0gNmsrLpDUWHC9+62dPiXdBENStUquBjDYGH1tMdF6YO8RHogvAJf9Y/HXKzLiWSF08d8+PghHIVs9QYcnBRDMV/3HkeL7hrZ2Unq2MFqdCjOVywlwSIj97Ivup3QaCYfh7xEIfVs1GxoU2WC+txvpcHDfGbqzL251FWafkgk8+7d01YYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NYOAh+HRzPR1RguwnzYFDJF0KN1PjzPw3ElTv5xcPDk=; b=dezpkBcb6BRQBVluagoOSc44IJj0U4etV47OEA8lrmEpG4EQnxFEYATadz6fpjCLqLhiMWTGeBsvzRisj2UD91Fir/p5oKZ957udBFfMgSJQ0IkI+jXBi1+wCzv+j/Ln8jO7IgquKpckYe6ZZa1lRG6kVmJ74CKAdbCnGDoyGtEBrdh/6Z2e+dRDJrdWJDBXzVAsTsXLkBe/RLvtIOlR8Fkhzxf5d2uQWpZjt312X4VEipbqIjR6qtubM9eto75YGMGbWFz0YjFTE/+OMEqzKEW7oUdmg+PVpwi6rSBOK/0b7sBAtfxujitetlrsdiAUnl83mc7febrWh8Mfs655HA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) by BN7PR11MB2804.namprd11.prod.outlook.com (2603:10b6:406:ac::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.12; Tue, 6 Sep 2022 14:02:02 +0000 Received: from DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::b04c:807c:4ea0:c62e]) by DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::b04c:807c:4ea0:c62e%9]) with mapi id 15.20.5588.018; Tue, 6 Sep 2022 14:02:02 +0000 From: =?utf-8?q?Micha=C5=82_Winiarski?= To: , Subject: [PATCH v3 3/4] drm: Use mutex for minors Date: Tue, 6 Sep 2022 16:01:16 +0200 Message-ID: <20220906140117.409852-4-michal.winiarski@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20220906140117.409852-1-michal.winiarski@intel.com> References: <20220906140117.409852-1-michal.winiarski@intel.com> X-ClientProxiedBy: AS8P189CA0036.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:458::29) To DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bdce2cd5-bebb-4d0d-1022-08da90105f38 X-MS-TrafficTypeDiagnostic: BN7PR11MB2804:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0WDQEilDopzCmOnlKCgjno7wKw1V1M4SlsbRqZvl3N5EHuagJ1WaMPXt6R9D5hFNBT/hlOFzdQox7NpBBxrgsiFecWuu4OznHhixltU0PPTzfT6hKG/Z0PbM0esXQVi5WbJS4MAaTs+WVGRzigkJ658t2qKw9eF3La1YXYrmz8CtCgsbW4jDxIJ5POTGc3nAOnEPTFetHh8m+kQMmFyaQUE7qz80U/1OqRx7l+v8Wz3sbOrAjWHbIINOh9gBS7AJaVp4OW5fz+4QaD2LF5bKDiE7Cjmu6sKeux2R3YLmUcizNaPjOXlJntX6wJv1K0DugXj6Oq3apEnqsnlCcVftPR1hY2e5Pe3zyiwnSdjreX7iwJjcBW2iRwG6y0IaDlgJVZqCnCLYmTOY0+tEcViJuMpkCIVBhKTcHa+vCQCHtpk9YAhvPAF0X7rOoBIvu0Woaq/KibchKGKdfOWcyzFU/XnpIFJTxN2gJm1gRGvLbm/WckXIcuCiftAugZALRAwSY1KHSEcVsBnYDQWM0V+/TWNBVsaJofMrnWmOkTsQDbKbTEgt3D0eukJ09LdMVzGxxPk3TmWQsm8PdBEi8DTsAtLBsrTdk50jy9wO5czhtCOrsm+15ZMnOWTVHVw9A1zljbKBEY9eBJRJP5xokRqU9hurX4pWy1NDkUutymrrvCIsYjta6Le4p//uBBBu5f2oCr3JBiqhHtvN6CdwDYN4oQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB5373.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(396003)(39860400002)(376002)(346002)(366004)(136003)(8676002)(6486002)(66476007)(83380400001)(66946007)(66556008)(4326008)(478600001)(6506007)(6666004)(26005)(2906002)(6512007)(5660300002)(8936002)(186003)(1076003)(86362001)(7416002)(2616005)(41300700001)(36756003)(316002)(82960400001)(38100700002)(54906003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?WuxL0cwwDykNzqeBSexmZ6c1k2Wr?= =?utf-8?q?jTWXUs7Fj/LNiVsTBT/QvM2JoyJZiuhfV2pJBtpos5ftEEdKzvNPV/miahWsyQZVy?= =?utf-8?q?LBDm+BHbgI/jFz3sVdPOK40xEwvHXxyj42GHUoM6eJevWZLxC39TNKVnAxDtgDwhS?= =?utf-8?q?QF6aBXf0T+YmgTu+ql+b6ATYi+/Ess4NIaYCj2aTiyyZRLJCsZXoIJGjbqoDQSP3z?= =?utf-8?q?QO4bMZoqMwk2c8/UZE0x5QZyxkuwt9vLcp0GGA9B/2+/O21GMyo4lallrnv7nCA8e?= =?utf-8?q?p+EHSRtGmntL3DWoLbfK8RkKAzrqNdaZSu9tSZICGvdwDR7yo559YYSD4uhFcp/II?= =?utf-8?q?FB4Mon89UgteDUlaHY0UKf44XKChyp7qOMZ3DjGZP7L1/mRxrgw/cQN8/jxZPv8J9?= =?utf-8?q?BFHNNOEFR2rz9ofYu8qZdOhGWdHc+bXY1p/HbECSiKDfVFgn+v2tiWd73n7Gd/6wr?= =?utf-8?q?2plRFlzGwZ4ZjmBZsNQzG3txWR4zBLLYoUQhaYcb7oR2VHf4Ih4v1RTpanOE+4sUr?= =?utf-8?q?ryJT4lJZ0nj38AWs01IVDRaMp17QOhodKHI8Uwjuf/lbju729kOwjfAaNU7esSPIX?= =?utf-8?q?SR8zQXuY8lTmV2vcFLg+qWfjKiZlKaDUrGqb+qFhM/VtLnV/dhXzow1I4t+88KD8X?= =?utf-8?q?CpJfNlWyS1e2dHgU4EKNt5aYOhvecODilyciShgBb78dvInj8aLgw0taDWtsiVUX3?= =?utf-8?q?ya/HVwfWiZcchSICBLwJvuh9fnWVpnUJISmSvRkecVLbH0IcYiKqPDElPtH+HvzUS?= =?utf-8?q?MtFAaHbXJwm5i0yvZA+wYiBcbmSEwhbMML24HEv8IyiTXmLMvXnQgYbKdTpBSrF/N?= =?utf-8?q?t5OxaJlZ3srY0Y321plT8SIwErQovytsS99dzZUizKpvGfJRQZakn7/CLrxidKDzG?= =?utf-8?q?/zxodkfu6IrZyklHnrTYa/RAYT1M2cQgb94XBmgZ17Q+GlOxXBxyLmL96Qt/BObnY?= =?utf-8?q?gzZCeT8eu0GiwUEZdv0u4YB0+UVHPuI4Rb6iAHHT4Xjh7Bl5AqHW+NahOASDAWIJp?= =?utf-8?q?roi8lQF3aUYWkZZ6tZraTkZdTHaEiRhOVcTVKIY8i7lTAVtzLAWixTHMHegLVb5bQ?= =?utf-8?q?914S7JVSTfxS2MRm3p+OmsyQjG5Kdskscxl2AaGAE8+4yFijlAXHBKoF+ZzYAfd7D?= =?utf-8?q?rhZiVRivaEEeAt0xB8Lsr781hmk8WWshqKmb+qAb4QdsaNWoJpIL8ychFJp79mA+M?= =?utf-8?q?tGBdeM75tPBgfRy7Q/ofwL5wlJI7gB3EBuF8HuM7+/K6Lzr+X1pPqRy8mtFpMDWyf?= =?utf-8?q?D8GY1oSB1Gygif4xaHReiDCNyO7i063qwWTEHdzLOYfgYuB3eTLCsr0Xq/k6YX+8i?= =?utf-8?q?gx/h2sMuGvEv0zyx1fsRjrlOsBD9hHxlmZWdjWMIzXfZoC3rXPn2L4fn2w1qjIIaT?= =?utf-8?q?+CzZU86ggMrDaT9lSDWzU4KOcX/q7aynjzejwNnkAQOCIRmf6bLyNYrUkf/qOXarr?= =?utf-8?q?2I1UZL9IfHu/jvp8TyULYmA0qcsnbtz0yvJh313lK8W0KsZSsv3go51XlWD7p1Fs6?= =?utf-8?q?34sfNlfQIXBT+kkVON+W/upe/Vzj7YECPA=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: bdce2cd5-bebb-4d0d-1022-08da90105f38 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2022 14:02:01.8982 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: uptTkggN357Kt71bfS2a6HsX++2u8iD0GFBP0I4hzx4wCKB9DQzheRVHNjWim4uaqwMMSm9yCrh3ixAzgwq8+AtkhCbJ7gcHN8JKwfRDxM0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2804 X-OriginatorOrg: intel.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Micha=C5=82_Winiarski?= , David Airlie , Matthew Wilcox , Thomas Zimmermann , Daniel Vetter Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Operating on drm minor is not done in IRQ context, which means that we could safely downgrade to regular non-irq spinlock. But we can also go further and drop the idr_preload tricks by just using a mutex. Signed-off-by: Michał Winiarski Reviewed-by: Daniel Vetter --- drivers/gpu/drm/drm_drv.c | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index 0bdcca0db611..f66904527256 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -53,7 +53,7 @@ MODULE_AUTHOR("Gareth Hughes, Leif Delgass, José Fonseca, Jon Smirl"); MODULE_DESCRIPTION("DRM shared core routines"); MODULE_LICENSE("GPL and additional rights"); -static DEFINE_SPINLOCK(drm_minor_lock); +static DEFINE_MUTEX(drm_minor_lock); static struct idr drm_minors_idr; static bool skip_legacy_minors; @@ -103,21 +103,19 @@ static struct drm_minor **drm_minor_get_slot(struct drm_device *dev, static void drm_minor_alloc_release(struct drm_device *dev, void *data) { struct drm_minor *minor = data; - unsigned long flags; WARN_ON(dev != minor->dev); put_device(minor->kdev); - spin_lock_irqsave(&drm_minor_lock, flags); + mutex_lock(&drm_minor_lock); idr_remove(&drm_minors_idr, minor->index); - spin_unlock_irqrestore(&drm_minor_lock, flags); + mutex_unlock(&drm_minor_lock); } static int drm_minor_alloc(struct drm_device *dev, unsigned int type) { struct drm_minor *minor; - unsigned long flags; int r = -ENOSPC; minor = drmm_kzalloc(dev, sizeof(*minor), GFP_KERNEL); @@ -133,18 +131,16 @@ static int drm_minor_alloc(struct drm_device *dev, unsigned int type) * and 128-191 are render nodes. * After reaching the limit, we're allocating minors dynamically - first-come, first-serve. */ - idr_preload(GFP_KERNEL); - spin_lock_irqsave(&drm_minor_lock, flags); + mutex_lock(&drm_minor_lock); if (!skip_legacy_minors) r = idr_alloc(&drm_minors_idr, NULL, 64 * type, 64 * (type + 1), - GFP_NOWAIT); + GFP_KERNEL); if (r == -ENOSPC) - r = idr_alloc(&drm_minors_idr, NULL, 192, 1 << MINORBITS, GFP_NOWAIT); - spin_unlock_irqrestore(&drm_minor_lock, flags); - idr_preload_end(); + r = idr_alloc(&drm_minors_idr, NULL, 192, 1 << MINORBITS, GFP_KERNEL); + mutex_unlock(&drm_minor_lock); if (r < 0) return r; @@ -166,7 +162,6 @@ static int drm_minor_alloc(struct drm_device *dev, unsigned int type) static int drm_minor_register(struct drm_device *dev, unsigned int type) { struct drm_minor *minor; - unsigned long flags; int ret; DRM_DEBUG("\n"); @@ -186,9 +181,9 @@ static int drm_minor_register(struct drm_device *dev, unsigned int type) goto err_debugfs; /* replace NULL with @minor so lookups will succeed from now on */ - spin_lock_irqsave(&drm_minor_lock, flags); + mutex_lock(&drm_minor_lock); idr_replace(&drm_minors_idr, minor, minor->index); - spin_unlock_irqrestore(&drm_minor_lock, flags); + mutex_unlock(&drm_minor_lock); DRM_DEBUG("new minor registered %d\n", minor->index); return 0; @@ -201,16 +196,15 @@ static int drm_minor_register(struct drm_device *dev, unsigned int type) static void drm_minor_unregister(struct drm_device *dev, unsigned int type) { struct drm_minor *minor; - unsigned long flags; minor = *drm_minor_get_slot(dev, type); if (!minor || !device_is_registered(minor->kdev)) return; /* replace @minor with NULL so lookups will fail from now on */ - spin_lock_irqsave(&drm_minor_lock, flags); + mutex_lock(&drm_minor_lock); idr_replace(&drm_minors_idr, NULL, minor->index); - spin_unlock_irqrestore(&drm_minor_lock, flags); + mutex_unlock(&drm_minor_lock); device_del(minor->kdev); dev_set_drvdata(minor->kdev, NULL); /* safety belt */ @@ -229,13 +223,12 @@ static void drm_minor_unregister(struct drm_device *dev, unsigned int type) struct drm_minor *drm_minor_acquire(unsigned int minor_id) { struct drm_minor *minor; - unsigned long flags; - spin_lock_irqsave(&drm_minor_lock, flags); + mutex_lock(&drm_minor_lock); minor = idr_find(&drm_minors_idr, minor_id); if (minor) drm_dev_get(minor->dev); - spin_unlock_irqrestore(&drm_minor_lock, flags); + mutex_unlock(&drm_minor_lock); if (!minor) { return ERR_PTR(-ENODEV); From patchwork Tue Sep 6 14:01:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Micha=C5=82_Winiarski?= X-Patchwork-Id: 12967553 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9D575ECAAD5 for ; Tue, 6 Sep 2022 14:03:46 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E8CC510E697; Tue, 6 Sep 2022 14:03:44 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7375310E697 for ; Tue, 6 Sep 2022 14:03:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662473021; x=1694009021; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=MX00ssXpjtJYQ+spFhg74wUjSQVQbcT6XTXrrHchVl8=; b=IgXk1TBZKKtLXXoS34EF3LyDCmUd3Ua70FLQEGLYD36cqhCk1JlgFdCi 72VunobOxlPxg2SgxNBIIcwgUzbeGUSOFVySYgmWX5v/MpOZPcuUwX2lV u0vujkpQ0aaY9o91A99bXI9rLNdpU5bKKQDPvXrVfLkNXnCQ/ucXlnReg QiGjqhljkxgDJnYfA1M4dotOoeg8K7rOptUyhPIvYMAG4on0MI9gMZJsb H+2MijrNtvF558XRrPwTfPaark5RyWIFaruy/T5PazUAfy26waRE1bx/R 4/qf4K/SQ3A32EMki5SFPd7bGE7hVu45LebU3G7X3IvmR+TeppXdt6vNn A==; X-IronPort-AV: E=McAfee;i="6500,9779,10462"; a="276994437" X-IronPort-AV: E=Sophos;i="5.93,294,1654585200"; d="scan'208";a="276994437" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Sep 2022 07:03:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,294,1654585200"; d="scan'208";a="565103127" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga003.jf.intel.com with ESMTP; 06 Sep 2022 07:03:40 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 6 Sep 2022 07:02:38 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 6 Sep 2022 07:02:18 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 6 Sep 2022 07:02:18 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 6 Sep 2022 07:02:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dZv0dR1SCKpojHf1hKIeZP+6roxfyRGFJjSI+IIEDtBgr22OpNZE/Y9EYNATe9lUlv06a5lnHwRlHWa5/tN305r23KXyJHkiHl2O8wz/4VW6yyEDdTMy0q5ywdWEjuDJOjoIScMp6Mfl2UDTPsT4EyI2/mOk4BLMBGblXE0DE5z33jNEjtcMXgyRhYNoltVBWADn5MVReJES+Z7FaySfbdMMP0z3Nuelzg1kwD3c1JoKfx5QGY3DgYXuUTHIyfkIiwbuOp/g3JLkbMKZv5ls+heVVPFNfV1ZmJXyqtzPeTxE8fljElEmoA92I5CIJAYjzvHgcMhDdFCNFZeNPM1nYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ntgjhyZkcPlUOgVX+RHpm2ndX81emlXdtqwkMjmHFDc=; b=HcMIJ8cIU9nMrNfLIgVKREvFA/dIZbg7izF6aDRPpN3B+1rFNwsGA+/7ezbql+LWTW3veCs62Aefhj4fl5a0oyO+Qyi9nHvGIvolr78fpyL6u6KcUC5N8WKlQnwX3dMlDVxMiZkLbbRDGqXSgzjoVLCLK9xnbnL+snFk+F7XCW87VPI/AjjLHrDqP05BAwWOSoWBTd7NGWjyoddk/w8JpuUGO577zDjP+UBrCcjC20ySOjniJSivoAy/T8TDR2CSKZNJ0YhWRQlgPo6Gnz0SSMrpmkLx7l6dRiSPLDOaoR98zthWS92Drk/BVMUqbNjdPgCMDy87m5VASI6rjRalvw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) by BN7PR11MB2804.namprd11.prod.outlook.com (2603:10b6:406:ac::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.12; Tue, 6 Sep 2022 14:02:06 +0000 Received: from DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::b04c:807c:4ea0:c62e]) by DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::b04c:807c:4ea0:c62e%9]) with mapi id 15.20.5588.018; Tue, 6 Sep 2022 14:02:06 +0000 From: =?utf-8?q?Micha=C5=82_Winiarski?= To: , Subject: [PATCH v3 4/4] idr: Add might_alloc() annotation Date: Tue, 6 Sep 2022 16:01:17 +0200 Message-ID: <20220906140117.409852-5-michal.winiarski@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20220906140117.409852-1-michal.winiarski@intel.com> References: <20220906140117.409852-1-michal.winiarski@intel.com> X-ClientProxiedBy: FR3P281CA0124.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:94::15) To DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 25b75f90-7b2a-4e6a-b4af-08da9010620d X-MS-TrafficTypeDiagnostic: BN7PR11MB2804:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kwniUQfwOQ9yshVepnUR0FxkXN+BxV8FfoF/t1+3G9CZ1+Zcv9w+7a3tgy7RSFcgTSFA8XqMaRpv5BLAdzpao1bjHcwPZOAiOo8cwEGEjy0JaI0y1n30IdPd827YSM9az1yOWaOh1R+4oSVWXLkTpOgHL8xd55da9ujOvKy/jx07qQtYXxrIfcGQZ1Z8lT7g7Nuj6QtnPDASVXVkfMsA88Qa5KU4OIJKvVoacWAUBrUZdsJX84S57v9B4St1wwC6stIfPxnREKMR6Peyg88dSAymma2HWngdI2T3mxhkZ/n1WiJanszXcBR7QP5CJTlCqmrSJiLmK7squoXc9BR+b+iEYVCBLPdhfT9SAmMUNIUEoCGVsPW+q65Oox30t6rQY7sllFUEU4Wc/J2vrap7xZSY5BY9KGq6r6uIazKw83uuiITW1tCSqf/EwGiGV3sEqiwqcpUembs/cxN+Zso6FDg2FD94Uln+NemDHGHOYSiw/QDfc/otUppjvJbTUDRleCaFgjrIybhuwBk38QfbGUIs1ePTkkXZ5LBMYLvtlZvWDXjyzSLzBazgouH12jsyzul2JhXhYB0mPLQZu7kxK/3i5vPSd5M+INfEpVSfRhGfmardRWtgmKxoHCZKogm6reXL3GAQ/AAhUDgf5kyTpyaY+t7LSp+JwJrxlEColobluaC+sZTCUkzzMMpHy9HpxoRBrGbaRH6SKPy/TmKq8g== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB5373.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(396003)(39860400002)(376002)(346002)(366004)(136003)(4744005)(8676002)(6486002)(66476007)(83380400001)(66946007)(66556008)(4326008)(478600001)(6506007)(6666004)(26005)(2906002)(6512007)(5660300002)(8936002)(186003)(1076003)(86362001)(2616005)(41300700001)(36756003)(316002)(82960400001)(38100700002)(54906003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?iRlcS7NCPQtrz5sHtyJ9B9Ve3a6i?= =?utf-8?q?9Xm5wx1t12u+eeGliTg/RmtgbhbXL36GeqMTeEPPVFEKnmP+CgNvcBDzSzuwb5kV2?= =?utf-8?q?spRR7iI4UZYpsHFD504/hvxoMZiQMl07ORrduyT1SR9fO565ujJO1TvD1K75Ew2Je?= =?utf-8?q?KdoxYc0iLTQJNqzIVpk4y+U15EYQFvsJ+iwTg4vK4ZL8ZF9Z4b+bPROYxLxmemyHJ?= =?utf-8?q?pvdXZ7BSx30Wpy+OJeLCcmvTdUQCRWIK4fvrMTgjRiSWXRkLLbMw119WhcG6b330k?= =?utf-8?q?z9kJ7LTMC2VR9sDaSArIf+GhyH7iDP8MV/a13CFREsqeUHrjfMLXWkWSFzNMDmzYg?= =?utf-8?q?86af/acAMuGBQYfld8lLrSuANvw0DLqPTUVCF5TT2oJ7p8BGzK0shFifomVvhlGDZ?= =?utf-8?q?xjx1fIWJSdhl9UckjDlUzRn0YyCDXCrNek+qV/sIWfGwNk6Zvuq9jsbQ+vq2AnUSV?= =?utf-8?q?rZr3GZTvfj9GDkfdGDCgPg4+76kmylX6RQZRnmpXrBRZYfrWQah6KIVXPaTJVQckI?= =?utf-8?q?tzsepJmm+Qf+YbiiTzcj0qmBHuCZMHGvV7YHarl4WL6TjdzI3lT4iLDkGF0bSQCL4?= =?utf-8?q?m39tSl4eIw6UR69t9WZDkhWQGCEjuJUNcQ8w4Z1s6mba10Vu0iurtVVxl0j6EF6Ia?= =?utf-8?q?U1j/S99ohE+jhs532q1wo/EYAQv70DAZcdjvCmLCrRaTIKAYhFodwnsrWDYuZPDv6?= =?utf-8?q?GIv2vAh0+15OL9/FzYxS7Mng7FVK8QKVUyTFDXCoQMW8gUcLO//j0TTsLnKqq8+fh?= =?utf-8?q?wG+QaBhGbvTUx2PAlcmiWdS6D+WQ4TngkrkK4OXidmTIcU1RWjssF1YYjEyIrALqc?= =?utf-8?q?WY67B0qDtv/k7VcF2j4k6zmKv9C917tdKg8D1tTRqJC87Pk52CIx/VyOrNvXE4Wil?= =?utf-8?q?NQLSoS9neRGn8nBjecKB5argQ895K9pwIW8YXrvvjlFMaAX3ewhTMhNfnG6IBFAlM?= =?utf-8?q?3E/6JpKBfJ6ymgnUD9Kbcelpx6fqqN3G+DcJgTlq04ofKSi+Lgfm9pD4gA4Y40Fvt?= =?utf-8?q?oxA7kv8BZyQ24+NTpV2uzLQMk8KoGnbLUgb24C+BQohzreV44EWrjYRbXdDYJpPEQ?= =?utf-8?q?KXbXtz26dSUBhXWRhWUeLuPhcMh7fJb18g+IzAU6JvGxUpk5charzmInQc3GltWUa?= =?utf-8?q?EUrkw0H2VSPYr/elIeW5PxxmA2dZngFppxDSOZajdhz5LhLZYzHqvftWvOBanvRGJ?= =?utf-8?q?4iN5RPDVzinKJT/d0JyDoIBvF6PZNwZzQJzXUa0CVej5EFZlMSjEi/GQG5V1jt0j2?= =?utf-8?q?dGeRwlJozG5BPma44uCLz7uqO2AIy2jP5C/U/qQknvjtRo9XDSpnmpRz4/5gIUhaA?= =?utf-8?q?l+H99xSssWVtNs1cNCdWMs3/SDy436hM0U4xupAR91E1VsyvD/O8/Lzm+fQibHULU?= =?utf-8?q?XvVT+jKbTHeXRc6S45Ika2lcXBVBpWBjJPI6dCDoMJULqMGYcw/BMk/u9ah90y+DV?= =?utf-8?q?0yLQVOjnJRAXU0X9pZP03xB2UKK5OJWGMqBwSIYaJOSSohGvspzDb7REBay9pgtoZ?= =?utf-8?q?oLG+mxkD3OwhJeS94ABMcrBjJvi2TararA=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 25b75f90-7b2a-4e6a-b4af-08da9010620d X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2022 14:02:06.6839 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 99ESf6xA4T4oAKjTb1Daz9R0taG5cSe0oUYiqfwremDf8IF+U29x00pTiOrvYBOQ0BW9Ec/3+ikrWJbDupwAB2ZDxwPcfFeI+6jkNmEF3Fk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2804 X-OriginatorOrg: intel.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Micha=C5=82_Winiarski?= , David Airlie , Matthew Wilcox , Thomas Zimmermann Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Using might_alloc() lets us catch problems in a deterministic manner, even if we end up not allocating anything. Signed-off-by: Michał Winiarski --- lib/radix-tree.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/radix-tree.c b/lib/radix-tree.c index 3c78e1e8b2ad..787ab01001de 100644 --- a/lib/radix-tree.c +++ b/lib/radix-tree.c @@ -23,6 +23,7 @@ #include /* in_interrupt() */ #include #include +#include #include #include #include @@ -1481,6 +1482,8 @@ void __rcu **idr_get_free(struct radix_tree_root *root, unsigned long maxindex, start = iter->next_index; unsigned int shift, offset = 0; + might_alloc(gfp); + grow: shift = radix_tree_load_root(root, &child, &maxindex); if (!radix_tree_tagged(root, IDR_FREE))