On Mon, Jun 01, 2020 at 12:37:20AM +0900, Akira Yokosawa wrote: > From 87048d7212f6cb16b0a2b85fa6d2f34c28b078c0 Mon Sep 17 00:00:00 2001 > From: Akira Yokosawa <akiyks@xxxxxxxxx> > Date: Sun, 31 May 2020 20:04:32 +0900 > Subject: [PATCH RFC] tools/memory-model/README: Expand dependency of klitmus7 > > 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]: b899a850431e ("compiler.h: Remove ACCESS_ONCE()") > [2]: 0bb95f80a38f ("Makefile: Globally enable VLA warning") > [3]: d56c0d45f0e2 ("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. > > Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx> Acked-by: Andrea Parri <parri.andrea@xxxxxxxxx> Andrea > --- > Hi all, > > Recent struggle of Andrii with the use of klitmus7 on an up-to-date > Linux system prompted me to add some explanation of klitmus7's dependency > in README. > > As herdtools7 7.56 is still under development, I called out just HEAD > in the compatibility table. Once 7.56 is released, the table can be > updated. > > I'm not sure if this is the right place to carry such info. > Anyway, I'd be glad if this patch can trigger a meaningful update of > README. > > Thanks, Akira > -- > tools/memory-model/README | 30 ++++++++++++++++++++++++++++-- > 1 file changed, 28 insertions(+), 2 deletions(-) > > diff --git a/tools/memory-model/README b/tools/memory-model/README > index b9c562e92981..90af203c3cf1 100644 > --- a/tools/memory-model/README > +++ b/tools/memory-model/README > @@ -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 > + ============ ========== > > > ================== > -- > 2.17.1 >