Skip to content

Commit

Permalink
tools/memory-model/README: Expand dependency of klitmus7
Browse files Browse the repository at this point in the history
klitmus7 is independent of the memory model but depends on the
build-target kernel release.
It occasionally lost compatibility due to kernel API changes [1, 2, 3].
It was remedied in a backwards-compatible manner respectively [4, 5, 6].

Reflect this fact in README.

[1]: b899a85 ("compiler.h: Remove ACCESS_ONCE()")
[2]: 0bb95f8 ("Makefile: Globally enable VLA warning")
[3]: d56c0d4 ("proc: decouple proc from VFS with "struct proc_ops"")
[4]: https://github.com/herd/herdtools7/commit/e87d7f9287d1
     ("klitmus: Use WRITE_ONCE and READ_ONCE in place of deprecated ACCESS_ONCE")
[5]: https://github.com/herd/herdtools7/commit/a0cbb10d02be
     ("klitmus: Avoid variable length array")
[6]: https://github.com/herd/herdtools7/commit/46b9412d3a58
     ("klitmus: Linux kernel v5.6.x compat")

NOTE: [5] was ahead of herdtools7 7.53, which did not make an
official release.  Code generated by klitmus7 without [5] can still be
built targeting Linux 4.20--5.5 if you don't care VLA warnings.

Acked-by: Andrea Parri <parri.andrea@gmail.com>
Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
  • Loading branch information
Akira Yokosawa authored and Paul E. McKenney committed Jun 29, 2020
1 parent c425fb5 commit d075a78
Showing 1 changed file with 28 additions and 2 deletions.
30 changes: 28 additions & 2 deletions tools/memory-model/README
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,34 @@ downloaded separately:
See "herdtools7/INSTALL.md" for installation instructions.

Note that although these tools usually provide backwards compatibility,
this is not absolutely guaranteed. Therefore, if a later version does
not work, please try using the exact version called out above.
this is not absolutely guaranteed.

For example, a future version of herd7 might not work with the model
in this release. A compatible model will likely be made available in
a later release of Linux kernel.

If you absolutely need to run the model in this particular release,
please try using the exact version called out above.

klitmus7 is independent of the model provided here. It has its own
dependency on a target kernel release where converted code is built
and executed. Any change in kernel APIs essential to klitmus7 will
necessitate an upgrade of klitmus7.

If you find any compatibility issues in klitmus7, please inform the
memory model maintainers.

klitmus7 Compatibility Table
----------------------------

============ ==========
target Linux herdtools7
------------ ----------
-- 4.18 7.48 --
4.15 -- 4.19 7.49 --
4.20 -- 5.5 7.54 --
5.6 -- HEAD
============ ==========


==================
Expand Down

0 comments on commit d075a78

Please sign in to comment.