From patchwork Tue Feb 13 13:53:50 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kevin 'ldir' Darbyshire-Bryant X-Patchwork-Id: 872854 X-Patchwork-Delegate: blogic@openwrt.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="eyOkxllT"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=darbyshire-bryant.me.uk header.i=@darbyshire-bryant.me.uk header.b="CfDatXFR"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zgkYT3Q3Wz9t5Y for ; Wed, 14 Feb 2018 00:54:37 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Subject:MIME-Version:References: In-Reply-To:Message-Id:Date:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=LYVpa35Hx/bFHGYOtZjDbq3k/yT0UGojbvBVFMK+p9s=; b=eyOkxllTKsX7Ec VkNdUwjS1Dkn1hQ38V8rJnX0Fr6cdGd7W825oBtOzDO/R7kSOz7N6TJeURX9IpsB1eAxC0Bze+pyO SmL8T5nnve4SkB4CUWRmXNq2kbn0O1fqWn6Yq9Rgv2eFuqGFJAWIdT3dH+p2q02dwgbmnRfZ7lb8v 9I38dUyB2USHv4h4ZiwJBgOWo1vb3q1mvTDx+ZfDVcgHL7eIlfiAkWSbbR5Ft7f0k9/cy4unpsdS/ LtzuCnsDRQxsmQY6S5nPMeaho5NO06Wx/H1N4tJIdCsdhCqcijeO7chKw66Yi8KBMPgQ0sgDBLZgL nT/s/zstPDCtmtNcx0yw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.89 #1 (Red Hat Linux)) id 1elb2W-0000f6-RD; Tue, 13 Feb 2018 13:54:32 +0000 Received: from mail-ve1eur01on0083.outbound.protection.outlook.com ([104.47.1.83] helo=EUR01-VE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.89 #1 (Red Hat Linux)) id 1elb2D-0000Gl-81 for lede-dev@lists.infradead.org; Tue, 13 Feb 2018 13:54:14 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=darbyshire-bryant.me.uk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=dHzxU2oP0JjFCmhPSVkd9eEIZxOvB6xFOv5PxfYSBEE=; b=CfDatXFRS39C6+tw6cRZTLoPlxAaBFktHFZ81Eb3cmCo+xLc6ZfbToURnmIt4cai6a/APUxasvtFHsdS2Zy6q7WNkce/5FpRIwA0Y9TA69KefZj7LT3BI1XlK4MW2nkDP3p16KdwtPEPM6iU7YvHrnF52BVLSTGOJwasaKCCWkI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kevin@darbyshire-bryant.me.uk; Received: from Rowlf.darbyshire-bryant.me.uk (151.231.154.194) by AM6PR0702MB3734.eurprd07.prod.outlook.com (2603:10a6:209:12::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.506.7; Tue, 13 Feb 2018 13:54:00 +0000 From: Kevin Darbyshire-Bryant To: lede-dev@lists.infradead.org Date: Tue, 13 Feb 2018 13:53:50 +0000 Message-Id: <20180213135350.39999-2-ldir@darbyshire-bryant.me.uk> X-Mailer: git-send-email 2.14.3 (Apple Git-98) In-Reply-To: <20180213135350.39999-1-ldir@darbyshire-bryant.me.uk> References: <20180213135350.39999-1-ldir@darbyshire-bryant.me.uk> MIME-Version: 1.0 X-Originating-IP: [151.231.154.194] X-ClientProxiedBy: DB6PR04CA0015.eurprd04.prod.outlook.com (2603:10a6:6::28) To AM6PR0702MB3734.eurprd07.prod.outlook.com (2603:10a6:209:12::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2d58aabe-197f-434b-b9ce-08d572e93c79 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(7021125)(5600026)(4604075)(4534165)(7022125)(4603075)(4627221)(201702281549075)(7048125)(7024125)(7027125)(7028125)(7023125)(2017052603307)(7153060)(7193020); SRVR:AM6PR0702MB3734; X-Microsoft-Exchange-Diagnostics: 1; AM6PR0702MB3734; 3:4iLE7kSmqfxsI142xuQ9Q8C4xVyPvfatlK2v99wS9QIivtf/WPTBQf73m6mE25oxNWOGN/W9roodOm7r5Zvz/6YD593wxFYNpqyWQwP8V6bWv7wVMF4r8t3MsC9dFjip3nUfqKIfHLpmh0B4bqXFWEDdI63sbQQL6calfMwMkExZw69kogIjPp5+TXNpZ5qtPZf+FI6xT4I7n2RGdqicDbxjVSqVfquVftXcqqq9h6FE+v/iGlizzoGQkkdBYxHy; 25:J15062vz2ssun/1qRji1hPMqfjlRpekOZbxESlCtQ0zwWZVm/nWj+vVuPxrCK1F33SerRgMHDCNiRPZlKMlZf9gPX74i4xUVdYv71j3HM0UyTls63PnpSs6OcKScmhFesORg8ANxzzl2d8gZ32EhioEiWp85VxMjq/TdynBC1STcXOefH1PUd1Z+JP/F3xle4riabYXTBVTj+Lmh9OyhTw5xKzhOEWJKDSW18ABTsY9yT4Ms4WwjBERKhRRxurd++fCUpWh/3ScA7f0SfmMxe7CieIiQBAOqXm+Q+j7EhOvZie6x8vGeqNf3/+D4dMJnnEWy/V5HF4z56Rvn/YmECw==; 31:UlXjOeruxiQwRNbgSJfniqC+FxpTsfYHsxrOUSc268ecpZR+iDLSpO/vu1KQdsvRnerHaRCfu4AGhZw2W5koPuBEedbACXRTPqWHLxsbbVJizKdqd/2HcwsPIb57NA8CG1vKygWmK8Uove5scfP+9+3bRYSMQK1KssFN9xKqAv0YLPdn1WR31hoyMajVfoEH9eLMZPXV+g/yndZYTL5N1Bb3tmUT9ibGTMTZnYqxA5c= X-MS-TrafficTypeDiagnostic: AM6PR0702MB3734: X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(5005006)(8121501046)(3002001)(3231101)(944501161)(10201501046)(93006095)(93001095)(6041288)(2016111802025)(20161123558120)(20161123564045)(20161123562045)(20161123560045)(6043046)(6072148)(201708071742011); SRVR:AM6PR0702MB3734; BCL:0; PCL:0; RULEID:; SRVR:AM6PR0702MB3734; X-Microsoft-Exchange-Diagnostics: 1; AM6PR0702MB3734; 4:JF1pmGf6PCWHebM5/zKyB4prZ+0/QziYpxx0/dl/v6mnqzAsuLQCOaktnxyoAGU9fpKeNOB6y8tXPrK5fDzqwGjJoep5yHLSlsiT5/1/I7YjuOSzADV34rIAr8oYFtn8p+AG9JrwTJeExB4jtZjvxrCnx/pyOCgJ3MCdnQWN+yDgm0VmotGWkgiAF2FD8GyIM9kHXdQGfx3ZOplHB8hHf+XOD7uIQyP9/3KfQ+hvYhGUGMQRmLnvDWr3L1ltRxMfX2OXeva8BhXxdN3IFqAZeA== X-Forefront-PRVS: 0582641F53 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(376002)(396003)(39830400003)(366004)(346002)(39380400002)(199004)(189003)(6116002)(52116002)(51416003)(4326008)(2361001)(6916009)(42882006)(48376002)(6666003)(2950100002)(50466002)(16526019)(186003)(106356001)(7736002)(305945005)(316002)(478600001)(50226002)(7696005)(2351001)(8676002)(81156014)(81166006)(36756003)(8936002)(16586007)(74482002)(53416004)(53936002)(105586002)(25786009)(1076002)(6486002)(68736007)(386003)(97736004)(76176011)(59450400001)(66066001)(69596002)(2906002)(26005)(3846002)(47776003)(107886003)(5660300001)(41533002)(46800400004); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR0702MB3734; H:Rowlf.darbyshire-bryant.me.uk; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: darbyshire-bryant.me.uk does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM6PR0702MB3734; 23:VnxvwGuQJSChHMz8iBy4X2Ep5ocodjX+kcr8Qhh?= cPdtbYLHag422o5OjE103EQJ8atlCdTDIOvyuBu5q/hObrVWhuP8yHAafUbT5hih33Qj1D5pvwebiaRNii7rr7ISlXzBpbB7mZRq8Qs1Q37qyJf56jwIvyAZRGrOK57kswev6OWvsyMzc3GCKiFcsD7u+fy10i8N3tcy1ctzkACiaizExqOfOT3ioRB4JgwFXg+uxumkHyuRCx6dC5x5bV7Adx7ge5hhTbv+wjFiAwXxH5VRg15zRAKbmNOWvIWEpuw6fngXVVX+izS0B4btKH9XZbPN4qACXiSfq8M80IhRLRzWelCYxIylIakmcpvo5gxe+OYiLpnHFZzBHXphQye8sjcT/uzuCJVmxTDcAHXUHZJH6Shq9K6MPpqrGGlMzQ+ii+cWDpfucV0Y+uhUBmy1MZOJ1aXiLvRnWFKlFPBIRHptJ5rUOGlm6FUy8tOhOvmQch/b3RkdRED071xzyNwumuTi47qSi+2ofQLqmrSL4KyxvUOVazzC+/+OyD6SsdkQJOCxryQ492BOyuVKcWZ9cOk5DGR8FhjFrRZb+gMvCF75BUPL7bwTj8x9QXXKr2iKUzsOYVb6+mB2jqGqDZhFqGrx6XP/JF+lIzPK2CZiIbHWGLtueZJsp4VdgPFuRQ0g1491Oq+sSmX/SviRsKCepMxrMlGwj1tHPOfnfW+80eS3AP+qy4sYuB0jK2ErDyDBMpwuZ3Q8rM4+Sb1NJNEhPQoQFSL+mLQGeibQGtEON2SyL7fTOgTDMu7kWai26eQUkE81U0Yzy6a5nWtrdzfR7Jymsb/RMfPFAOfFg3PecN4DqeIl3Q/CHQjxV30wGtB7oEKodde0LvileFnnfPTk0tVeH7rpdeZu+90+tGd3rHiLH7z8XHYXd+62BEoiHbmVOpBH0nJ//Hy2uVlPpvmly/1sbGQ7WeDUUarJnkyAxfII3GQA65Miwb40dbHfbCfU+MCqqPJlgiPtz90L9V/vjSxNq6ZUIypdIs6xzu02WRCCgqOagJonY8BEJjlKOI6SeRMzJqg16xiBDGhUfe+cGAOqhWtjG5WIxg9UuXT+uyfgq2KljLcFysHhjiOoGG31rTOXsYEVSmBmZny9C269ExDmGQXUvfg/jv0sTS6r4HLhlfk6+CZN5Go67zH6W7+Wc91tEmfnDmKlWMlirwJ+218gcpR/Ct6iYtNCCUzU742bdhBCkp6FF/tjGskH4ynJkAUd2Zl7n9qhMtS5ZiokQK7xrCUywqkEBWWcGn4V2FQ== X-Microsoft-Exchange-Diagnostics: 1; AM6PR0702MB3734; 6:TpLSU7UQyWaqjWzFa4pLqsEQ4WFpA7XWEqxALoloPvce9nCR5VtNOwtf4tVMZClum4Fv0VUX3V62hVXw1Kz0Fj5bExS43fl1Wg73K9C4xcSEHa4V/Q9IRXzPnsb4jE/vXJ43LE/AInSjXD4/SOF1K417BoF+PEbDmvZZX0IsTH6DWVaPlDTsh778KuzzlDi23cZ1eGPPI9HFX1/oJRKEmkoTz/r4Sb/i4qC2BXZtkfAmO6Q7rfDZXpeBQaMwgcT3en4GTuZrY83ikSTp08gZZnBuXP7aWwqSTDynxeOiGonaIxmXNGGTRD9SqxMnkB2RZ2S6CzT40UzCpa7E1+r4njsBg2VRy+mTCqTEfC8iO8M=; 5:nHFPKJhv+8CFK62F5qe+jRZP9dIZAKKWoY+adCA6exmxcKsVGmJywioTRxcmsIqMsr4ESWuLvw+hOh8j+OD78KZz4nNgVapSjzgZE4dCEGBtw0TVudJT7gmcWR6/juwKBOrxV9FFMVcLhde/wHS7oC8J10Cdj1r/YC9XmpBFIOU=; 24:zpjAd6w3IOcC5e3DSdjAjoizIStWkjrn98n+N9OA87bWmaaqJZhRclhWcljzsIaOMCJ0vqsQ/pkEwz+XItjGSBuQYIuX5Ah1mejR73BuLzQ=; 7:InetgbrMcFdm8Wm1ASpE2A0cB36mRWqc5Xo53On7zwIDJNJdqgOOYz2YXQw+co0o548GQAcqyZk5zsGZDL6KYsGdAy26sZTiqqo0U9aERborzaaNnLVtanCmHBzBuCPeOS7sCeWzlJaua5y8L572KVh0IlFaVE9wjlsA7RtypZ0t2Kv6uJ7o3VMypW+24j9quRWHzQiWlGXYMOQO7crGKqNWenA6W3eeDidW+iHmg9EntB+uZSFUb+zrJYKRGkbz SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: darbyshire-bryant.me.uk X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Feb 2018 13:54:00.8943 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2d58aabe-197f-434b-b9ce-08d572e93c79 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 9151708b-c553-406f-8e56-694f435154a4 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0702MB3734 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180213_055413_295498_6F7FC945 X-CRM114-Status: UNSURE ( 7.54 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -2.0 (--) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-2.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H4 RBL: Very Good reputation (+4) [104.47.1.83 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [104.47.1.83 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders Subject: [LEDE-DEV] [PATCH 2/2] generic: swconfig: reduce lock duration on sysfs files X-BeenThere: lede-dev@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Darbyshire-Bryant Sender: "Lede-dev" Errors-To: lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org sysfs attributes 'port_mask' & 'speed_mask' held locks whilst doing mundane tasks such as sprintf. Refactor code to reduce length of time locks are held unnecessarily. Signed-off-by: Kevin Darbyshire-Bryant --- .../generic/files/drivers/net/phy/swconfig_leds.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/target/linux/generic/files/drivers/net/phy/swconfig_leds.c b/target/linux/generic/files/drivers/net/phy/swconfig_leds.c index 92be3c7501..91824b7cf6 100644 --- a/target/linux/generic/files/drivers/net/phy/swconfig_leds.c +++ b/target/linux/generic/files/drivers/net/phy/swconfig_leds.c @@ -124,18 +124,16 @@ swconfig_trig_port_mask_store(struct device *dev, struct device_attribute *attr, return ret; write_lock(&trig_data->lock); - changed = (trig_data->port_mask != port_mask); + trig_data->port_mask = port_mask; + write_unlock(&trig_data->lock); + if (changed) { - trig_data->port_mask = port_mask; if (port_mask == 0) swconfig_trig_set_brightness(trig_data, LED_OFF); - } - write_unlock(&trig_data->lock); - - if (changed) swconfig_trig_update_port_mask(led_cdev->trigger); + } return size; } @@ -146,11 +144,14 @@ swconfig_trig_port_mask_show(struct device *dev, struct device_attribute *attr, { struct led_classdev *led_cdev = dev_get_drvdata(dev); struct swconfig_trig_data *trig_data = led_cdev->trigger_data; + u32 port_mask; read_lock(&trig_data->lock); - sprintf(buf, "%#x\n", trig_data->port_mask); + port_mask = trig_data->port_mask; read_unlock(&trig_data->lock); + sprintf(buf, "%#x\n", port_mask); + return strlen(buf) + 1; } @@ -164,11 +165,14 @@ static ssize_t swconfig_trig_speed_mask_show(struct device *dev, { struct led_classdev *led_cdev = dev_get_drvdata(dev); struct swconfig_trig_data *trig_data = led_cdev->trigger_data; + u8 speed_mask; read_lock(&trig_data->lock); - sprintf(buf, "%#x\n", trig_data->speed_mask); + speed_mask = trig_data->speed_mask; read_unlock(&trig_data->lock); + sprintf(buf, "%#x\n", speed_mask); + return strlen(buf) + 1; }