From mboxrd@z Thu Jan 1 00:00:00 1970 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 3AC5EC3DA62 for ; Thu, 17 Aug 2023 17:28:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:From:References:CC:To: Subject:Date:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=EiqyGSrdlGoDMs1xIQf/22ev4pkISbPCFxN0EUmNj6k=; b=fVzmyXN5vaxd1b8qlewRA8kl92 /mccXIkoaFIf/yMAL164PveCIWJZmpLll50keKjD9qi1Noj3WEmoUX0m3SmyHTNAAIdVbbDG3P9iI Zq6Si9Ulb5ytCqko9/TOwbnFqqhiUjHgXobyDAOmL3iNq27UTtIKIpJ2ZjZpWsrN/5FxC2+RCo6QR +ES2CT6HtcWute2sjnNk0EfYIuoZ3gM2qzo4krDQJlATw6S7xa1ICF3R0Yb11bJS+YELeq0KTuW6u 9FdCxn9nYKXyy1S7U9B2JFLNxZ1sAv9g7pJLx2aMQqPO+A7Z4AkPhs07G1hyn2foZrwQwFmMlMG4N 2BGsYq1w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qWgmh-006ssK-1k; Thu, 17 Aug 2023 17:27:47 +0000 Received: from mgamail.intel.com ([192.55.52.43]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qWgme-006sru-0b for linux-arm-kernel@lists.infradead.org; Thu, 17 Aug 2023 17:27:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1692293264; x=1723829264; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=+rtLugvYLFmhmiW81NM/GeuhSs8PqMa0AzqBC3B2nag=; b=S/8vYv0/+G9U5A9GXwNYgu7h1ykZuE8BwzYOMQJgcwqHrZMLwHG6kprk kNgRlKNBBHmkXeO3vUfV/KpmR93CbLgraMeTNdxydy9wEXu8ejWtfWO+M y7/G1W/X2/yhg1ulWFKq19RZZgUef7LLl87nv+dvAnjwRunr6k1NMOFS5 0bJ16RH1EFUlkS9B39vBfGMFpzt05soqC1hd25YUGtce7GDDfbJCet09q 9bAvL+Pjm3l6HeXEDZTt5FKD99cj3IXlykfasbEy7ad9Sg+revvN/BRS0 jwHG/nyCFdGYbqv1G47WXgIyrVL/n1ylOYHgz/T2FURYBg8bZFYIAlDKo Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10805"; a="459239982" X-IronPort-AV: E=Sophos;i="6.01,180,1684825200"; d="scan'208";a="459239982" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Aug 2023 10:27:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10805"; a="858302147" X-IronPort-AV: E=Sophos;i="6.01,180,1684825200"; d="scan'208";a="858302147" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga004.jf.intel.com with ESMTP; 17 Aug 2023 10:27:37 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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.2507.27; Thu, 17 Aug 2023 10:27:36 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Thu, 17 Aug 2023 10:27:36 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.174) 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.2507.27; Thu, 17 Aug 2023 10:27:36 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H314Pdr6ZZzrnk8+jkn1D11ONh4FrpMHEUNhi9m7x0KkhVgAlVp/tV4pHBv3W9tqLsZdC4fv3zA0Gh2ss7dMCgorSqHP0TsWDcr4f1+Pf8sW1Nq25LW0NZtytHEXhYW8jApTtklj3el8D00PKWV6/hziljnhoCEo4Ek3yqxGgD+YFj85M6Z43xxf+jveuKJpYR65vEoCRdgvMES4E6e3cTKG8KAEy6d1qaLAhCNyg1yE/w2qyPax4Ro5hL94fBmqpU0sPCtadeDxk4tCLNUeO0xIGA5O0kQaWT68La+6G4WaY9BpDk5cEfDUXJDZ5zztK3kFBpi1yOj3wZq8mEp0Mg== 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=fOcPBSG6Xp7yzESeXiDiChf2zA5Bu1/kbHlFgzxgsYY=; b=UYo2EO8VQaNDpZs/eOWWaQ3b+UtzQLasW3bRu/wWXT3PAPDMhjN6ceSQMojl9e9/8JmZr5bUzKIfaaMyHfnuZ0q91DuSg6hP6VmddUpGSGVygpHgFZhkylMsSS+D5V5LmkkBNtQ7NtIdAabSui/Wesw/3NVOkza5GE3OikUixP4GTDGebc4s4zNaSQKtDLj/RV5wKuYl20T0fDQG9lJzoUEH7Rf+LPum7NCqYNPA81kKwjaFeK/o3UNLcyUDGL3LEZY3dKsexTWnNO7WEbY+gPLj0XrG3dZmM6fGFC8t3aMxFMD4EZIHM2CHCkQIurQzOoqkNSGF19EFBw0e5e9aSQ== 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 IA1PR11MB6097.namprd11.prod.outlook.com (2603:10b6:208:3d7::17) by CO1PR11MB5185.namprd11.prod.outlook.com (2603:10b6:303:6e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Thu, 17 Aug 2023 17:27:33 +0000 Received: from IA1PR11MB6097.namprd11.prod.outlook.com ([fe80::7109:4aa5:6a6d:c3d4]) by IA1PR11MB6097.namprd11.prod.outlook.com ([fe80::7109:4aa5:6a6d:c3d4%5]) with mapi id 15.20.6678.031; Thu, 17 Aug 2023 17:27:33 +0000 Message-ID: <944e7e64-509b-c916-5166-13e7bfe2161b@intel.com> Date: Thu, 17 Aug 2023 10:27:42 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 Thunderbird/91.11.0 Subject: Re: [RFC 09/12] fs/resctrl: Extend schemata write for priority partition control Content-Language: en-US To: Amit Singh Tomar , , CC: , , , , References: <20230815152712.1760046-1-amitsinght@marvell.com> <20230815152712.1760046-10-amitsinght@marvell.com> From: Fenghua Yu In-Reply-To: <20230815152712.1760046-10-amitsinght@marvell.com> X-ClientProxiedBy: SJ0PR13CA0029.namprd13.prod.outlook.com (2603:10b6:a03:2c0::34) To IA1PR11MB6097.namprd11.prod.outlook.com (2603:10b6:208:3d7::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA1PR11MB6097:EE_|CO1PR11MB5185:EE_ X-MS-Office365-Filtering-Correlation-Id: a72f6089-f90f-4ffc-5efc-08db9f473dd4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RRHTeW0A97rkCPcRW6Lm/0FNFxJ4TPKxT4ssD4Mbl9O76lSS8mUauGrS/jc5A7gMZYa/ZBA7pN3AwVnVtCNnuC0pOg1hlDgG/dIpqUs3bgKqBFYBLCR1qZxy5yGt/2EyBflRZFiybNmzm+3KIZjKN7fcDX1++NDmpbyECeR6sXqFtNtwvtjaK12TbpA9UCzXeAMgoMXvtykHfIkieeV7WGvEi6xy8olqX744Y+hdDZHhrbY7xPCfb9wUowelTFkID19H/8Pq6qUD6WqYNmKeLcg79DTkbc8DArxv5EPVpkILcGPxNusw7eA8O4VOYNIw6bz4qF/BSH3FSbPPh/7XE+czN/Gt0dBFXtzbpjtAL0PQAQ8vmAagdcSFpJwcC6KjXtbHyv0dUeBMfGGaSCwVVdzv43DbEBLzXoVV2yuwqso04T/m/VuStvxm9CDIIYfzZma4NMnWLxpzuu4fZeNjKssjx4qXGSB0BA1LH+xF1hXbNaEuS747J0UyumBNWAvJWDeLr8dY5mDM+Uy0dXTe9WVd7yzRp2Jg27ILLtMJ4SUQ+kjd8C4XbyT87CF4P5TifKsfwc5vp3EY4+PH6YRaQ7YI0O8+kmFC9qcuosi3carh9RJseoGzonQ2mi7GFKFcqdol8PxBaW0WZitiVYE0tQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR11MB6097.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(346002)(39860400002)(366004)(376002)(451199024)(1800799009)(186009)(31686004)(86362001)(31696002)(36756003)(82960400001)(38100700002)(2616005)(5660300002)(44832011)(66556008)(478600001)(6506007)(66946007)(66476007)(53546011)(6666004)(6486002)(316002)(26005)(6512007)(4326008)(8676002)(41300700001)(8936002)(83380400001)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Y0RVbEJKSlZMWUtJMDVNc045Y010bmJXd3lWbDBJbzNaSmllVWRkYUhYVlhm?= =?utf-8?B?cmk4QjZvampnaWJKU0FkWU40NlJuRTZkQWhJSVBla3Uva25vYlJjbEdmYVdp?= =?utf-8?B?MW0ySnZoK09RNHhEU29IUGh1QXFmdnhXNDhLN2RackR3N1hXNktDTkk3Ukx2?= =?utf-8?B?UStBNmxvOXo2YmdMSFQ3L2RrWHpRYlp3aGU5SHhaZi9BTVBOZ0pZQnpIZjlW?= =?utf-8?B?Zlh2T2dyVWYvMkJWejZHOGJEUGJUMURiQkx5YTE2bFMxRWg5TStHRGdvc1Y4?= =?utf-8?B?TlFGWDEwejdpU05aQnV2MEg3aDZmaFVnRmpYUUVaSlkwVVNrWlRveUtrSmo1?= =?utf-8?B?dGUxYjVQVDNSWXRnV2NRUHRWL1NQRlptNmpxMkl2aUQ4VXNkZjhZU1ZqTzJX?= =?utf-8?B?V25Idkg4MDE4VjJTZHk3NTRKc0ZZSit3Ri9Sd2xMT0tsVmQ4SFZWbGJlR0Rp?= =?utf-8?B?Rng3ODNBNVZNeGZIQXliRzFqTGc0RzYwVGpEbkZqOTMyZVpVUTcrZUNacXMv?= =?utf-8?B?TVFiWk1OMDJtL25MV3RtVHJxQ1hKL2ZXM29MSFVzNTBMUEFzeXZqRzFZeVpq?= =?utf-8?B?cGdHU0VPU0VFOUdaczZKT0EvVng1UUx1Y2YvcEM1NHBhQTd6VlFlZWlIUTRi?= =?utf-8?B?cDlzbmVGU0ZsZGQyMCs1ZGI5NUFkbytTK3YwMy8wM0x1eG9PUTdKYUM2WHp5?= =?utf-8?B?dXJpMFFrKzkzV3VpNTRWSHQ1QldpaitvVnJYbkFYcjJpYjdhSzdTRktKenc4?= =?utf-8?B?SGgvYW8vRnZJYldodThSMG1NRFJJT0QxdVZoT21WY0F0WHg4Nm9PSC9CbTVP?= =?utf-8?B?NkdOa1gvTzY3a1RMbTRpUmJiTkp3K2YwcytHTm9SNnk1c2NZeThwU3ltRkJ2?= =?utf-8?B?RC9UK0dqRUdqSk5BVzhleGh6N3hYZVF3OTE1czVsZnRwNStyc3A1SGRmQ2tM?= =?utf-8?B?d3VQOHZLOVpsQjRTWSt5aGVKcm16Uk05bVdOK3RxV1BaSG4xZE1SWWhDME9Z?= =?utf-8?B?NVdmSUd3K3BkaVFFTXBCTkdUUWJDVWN2ODNadS9PRkFmN3R2Q1dBaWNJa0E0?= =?utf-8?B?QjBXNnc0OW9WTXZVdUhUMWN0c1B6SCtZSTU2aHMwbC9IOFhka094N2JZd1FJ?= =?utf-8?B?R05YUTVBc0tETmpLYkE0T2RCcGcrQ2JSNkFRL0srL3F2NmN3QmtPZWFzcDQy?= =?utf-8?B?VnFmSEQzanBHYzNGbEdQeWFlWmtIeDUrU3hlK3ExQndPZ0tRSzJLcldyUlVD?= =?utf-8?B?cUh3N2U4cXVPSFAvVkFJZDM4b0VVN1ZzdkJ6Qjdic2lMVEhYUGUyU0drdlps?= =?utf-8?B?Z3ZuYVpXdGtvaTV6cUlBL3BwU0FGQVpaRDNOb25sYjRzZkU0anRYWWhFdStQ?= =?utf-8?B?TmdUMUpBZG1RSllGL0R2MkRIcW9PUWMrQVNyakhPa2FKRmF3aXNEV2dWblJr?= =?utf-8?B?eE1Ld0tnUnRWbDk5UnU4eExjS1l2VElUNml3MVM2eVYrMVpJN0Z1N1cvdEo1?= =?utf-8?B?NThiZittb2J1a3dIcEprZlBJamxBWHhwMU5lanlSVHhCRXpnNkZpN2MxLzJT?= =?utf-8?B?cW1sOHMyS20rejFsL2lUd1NXNEVOS3k4WTNadGZNdkYwMzRYcHRkOG9tWjd1?= =?utf-8?B?R1ZGT2pIZFF5YW9GekJSZjNEazZMSEdOZlFiNVVPM3VLcHBodW4vYTZ6aklK?= =?utf-8?B?bmlXc0w1dHF2Z3pMbjdRMmx3SXZ2TXV4MGNrUFcxekkxZHcvNk4xWEhRV0dW?= =?utf-8?B?SW9ZaHJiL0FhN0REUUl5RGptVEJZZnF6NUZTSUk3Zm5sTk8zNnFXVzVDTXly?= =?utf-8?B?TENtbjA2TTVDYmlHRy9jMmN6S2V3SWk4L0FFVjB4cWFIZEx3UmZEWTZBbXB4?= =?utf-8?B?OVlXOXg2bEJVVFIyTnBGcGUxdTJBYzNzRlI5UnNHcUV6ZXV1bThkSDU2eUhm?= =?utf-8?B?VzNVVSt4UFV4V1FyVk9sUVN0NVdOdlREazJJdTd3VklCTThheWtvWVc4OEFm?= =?utf-8?B?U1U3emk3Q1V3cXROa1g1cEVXUWRMWUxQdWY4WXZhbDkxS2ZkaStRZmEwWVJ3?= =?utf-8?B?M1l1TFRaYzNpMkp2eXNSYisvT0lpZkVNSlU5MGFxaXNGZ2h3NEdSdUJTdTEv?= =?utf-8?Q?CSDQfJf6Xi/oQMNCuevbEceyt?= X-MS-Exchange-CrossTenant-Network-Message-Id: a72f6089-f90f-4ffc-5efc-08db9f473dd4 X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB6097.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 17:27:33.4465 (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: s1+UAw9fQHt6p6ufkvrfVfj4Sk26/HLsCPyjky6wrvOt05Hmf8exveyWcuJjdKWYDIvB/W6Alm/Lu6TYqUWncg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB5185 X-OriginatorOrg: intel.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230817_102744_247396_E26CA5E5 X-CRM114-Status: GOOD ( 22.48 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi, Amit, On 8/15/23 08:27, Amit Singh Tomar wrote: > Currently, Users can pass the configurations for CPBM, and MBA through > schemata file. For instance, CPBM can be passed using: > > echo L3:0=ffff > schemata > > This change allows, users to pass a new configuration for downstream > priority along with CPBM. For instance, dspri value of "0xa" can be > passed as: > > echo L3:0=ffff,a > schemata > > Signed-off-by: Amit Singh Tomar > --- > fs/resctrl/ctrlmondata.c | 92 ++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 92 insertions(+) > > diff --git a/fs/resctrl/ctrlmondata.c b/fs/resctrl/ctrlmondata.c > index ffeb68270968..b444adee2002 100644 > --- a/fs/resctrl/ctrlmondata.c > +++ b/fs/resctrl/ctrlmondata.c > @@ -30,6 +30,74 @@ typedef int (ctrlval_parser_t)(struct rdt_parse_data *data, > struct resctrl_schema *s, > struct rdt_domain *d); > > +static bool dspri_validate(char *buf, unsigned long *data, struct rdt_resource *r) > +{ > + > + char *dup_buf, *dspri_token; > + unsigned long dspri_val; > + bool success = true; > + int ret; > + > + dup_buf = kstrdup(buf, GFP_KERNEL); > + if (!dup_buf) { > + rdt_last_cmd_printf("Failed to allocate buffer %s\n", > + __func__); > + success = false; > + goto out; > + } > + > + strsep(&dup_buf, ","); > + if (!dup_buf) { > + rdt_last_cmd_printf("Unable to find priority value token %s\n", > + __func__); > + success = false; > + goto out; > + } > + > + dspri_token = strsep(&dup_buf, ","); > + ret = kstrtoul(dspri_token, 16, &dspri_val); > + if (ret) { > + rdt_last_cmd_printf("Non-hex character in the mask %s\n", buf); > + success = false; > + goto out; > + } > + > + if (dspri_val > r->dspri_default_ctrl) { > + rdt_last_cmd_printf("dspri value %ld out of range [%d-%d]\n", dspri_val, > + 0, r->dspri_default_ctrl); > + success = false; > + goto out; > + } > + > + *data = dspri_val; > + > +out: > + kfree(dup_buf); > + return success; > +} > + > +static int parse_dspri(struct rdt_parse_data *data, struct resctrl_schema *s, > + struct rdt_domain *d) > +{ > + struct resctrl_staged_config *cfg; > + struct rdt_resource *r = s->res; > + unsigned long pri_val; > + > + cfg = &d->staged_config[s->conf_type]; > + if (cfg->have_new_ctrl) { > + rdt_last_cmd_printf("Duplicate domain %d\n", d->id); > + return -EINVAL; > + } > + > + if (!dspri_validate(data->buf, &pri_val, r)) > + return -EINVAL; > + > + cfg->new_ctrl = pri_val; > + cfg->have_new_ctrl = true; > + > + return 0; > +} > + > /* > * Check whether MBA bandwidth percentage value is correct. The value is > * checked against the minimum and max bandwidth values specified by the > @@ -293,6 +361,8 @@ static int rdtgroup_parse_resource(char *resname, char *tok, > ssize_t rdtgroup_schemata_write(struct kernfs_open_file *of, > char *buf, size_t nbytes, loff_t off) > { > + char *dup_buf = kstrdup(buf, GFP_KERNEL); > + struct rdt_parse_data data; > struct resctrl_schema *s; > struct rdtgroup *rdtgrp; > struct rdt_domain *dom; > @@ -354,10 +424,32 @@ ssize_t rdtgroup_schemata_write(struct kernfs_open_file *of, > if (is_mba_sc(r)) > continue; > > + if (r->priority_cap) > + r->dspri_store = false; > + > if (!strcmp(resname, s->name)) { > ret = resctrl_arch_update_domains(r, rdtgrp->closid); > if (ret) > goto out; > + > + if (r->priority_cap) { > + r->dspri_store = true; > + list_for_each_entry(dom, &r->domains, list) { > + ctrlval_parser_t *parse_ctrlval = &parse_dspri; > + char *dom_data = NULL; > + > + dom_data = strsep(&dup_buf, ";"); > + dom_data = strim(dom_data); > + data.buf = dom_data; > + data.rdtgrp = rdtgrp; > + if (parse_ctrlval(&data, s, dom)) Can this parse be called within parse_line()? So parsing and validation are before real write. If any parsing error, no write. Otherwise, partial write or roll back may happen. > + return -EINVAL; > + } > + > + ret = resctrl_arch_update_domains(r, rdtgrp->closid); > + if (ret) > + goto out; r->dspri_store = false here? > + } > } > } > Thanks. -Fenghua _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel