Skip to content

Commit

Permalink
powerpc/cacheinfo: Improve diagnostics about malformed cache lists
Browse files Browse the repository at this point in the history
If we have a bug which causes us to start with the wrong kind of OF
node when linking up the cache tree, it's helpful for debugging to
print information about what we found vs what we expected. So replace
uses of WARN_ON_ONCE with WARN_ONCE, which lets us include an
informative message instead of a contentless backtrace.

Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20190627051537.7298-4-nathanl@linux.ibm.com
  • Loading branch information
Nathan Lynch authored and Michael Ellerman committed Jul 30, 2020
1 parent be6f885 commit 1b3da8f
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions arch/powerpc/kernel/cacheinfo.c
Original file line number Diff line number Diff line change
Expand Up @@ -424,8 +424,14 @@ static void link_cache_lists(struct cache *smaller, struct cache *bigger)

static void do_subsidiary_caches_debugcheck(struct cache *cache)
{
WARN_ON_ONCE(cache->level != 1);
WARN_ON_ONCE(!of_node_is_type(cache->ofnode, "cpu"));
WARN_ONCE(cache->level != 1,
"instantiating cache chain from L%d %s cache for "
"%pOFP instead of an L1\n", cache->level,
cache_type_string(cache), cache->ofnode);
WARN_ONCE(!of_node_is_type(cache->ofnode, "cpu"),
"instantiating cache chain from node %pOFP of type '%s' "
"instead of a cpu node\n", cache->ofnode,
of_node_get_device_type(cache->ofnode));
}

static void do_subsidiary_caches(struct cache *cache)
Expand Down

0 comments on commit 1b3da8f

Please sign in to comment.