From: Mark Brown <broonie@kernel.org>
To: "Andrew F. Davis" <afd@ti.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/3] regcache: flat: Add valid bit to this cache type
Date: Mon, 8 Jan 2018 12:08:01 +0000 [thread overview]
Message-ID: <20180108120801.GD11698@sirena.org.uk> (raw)
In-Reply-To: <20180107232234.11064-3-afd@ti.com>
[-- Attachment #1: Type: text/plain, Size: 1180 bytes --]
On Sun, Jan 07, 2018 at 05:22:34PM -0600, Andrew F. Davis wrote:
> Other regmap cache types (LZO, RBtree) report back un-successful register
> lookups when a value has not been previously written into the cache. This
> allows regmap core to perform a real un-cached lookup to fetch the value.
> The Flat type cache does not and so all read succeed reporting zero for the
> registers value, even when the actual value is not known.
> We fix this by changing the flat cache element type to a struct
> containing both the register's value and a bool signifying if this value
> is an actual cached value or not. This also opens up a path to implement
> additional regcache_ops such as "sync" and "drop" that rely on such
> validity information.
The reason we don't do this for the flat cache is that its whole purpose
is to be as fast as possible in order to make it easier for MMIO devices.
Things that can take the hit of extra complexity should just use a rbtree
cache since if the registers are all bunched together it rapidly becomes
effectively the same data structure anyway. Unless you really know why
you're using a flat cache you probably shouldn't.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2018-01-08 12:08 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-07 23:22 [PATCH 1/3] regcache: flat: Use cache element type in sizeof Andrew F. Davis
2018-01-07 23:22 ` [PATCH 2/3] regcache: flat: Un-inline index lookup from cache access Andrew F. Davis
2018-01-07 23:22 ` [PATCH 3/3] regcache: flat: Add valid bit to this cache type Andrew F. Davis
2018-01-08 12:08 ` Mark Brown [this message]
2018-01-08 16:25 ` Andrew F. Davis
2018-01-08 16:36 ` Mark Brown
2018-01-08 16:46 ` Andrew F. Davis
2018-01-09 16:24 ` Mark Brown
2018-01-09 17:47 ` Andrew F. Davis
2018-01-10 12:02 ` Mark Brown
2018-01-08 11:59 ` [PATCH 1/3] regcache: flat: Use cache element type in sizeof Mark Brown
2018-01-08 16:25 ` Andrew F. Davis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180108120801.GD11698@sirena.org.uk \
--to=broonie@kernel.org \
--cc=afd@ti.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome