[PATCH 0/5] plugins/cache: L2 cache modelling and a minor leak fix

Mahmoud Mandour posted 5 patches 2 years, 9 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210810134844.166490-1-ma.mandourr@gmail.com
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, Alexandre Iooss <erdnaxe@crans.org>, Mahmoud Mandour <ma.mandourr@gmail.com>
contrib/plugins/cache.c    | 318 ++++++++++++++++++++++++++-----------
docs/devel/tcg-plugins.rst |  22 ++-
2 files changed, 244 insertions(+), 96 deletions(-)
[PATCH 0/5] plugins/cache: L2 cache modelling and a minor leak fix
Posted by Mahmoud Mandour 2 years, 9 months ago
Hello,

This series implements a simple L2 unified per-core cache emulation, the L2
cache is not enabled by default and is only enabled on specifying so using the
plugin arguments. L2 cache is only accessed if L1 does not contain the wanted
block. If a miss occur in L1, the block is "fetched" to L1, and then L2 is
interrogated. This effectively mean that on a cache miss, we bring the data to
all the cache hierarchy, which is quite reasonable.

Note: Some +80-column lines are left as is, since they're all 81~83 cols and I
thought that it's so important to break them since breaking a line usually looks
ugly when not sufficiently long(?) LMK if I need to fix this :)

Mahmoud Mandour (5):
  plugins/cache: freed heap-allocated mutexes
  plugins/cache: implement unified L2 cache emulation
  plugins/cache: split command line arguments into name and value
  plugins/cache: make L2 emulation optional through args
  docs/tcg-plugins: add L2 arguments to cache docs

 contrib/plugins/cache.c    | 318 ++++++++++++++++++++++++++-----------
 docs/devel/tcg-plugins.rst |  22 ++-
 2 files changed, 244 insertions(+), 96 deletions(-)

-- 
2.25.1


Re: [PATCH 0/5] plugins/cache: L2 cache modelling and a minor leak fix
Posted by Mahmoud Mandour 2 years, 7 months ago
Ping :-)

On Tue, Aug 10, 2021 at 3:48 PM Mahmoud Mandour <ma.mandourr@gmail.com>
wrote:

> Hello,
>
> This series implements a simple L2 unified per-core cache emulation, the L2
> cache is not enabled by default and is only enabled on specifying so using
> the
> plugin arguments. L2 cache is only accessed if L1 does not contain the
> wanted
> block. If a miss occur in L1, the block is "fetched" to L1, and then L2 is
> interrogated. This effectively mean that on a cache miss, we bring the
> data to
> all the cache hierarchy, which is quite reasonable.
>
> Note: Some +80-column lines are left as is, since they're all 81~83 cols
> and I
> thought that it's so important to break them since breaking a line usually
> looks
> ugly when not sufficiently long(?) LMK if I need to fix this :)
>
> Mahmoud Mandour (5):
>   plugins/cache: freed heap-allocated mutexes
>   plugins/cache: implement unified L2 cache emulation
>   plugins/cache: split command line arguments into name and value
>   plugins/cache: make L2 emulation optional through args
>   docs/tcg-plugins: add L2 arguments to cache docs
>
>  contrib/plugins/cache.c    | 318 ++++++++++++++++++++++++++-----------
>  docs/devel/tcg-plugins.rst |  22 ++-
>  2 files changed, 244 insertions(+), 96 deletions(-)
>
> --
> 2.25.1
>
>
Re: [PATCH 0/5] plugins/cache: L2 cache modelling and a minor leak fix
Posted by Mahmoud Mandour 2 years, 9 months ago
On Tue, Aug 10, 2021 at 3:48 PM Mahmoud Mandour <ma.mandourr@gmail.com>
wrote:

> Hello,
>
> This series implements a simple L2 unified per-core cache emulation, the L2
> cache is not enabled by default and is only enabled on specifying so using
> the
> plugin arguments. L2 cache is only accessed if L1 does not contain the
> wanted
> block. If a miss occur in L1, the block is "fetched" to L1, and then L2 is
> interrogated. This effectively mean that on a cache miss, we bring the
> data to
> all the cache hierarchy, which is quite reasonable.
>
> Note: Some +80-column lines are left as is, since they're all 81~83 cols
> and I
> thought that it's so important to break them since breaking a line usually
> looks
> ugly when not sufficiently long(?) LMK if I need to fix this :)
>
>
Based-on: <20210730135817.17816-1-ma.mandourr@gmail.com>
since it uses `qemu_plugin_bool_parse` and based also on the changes done
in the plugin docs in the same series.

This can hopefully be applied cleanly to plugins/next since it has all my
multicore
cache patches and also the new arg-passing scheme patches.


> Mahmoud Mandour (5):
>   plugins/cache: freed heap-allocated mutexes
>   plugins/cache: implement unified L2 cache emulation
>   plugins/cache: split command line arguments into name and value
>   plugins/cache: make L2 emulation optional through args
>   docs/tcg-plugins: add L2 arguments to cache docs
>
>  contrib/plugins/cache.c    | 318 ++++++++++++++++++++++++++-----------
>  docs/devel/tcg-plugins.rst |  22 ++-
>  2 files changed, 244 insertions(+), 96 deletions(-)
>
> --
> 2.25.1
>
>