Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751341AbdCRP2H (ORCPT ); Sat, 18 Mar 2017 11:28:07 -0400 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:53274 "EHLO esa1.hgst.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751087AbdCRP2D (ORCPT ); Sat, 18 Mar 2017 11:28:03 -0400 X-IronPort-AV: E=Sophos;i="5.35,258,1483977600"; d="scan'208";a="106487553" Authentication-Results: spf=pass (sender IP is 74.221.232.55) smtp.mailfrom=sandisk.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=sandisk.com; X-AuditID: ac1c2134-817ff70000005688-4c-58cd5133d6d7 From: Bart Van Assche To: "paolo.valente@linaro.org" CC: "linux-kernel@vger.kernel.org" , "linux-block@vger.kernel.org" , "fchecconi@gmail.com" , "linus.walleij@linaro.org" , "axboe@kernel.dk" , "avanzini.arianna@gmail.com" , "broonie@kernel.org" , "tj@kernel.org" , "ulf.hansson@linaro.org" Subject: Re: [PATCH RFC 01/14] block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler Thread-Topic: [PATCH RFC 01/14] block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler Thread-Index: AQHSn/u/G4Q8LG/Xr0CSoUvMInNnOg== Date: Sat, 18 Mar 2017 15:24:34 +0000 Message-ID: <1489850658.2339.1.camel@sandisk.com> References: <20170304160131.57366-1-paolo.valente@linaro.org> <20170304160131.57366-2-paolo.valente@linaro.org> <1D08B61A9CF0974AA09887BE32D889DA0DA145@ULS-OP-MBXIP03.sdcorp.global.sandisk.com> <0B1F1CFD-C8AB-442D-B5C6-426D19B1FBA3@linaro.org> In-Reply-To: <0B1F1CFD-C8AB-442D-B5C6-426D19B1FBA3@linaro.org> Accept-Language: en-US, nl-NL Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.28.1.254] Content-Type: text/plain; charset="utf-8" Content-ID: <86D0CE21ADBEC8478A4A96942153F79D@sandisk.com> MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrOIsWRmVeSWpSXmKPExsWyRobxn65p4NkIgzP97Bbf3n1hslh9t5/N YurDJ2wWN7bdZ7aY8mc5k8XeW9oWl3fNYbN49Wcvk8Wv5UcZLY6vDXfg8tg56y67x+WzpR6b VnWyedy5tofN4/MmuQDWKC6blNSczLLUIn27BK6My28nsxYsE604Ob+RqYHxgUgXIyeHhICJ xN8v81i7GLk4hASWMEk8P3yCDcK5xCix78oMVpAqNgEjidkT9rCA2CIClhKrpt4A62AWOMss sXv3HTaQhLBAqsTVxRuZIYrSJC69WMMKYetJTH3fywRiswioSmzdugAszitgKPHo0GwmiG1/ GCVWvZoEtoFTwE5i99Zp7CA2o4CsxOLpLWDNzALiEreezGeCuFtAYsme88wQtqjEy8f/WCFs BYnPK/4BHcQBVK8psX6XPoRpJXHzfDjEFEWJKd0P2SFOEJQ4OfMJywRGsVlIFsxCaJ6F0DwL SfMsJM0LGFlXMYoVJyYX56anFhia6hUn5qVkFmfrJefnbmIER6+iyQ7Gjo3uhxgFOBiVeHhv PDkdIcSaWFZcmXuIUYKDWUmE94Hl2Qgh3pTEyqrUovz4otKc1OJDjNIcLErivEu1p0YICaQn lqRmp6YWpBbBZJk4OKUaGDv7fiQp9ejNtOa/JOh/1fDD3oTiqzuEK+9e+7NbJ8ifPaI4X+/2 pk1tImI72Ny7gn2Wntn5/q39U/dDxzmW/9wrdcCzx87beYfBDQ6m/0v4/6o9jmhKfLY0mDHe 4+7b3fGz2vZs/iH2XaRgX92pq8uFODYo53YmOP2Y0czzSWTV5rdnns6eskaJpTgj0VCLuag4 EQAbNTiF2gIAAA== X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:74.221.232.55;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(39840400002)(39450400003)(39860400002)(39410400002)(39850400002)(2980300002)(438002)(24454002)(377424004)(199003)(189002)(9170700003)(7416002)(2906002)(36756003)(356003)(6916009)(8936002)(2501003)(189998001)(5640700003)(86362001)(47776003)(6116002)(68736007)(7736002)(81166006)(3846002)(54906002)(50466002)(8676002)(305945005)(53936002)(110136004)(54356999)(5660300001)(2950100002)(6246003)(106466001)(23676002)(76176999)(103116003)(2900100001)(2351001)(4326008)(102836003)(33646002)(50986999)(39060400002)(38730400002)(93886004)(229853002)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:CO2PR04MB827;H:sacsmgep15.sandisk.com;FPR:;SPF:Pass;MLV:ovrnspm;A:1;MX:1;PTR:InfoDomainNonexistent;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;CO1NAM04FT037;1:DpjqC2FNuInnMGd3nF1MoLcGbLao2EP3ftsUg+wupWzJDrt3WZqCR9F7/yx7875LU5axpxAh+QKEX56JamwjZUiIk6QvYaGhXQ6jlFz8ot16LH36p/HLhcLuqjz//pRklGeAZCn++CeHqUxLAEzoUYnpq0aodcit0eEb03cwVPf8raRe2epUmhhhKHrNegZg13IaFGL8aKFt/4n/cUYNh3Ct0kjdZqLPtJ6dk7htsWvt7aGxGBPyiKSdJURzYle/4raQsfLUjusAQP+4EBjvE+Kx4gl4dbZJOfJl/eAQPefGCceA5lm+Cca5HYGm6AvTPBwlhrS5/LfYtqYGCoZ9EpTGh7fROnXtjZBWPLJmYfEWXh/SXBYscPQ2GmhE9h8/cdGnBjWF8at73cO2XYFl/o66vh46nJZKc40nP8Nu+dykQjZGiuF00mfHW9np67cxQyEDxkWKeBf3NvsNX5gDMGKdsmSqZcquoP2B8QHBut9unHZlfJiTNZ+ehv9I5121wOp+l8EFEDUwF14nDajik2b5+BPxS84P/DyRneSMCH3tDminoVH2jF1qQmm3ow4PgmDTaU4LM/gX68I3KB9A1Q== X-MS-Office365-Filtering-Correlation-Id: 42c0d5ce-c0ea-4ab5-c9e0-08d46e12e67d X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002)(2017030254065);SRVR:CO2PR04MB827; X-Microsoft-Exchange-Diagnostics: 1;CO2PR04MB827;3:LFh2kvZlsCq8vkYJtKcNrUkl97MzydJPUeVEeofj6CmOZNpnStNfj/llKFivhWmvLDaVeK4YOyENZaajty/lcUfSsQMMTk0ki0GDPLJOBPJVzufrkZpZr9QacPCtDyvkHAdcQCK2X0UZhPo6kplOI/wMdAKgA74yrDdn4027QslswPnylVXivbLX/MMm+hyrUfv/r4T53ey+X1e+Hx2/y5YsOM7c4PdSjKiAh0ziGc69OE2Rkm2iQnlz2BDVSp9xgITatRXQBz6ECuFnQal6T29BKj0Ha3fHm0igoEjyKGSsRX/hbK9s5GB6ulRpqpu7biTfYLwwKqsOhXzh6Hgpccon/EFO5v4jIGApaAJIDJfgmf3GjzQlTIwxIp+YEhm7028V1dcxG6iMc+3+thdo5ruIUohEXUdOulYejyGAtxw=;25:aaSND+LgNezvp7dh9DGcF7x3YuXqO89X7JVG3v/p/zr7hU+jAREGbXUNEwhrm/A3ZTJo4own5c/3BdTREcxAc+DDTK/j8FmchsrPtXhR7rIZ93BzThFbvTlme3yjBjJQ8MGyYwORaW4fiPjF3jPoMd/j0LVWaA3QEYX6mBVQG1WilW5kWzyhdSkvXhh99pISM7H5SjTg/K9UecUP6lBadewTuWy6o5EukaJx4UV+e2D7ynJDxgd0cZSwicpXu0qXfJWhPUDBBG3H1V9s0bO8YVwWDxLC5yDP+F2tTWoy3dkmNEtqhm1mnUoRFYiTmyBPza3rNEaxNHIxj4KD4uzQY3M6xFPRLrqEkMAH4J3DuPt1kV/TH2t1tJFMr1AH20hTZhrsG3Ko4velw9Lrnl4lrUwrD5TtFwUcvYnGHnarHJwTugdtHj99xzxR5Cu8ttyCCXAKLEcLMC66fnVhzX5sTw== X-Microsoft-Exchange-Diagnostics: 1;CO2PR04MB827;31:RUikAfN+Ev6gVuCJon0b/OjNq/syAGJ8fG02kpqMPnCNfU2ARQSrpnFp1/wf5zag6McJpKVeC1C031lWB2iHHoWu5audlk6NQqQRpI4igN1PaaBHhLRekwsFwsUkUnTGsZSqh+mvO7AX7TZ/+d9s1KQFNEtfUtZ0X5nmkXwZHM3uO+gYssbtBlm5C9L1qnpaTaPlzaeDdQhHc34XJlnF7BVmENoMmZqH4Wrv2Xu8JzH/JzvILLMV/hqPAeXgA4GVvnarg+D4H8dV1iRiSum/Pw==;20:+mWdzwUT/78K9LND37VqMqiTZudeFobXdT/6yPcayMb1griEzhAYqytsKWOoUeMgdU1Rj5cBKTihokjuIgzcupBPMrW0vCAJM9P7nfFnfaKlnRKL9nL2/+2Y10/odXZZuuflF4Px0kIl4X6w5mag6nUOqmDoScBWmA4nENks4nEb0vr/TQYYAu8on7Q8/YsyjU+Bck7z8Z5/Ovcs4Qoyqc2lHLBLIPZyAvjkGp13qpXMkhnQJ81s2pKs5MxsaTxsBtzmnsih3ctNZK8IR43gElLd3P7oAf+mj1Potq6swav3GjM48gTbiwwSkD8Xir9mXnYpkJ5AXAGcRVIN6u2nOlAw7Z+g9kyPXUGvqugfEbsacXlG7u7LAYSgk1T+An1UWb7VozZjS13Srb4hkpuknU1Ntdlx9JHNALV8x/Y9RmTcLFaAiK/2dp0nI0WDd75Y+m5dz4oTsFcld2IKTC43TCkiEtZTfktroA1tF6hpOUcdPu/VASjEI+9mt3iQPBGU WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(42932892334569); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(13017025)(13018025)(13023025)(13015025)(5005006)(13024025)(8121501046)(10201501046)(3002001)(6055026)(6041248)(20161123560025)(20161123558025)(20161123562025)(20161123555025)(20161123564025)(6072148);SRVR:CO2PR04MB827;BCL:0;PCL:0;RULEID:;SRVR:CO2PR04MB827; X-Microsoft-Exchange-Diagnostics: 1;CO2PR04MB827;4:ZLNLzuoqHHL0Z0R9tl0BBcD0C2GRIQuH04QYyx5baL5Ok9t9Bwv4BAHjcbRHsCMXc+HaB2OXd21fxWTEikQBhyN4CVLcZ9l+uOflE8YtazFuM0tNmeosTERmHpEFzdyOZH70I4+SHGEv9gkInqppKibjjVJ/fO2Ptt4Kxb9+5OV4fM9r7/OQ7zctQcklsatPD8+JU+BMxPpM3imCW8e7b03kFaPiFtTBGod6E1AT7DvsL6JvlMzulQCv//NyNqr51sDuD3a3ZxmQOaH2V6iXvh7cZzvantSZLjdOMU73S+NOH9emS9BL26ufab9pyXLe1nlBA/kMbtfX+3d/6xBPEasjC78zzlcEgfLZ5in9Z+H5mmzq/ujg+cO0yu7FHZ2veppPxF6CNQpJktx5hCefR6AFbchnlijIG7qEigbZkV4q50GdD1XlbF67zZOJAmRDNDC8SwpXsgcKwPxOuxgVuAbGVBT501bDp0woOL7oUEFoVlF0kN8ZV3/VSKFeTdpq2lnZ8jfy850V2juYaIzO7Gezw+cnnziIMg+mV62JfhI9HenNoTGwOj6I1fYVkR5KpaM7szjo+X4zHfxqAEfcvjGBSAtR8AtsUIbc9WHUlEC68k0YVRpLR7Injb0BzP8/uDjokrywNjz09iF1hl3gRyan9Cuur6ie4FcWRv70BJz+5XG7SOE9Rs1sQC937qMT+32pYAyb5Qkl4oeHNK2JUmdbF2RD3kfCG+GhOYy/guASSVFqgHcmnWDr80Z0plFLFeLF/VAcL4vW2DEx7tGREA== X-Forefront-PRVS: 0250B840C1 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDTzJQUjA0TUI4Mjc7MjM6a0NsemlZd0lYR2dJYUxxbmp0bzRZMGJuVVd4?= =?utf-8?B?Z2k4WjhZc1BpUmpGK3VoNTg2SG4zTFBpQnRhUFBFQ0czcnhPZmVlK3p1YzZm?= =?utf-8?B?TDNaaEFnWTJPdnBUQnBuU3FjSEVHOXpodHdEMnIyeGpJaE9UNDJXcVRQY0ZP?= =?utf-8?B?Z1h1Zzl4MzQxNlFhc0lIL3cyR04rQVUwak9BR1ZHdSt2YVZwSXZycVF5bDBK?= =?utf-8?B?WUovUWsxZkVVQWFKNTZxVTNiVUtGcFZDTjJ4anpXSEtZUHlPSTFoWmZkQm4v?= =?utf-8?B?Y003dUdZYm1kTU1CODN6UGVQTkVwRzVKNjl4Q05kcWNIYTJ3dUMxVHhDTURB?= =?utf-8?B?aHAveWg5bFZkeXdCREYra1FpTTl0WDhud2g4Qm94SEVwNFJZZFJXTlRLd2E4?= =?utf-8?B?b1U4WU9LVmdZS0syMWhXdmtvVVE1VTNicklIMkhTNkkwNTRGc0paNXhsYlgz?= =?utf-8?B?YnVuOVlGc2RCd3lQVlBOaHF2Mkp1STVibmxINWtoYXZKRXhneGxEeW1maGll?= =?utf-8?B?NHVZOGplOFd0aGRJNXhuTlJTZWUzRXptMGlDc1RGaEVQQjY1bVVCcnFOdGJ1?= =?utf-8?B?N2dEbm8zaDdFWUVXMzZ4cklZMjhjT3BsOGxGV0hIOXJFWUdKek9Cam82VWdr?= =?utf-8?B?MUtmZm1vRWxKMmUya1VmN2lGd2lUeW1IK3Y3T1d3cWwwY1hTakhXZXc3NGFM?= =?utf-8?B?ZFdlK0xFR2krZWxkTmF0bG90S1FUd1lia0x1RjFQWG1SZjdyb2o4UGhkTXZH?= =?utf-8?B?NHh5T1MxMDBKU1BrRzNheGRIZzV4cTZzckhrOTJoWFBVTitXTmxIeXptK0pv?= =?utf-8?B?bUlpTGdZSGV1cDM0Vnh5QzFqMkI5d2ZCTG1pbmF1OCtOcUtOQkIzWE8zRk00?= =?utf-8?B?MEpLdXlzOGxBMU9kQzlWZ2VzeXpPWk1YaXk5V09Ia05BcWl0Z0kwYXBRUDYx?= =?utf-8?B?QklqMXJPNFI3cTIrbndGRzFFRlhsNi82bTlBNHZuMHdyNFRiT2k1cE0yYmhE?= =?utf-8?B?Ri9FSlJ1bTM3aVgrVXl2VHJOZGZORXdCano4dTBMeGgxV042Wjk2WnV6QUVs?= =?utf-8?B?SEF2K0JWNk5NdmV6aHREcHFlSXFudVRucml6cGNGYk1PWi9VVGtyVmxEdEcz?= =?utf-8?B?UXN2RzNOM3pOWGFUaXRwRXllblNSNFlnbFNGRkY1ZXhvelVsY3FSVHU1SjM2?= =?utf-8?B?aUhPZ3FWVlVmeUlPYkIzdHBjU01pVVdDWnhKQUdWVDhSQTF2TE9QaDVTTUhU?= =?utf-8?B?Qm5LVFhmWnU1aTcvVHZTdFRHQ0d0MnNVSCs3NWlHVnMzT1FOVWNtRzh1REV6?= =?utf-8?B?b2NXL0xEeWVPTnFXbDhZNFBLZVl6YWZ1Y0FGdjYybnBBQktDZVRIajBFTG9F?= =?utf-8?B?TlRmUHdOQi9ibU1EL3lPdzBWMXpLMjZDTk5ZZ3h4K1k4dlF1Yk9FdzY1blF6?= =?utf-8?B?RjF0aTAxY0s1SzVqaUpySTRZdWdCMFRVNmJ6Y3Y2MFVZeGxxZVg1emg1SzB4?= =?utf-8?B?MEFWck9xbXF4UXNaWGtzeTFNVDZaTGZNUWNQT3JlYWYvb0ZVWlNSWHpJYnRu?= =?utf-8?B?azFRNWQrc1dYN3JURlA2bTZ4b2xwNnRnS1I2Z3F3WTZ5emdNNmZuaXlkRnRE?= =?utf-8?B?UlJXZnFMZ1RxcDJMcmRUSVE3UEdCc3g2U0RQOENLTnpnV0Ixa0lnR0kzekNK?= =?utf-8?B?ZUJMS3Z3V3drSlJkSjA5b0FRckZTMnNxNzlsWWhRdEpBQnVNcUdNV2d4OGRJ?= =?utf-8?Q?2C4g7hSUwwwaY302n+9HZQ2HYQ93wOXIU/54=3D?= X-Microsoft-Exchange-Diagnostics: 1;CO2PR04MB827;6:xgFusJoVzfwRuHU/Ls0TvsV6bsPb6Oxe22y/iBjzir4qXT1e8AZ0BS7kll+KxBZlWzSyTloJvCppx6Dvlc5+yxkiG+6OOA9vYJJmys+fSmmut+URTG/MXKCGJhTcn9Qw4ix/jLOzeCgEA/nx5QI0iQFILJWueBmEIQvgrBN66hAWRCGWjlli2GrokrlRjyu7glIMr5C4r/EX6GY/s67xxPOsg9Weo91P3NwP5EqZ8DqZzZYQ8hw99uFipDpu3MAETt+Iu4mTayAPyd9bmNtQ2QaT+x+8u1gQ2So2QNvAfEOFoWhRkNsG3xwkjTWlpGnDADxE4IxdCgWs6j5e4EoRX5LSL/+I1Pb9Z5SVGpQZFZ2OljJafdCEIyoRHFwfDFKAKcgIiWnQ6Qr1E8KRC3Y6+4I1LPLDFPs1iiAhJ1Jztd8=;5:ODHtEcZ2X3TAeGSWG/ZMmbGaGLDigZxWxwQ5BTxDwXBa9fhANsgJUUC2ceGK8HU0dkBx7fMJ9WfiNEh3tvAtPlAhHniboeSA0kHZb3lInBTeKmQYxuC0tDC5xgFGQJ7U+6M+Cg/59Jl1CLBHS85UDQ==;24:fYdV7CoHulIaK0G+qiYHPg8uXsWiNi2jQrtH5RtCiEMesW8sct+Ou0v5ahQK4/ADH/dM5cAk6ngqQbTFh3eydiQWwMeuenkWFuM5fYIdEqs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CO2PR04MB827;7:wUTWn5sDjL7G/LqRVHkzOVkqdAPW24vAh3R3dIxMElHDGfcsN5SpThBWyWgGsyms5DdjxhbAEL+LCOzGgDWgLvfTwxwPMGXmT9sReE6Y9yU0K2FsiN38oqZizg6lt3bc6zjv5Gm4HiBwOdO2ZKsSgEflnD8n3/KdzjBSyqlXHCGIF5srGZrk+l6YFshETQxY51tvVGS9rrtTbnnJ79WuCPzlIKjHONwr6HM9gVy216erRhh/Tf2mBkIk/6sAR4tRVNH4xr7gc0ZRj9jJzLje0UlZehBi8yMYbX5cwsxor5KyVQFq/crB6+VRVaXnScbqim+hyjLuQ5kAngB9WUdbTA==;20:cwSUUotwjypoJ7vUsJxTQ16jXcNtQvti+/3a3hJoPbafYGDc+xv4XDQmP1yB3+y6ejO8Q23IpF5ceMgGkb844fS/GPFhVEG1NC6QB9Mw0CxtnYiggP01JIF1rdDEgRen03svtwilvzYOeYXteWKVtcuLcpneOkx1Hf518CS4pjY= X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Mar 2017 15:24:38.2020 (UTC) X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=b61c8803-16f3-4c35-9b17-6f65f441df86;Ip=[74.221.232.55];Helo=[sacsmgep15.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR04MB827 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id v2IFSBsF019654 Content-Length: 1945 Lines: 49 On Sat, 2017-03-18 at 08:08 -0400, Paolo Valente wrote: > > Il giorno 06 mar 2017, alle ore 14:40, Bart Van Assche ha scritto: > > > +#define BFQ_BFQQ_FNS(name) \ > > > +static void bfq_mark_bfqq_##name(struct bfq_queue *bfqq) \ > > > +{ \ > > > + (bfqq)->flags |= (1 << BFQ_BFQQ_FLAG_##name); \ > > > +} \ > > > +static void bfq_clear_bfqq_##name(struct bfq_queue *bfqq) \ > > > +{ \ > > > + (bfqq)->flags &= ~(1 << BFQ_BFQQ_FLAG_##name); \ > > > +} \ > > > +static int bfq_bfqq_##name(const struct bfq_queue *bfqq) \ > > > +{ \ > > > + return ((bfqq)->flags & (1 << BFQ_BFQQ_FLAG_##name)) != 0; \ > > > +} > > > > Are the bodies of the above functions duplicates of __set_bit(), > > __clear_bit() and test_bit()? > > Yes. We wrapped them into functions, because writing mark_flag_name > seemed more readable than writing the implementation of the marking of the > flag. Please do not open-code __set_bit(), __clear_bit() and test_bit() but use these macros instead. > > > + } else > > > + /* > > > + * Async queues get always the maximum possible > > > + * budget, as for them we do not care about latency > > > + * (in addition, their ability to dispatch is limited > > > + * by the charging factor). > > > + */ > > > + budget = bfqd->bfq_max_budget; > > > + > > > > Please balance braces. Checkpatch should have warned about the use of "} > > else" instead of "} else {". > > No warning, I guess because the body of the else contains only a > simple instruction. Just to learn for the future: what's the > rationale for adding braces here, but not imposing braces everywhere > for single-instruction bodies? It's a general style recommendation for all kernel code: if braces are used for one side of an if-statement, also use braces for the other side, and definitely if that other side consists of multiple lines due to a comment. Bart.