Thread (21 messages) flat view 21 messages, 5 authors, 2014-08-27
STALE4408d

Revision v1 of 6 in this series.

Revisions (6)
  1. v1 [diff vs current]
  2. v1 [diff vs current]
  3. v1 [diff vs current]
  4. v1 current
  5. v1 [diff vs current]
  6. v5 [diff vs current]

[PATCH 5/6] arm64: Port SWP/SWPB emulation support from arm

From: arnd@arndb.de (Arnd Bergmann)
Date: 2014-08-26 13:26:58

On Tuesday 26 August 2014 13:25:43 Will Deacon wrote:
On Tue, Aug 26, 2014 at 12:32:23PM +0100, Arnd Bergmann wrote:
quoted
On Tuesday 26 August 2014 11:28:49 Punit Agrawal wrote:
quoted
This patch ports the alternative solution to emulate the SWP and SWPB
instructions using LDXR/STXR sequences from the arm port to
arm64. Additionaly, the patch also proivdes support to log the
emulation statistics via debugfs.
I'm not sure that putting this into debugfs is a good idea in this
case: while in general that is considered a good place for this
kind of debugging information, we already have a precedent on arm32
for using procfs, and I see no reason to introduce an incompatible
interface for arm64.

You also add an interface for disabling the feature at runtime,
which we don't have on arm32, but that interface is not available
if debugfs is disabled or not mounted. Maybe a sysctl would be
more appropriate? That one could also be shared with arm32.
One advantage of using debugfs is that it provides a place to keep
controls/statistics for any emulations that we add in the future, as opposed
to littering them around in /proc or (worse) having a mixture of the two.
Yes, I understood that. I just had another idea: would it make sense to
use a tracepoint rather than a simple counter? That way you can actually
see who is using those instructions with ftrace.

You still wouldn't get the files in the same place as the enable switch
though. The easiest way to implement that switch btw would be a
module_param: It can be passed on the command line (using
swp_emulate.enable=0) or at runtime by writing to
/sys/module/swp_emulate/parameters/enable.

If we do both, there is no longer a need to have any debugfs file logic,
which is also a plus.

	Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help