Received: by 10.223.164.202 with SMTP id h10csp208794wrb; Mon, 13 Nov 2017 16:54:35 -0800 (PST) X-Google-Smtp-Source: AGs4zMbfCShsDU1FFBCBSbo0h4F2YDYACImpcPrpvN3v80xBrQ0IlguQc+TXnOSgPnEFt8mODsnx X-Received: by 10.98.85.71 with SMTP id j68mr11746319pfb.222.1510620875334; Mon, 13 Nov 2017 16:54:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510620875; cv=none; d=google.com; s=arc-20160816; b=NL24EWrTO8AO9HNvvdyZSZtt++8DV69hQfcEpbMtiAyamLqqbVVQMLVdWZiSK1nyFa 0LpDr0WOiyUq8PAijka1YRu+RyB6yMcj3ZlApYBAj2iZBZ0i/AVYaHwFwIt8FHrUTQf8 Of5AWcgRy7TpIoe62OumUxc9D58MttJvyWagCyg6vCeoF2ifrQRbt+3l9k/W1EVaWwQh 7PfzJ0zXaGwBOomJtxuaF9RRkXyYlLmAjDz6k3r/VP1seFJIcY9gpQVQW7iWcvWaTj8q CaXgUHXyWzGMptcFeS9FPe4nklmPjSrOfKN86XTR1bZNGfgaimuQ1FTBJeQzgJ3SWuVS HkJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=SqItx8Jmx3ijXkHTFVrdMRk6Q3OH8ObDS9TiEOsLqKE=; b=i+xJlSv8Qhqz93Smp2F670D7eHY5Q+3jkwBXhCBgLEntbaV60BJ5L+yp3v92plkDWw j8gnOmUqZJMj9dyCye2TiKAwmpZVdKnFg9JoCBNTCXxjnDjnebcUdE6SWdumngrDJaE2 hPnOMrRqvD8+FGiTPn7rd57cXk8dbJ32W0PAfrXnzFrEC01+S2VT9iz69u7O5Om7zAI6 tqQFkRv39/nz5789lwAeHE1BYmJZzpqPsGou1b7Z3f+X1mYnz9fRKygn0aAmYsCsITxG pN2Je14OtbcAUSg59uB+uVuZQn2KM38cf3LjPhamglKLz1oQKnen5ixdc40jlWiq0PJe R8NA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u17si12187583pge.390.2017.11.13.16.54.21; Mon, 13 Nov 2017 16:54:35 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753304AbdKNAm5 (ORCPT + 90 others); Mon, 13 Nov 2017 19:42:57 -0500 Received: from mga01.intel.com ([192.55.52.88]:37796 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752710AbdKNAmW (ORCPT ); Mon, 13 Nov 2017 19:42:22 -0500 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Nov 2017 16:42:22 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,392,1505804400"; d="scan'208";a="2288297" Received: from rchatre-s.jf.intel.com ([10.54.70.76]) by fmsmga001.fm.intel.com with ESMTP; 13 Nov 2017 16:42:21 -0800 From: Reinette Chatre To: tglx@linutronix.de, fenghua.yu@intel.com, tony.luck@intel.com Cc: vikas.shivappa@linux.intel.com, dave.hansen@intel.com, mingo@redhat.com, hpa@zytor.com, x86@kernel.org, linux-kernel@vger.kernel.org, Reinette Chatre Subject: [RFC PATCH 14/20] x86/intel_rdt: Enable testing for pseudo-locked region Date: Mon, 13 Nov 2017 08:39:37 -0800 Message-Id: <7996f6de3340cbc041a896df2cdfb4352cd344db.1510568528.git.reinette.chatre@intel.com> X-Mailer: git-send-email 2.13.5 In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Introduce a new test that can be used to determine if a provided CBM intersects with an existing pseudo-locked region of cache domain. Signed-off-by: Reinette Chatre --- arch/x86/kernel/cpu/intel_rdt.h | 1 + arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/arch/x86/kernel/cpu/intel_rdt.h b/arch/x86/kernel/cpu/intel_rdt.h index b4426a997516..529fe535b357 100644 --- a/arch/x86/kernel/cpu/intel_rdt.h +++ b/arch/x86/kernel/cpu/intel_rdt.h @@ -457,6 +457,7 @@ void cqm_setup_limbo_handler(struct rdt_domain *dom, unsigned long delay_ms); void cqm_handle_limbo(struct work_struct *work); bool has_busy_rmid(struct rdt_resource *r, struct rdt_domain *d); void __check_limbo(struct rdt_domain *d, bool force_free); +bool cbm_pseudo_locked(unsigned long cbm, struct rdt_domain *d); int rdt_pseudo_lock_fs_init(struct kernfs_node *root); void rdt_pseudo_lock_fs_remove(void); int rdt_pseudo_lock_mkdir(const char *name, umode_t mode); diff --git a/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c b/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c index c859ff7dea6e..9c0f002c08ea 100644 --- a/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c +++ b/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c @@ -273,6 +273,25 @@ static void pseudo_lock_region_kn_unlock(struct kernfs_node *kn) } /** + * cbm_pseudo_locked - Test if all or portion of CBM is pseudo-locked + * @cbm: bitmask to be tested + * @d: rdt_domain for which @cbm was provided + * + * RETURNS: + * True if bits from @cbm intersects with what has been pseudo-locked in + * rdt_domain @d, false otherwise. + */ +bool cbm_pseudo_locked(unsigned long cbm, struct rdt_domain *d) +{ + if (d->plr && + bitmap_intersects(&cbm, (unsigned long *)&d->plr->cbm, + d->plr->r->cache.cbm_len)) + return true; + + return false; +} + +/** * pseudo_lock_avail_get - return bitmask of cache available for locking * @r: resource to which this cache instance belongs * @d: domain representing the cache instance -- 2.13.5 From 1584004836267636747@xxx Tue Nov 14 01:58:49 +0000 2017 X-GM-THRID: 1579626895933663693 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread