summaryrefslogtreecommitdiffstats
path: root/net/vmw_vsock
diff options
context:
space:
mode:
authorDerek Basehore <dbasehore@chromium.org>2018-12-20 16:31:00 -0800
committerStephen Boyd <sboyd@kernel.org>2019-01-24 11:13:28 -0800
commitede77858473ae4cab6f8f147efcaa76989761535 (patch)
treeacf82fb3f6051a2b5a0762a855cc92be353fd0e5 /net/vmw_vsock
parent401fbb34f53e20a8d4734136a2d02ff1ee76f86e (diff)
downloadlinux-stable-ede77858473ae4cab6f8f147efcaa76989761535.tar.gz
linux-stable-ede77858473ae4cab6f8f147efcaa76989761535.tar.bz2
linux-stable-ede77858473ae4cab6f8f147efcaa76989761535.zip
clk: Remove global clk traversal on fetch parent index
It's not required to traverse the entire clk tree when the parents array contains a NULL value. We already have the parent clk_core pointer, so we can just compare the parent->name and parent_names[i] pointers. This can be a substantial power improvement in cases where the parent clk isn't known and that clk is never registered, because a mux having an unregistered parent name may traverse the clk tree on every clk_set_rate() call in clk_mux_determine_rate_flags(). This can happen hundreds of times a second for CPU clks. This patch is the combination of reverting commit 470b5e2f97cf ("clk: simplify clk_fetch_parent_index() function") and optimizing the resulting code to never call __clk_lookup() because we already have the clk_core pointer we're looking for. That optimization went unnoticed even after commit da0f0b2c3ad2 ("clk: Correct lookup logic in clk_fetch_parent_index()") tried to optimize this path. Signed-off-by: Derek Basehore <dbasehore@chromium.org> [sboyd@kernel.org: More description in commit text] Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'net/vmw_vsock')
0 files changed, 0 insertions, 0 deletions