diff mbox series

[v2,13/24] selftests/resctrl: Add flush_buffer() to fill_buf

Message ID 20230418114506.46788-14-ilpo.jarvinen@linux.intel.com (mailing list archive)
State New
Headers show
Series selftests/resctrl: Fixes, cleanups, and rewritten CAT test | expand

Commit Message

Ilpo Järvinen April 18, 2023, 11:44 a.m. UTC
Currently, flushing is only done after allocating and filling the
buffer and cannot be controlled by the test cases.

The new CAT test will want to control flushing within a test so
introduce flush_buffer() for that purpose.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 tools/testing/selftests/resctrl/fill_buf.c | 5 +++++
 tools/testing/selftests/resctrl/resctrl.h  | 1 +
 2 files changed, 6 insertions(+)

Comments

Reinette Chatre April 22, 2023, 12:16 a.m. UTC | #1
Hi Ilpo,

On 4/18/2023 4:44 AM, Ilpo Järvinen wrote:
> Currently, flushing is only done after allocating and filling the
> buffer and cannot be controlled by the test cases.
> 
> The new CAT test will want to control flushing within a test so
> introduce flush_buffer() for that purpose.
> 
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> ---
>  tools/testing/selftests/resctrl/fill_buf.c | 5 +++++
>  tools/testing/selftests/resctrl/resctrl.h  | 1 +
>  2 files changed, 6 insertions(+)
> 
> diff --git a/tools/testing/selftests/resctrl/fill_buf.c b/tools/testing/selftests/resctrl/fill_buf.c
> index 677e1a113629..7e0d3a1ea555 100644
> --- a/tools/testing/selftests/resctrl/fill_buf.c
> +++ b/tools/testing/selftests/resctrl/fill_buf.c
> @@ -58,6 +58,11 @@ static void mem_flush(void *p, size_t s)
>  	sb();
>  }
>  
> +void flush_buffer(unsigned long long span)
> +{
> +	mem_flush(startptr, span);
> +}
> +

I do not think this indirection is needed. In the same spirit of feedback
to previous patches a test can manage its own buffer pointer
and flush it by calling mem_flush() directly.

Reinette
diff mbox series

Patch

diff --git a/tools/testing/selftests/resctrl/fill_buf.c b/tools/testing/selftests/resctrl/fill_buf.c
index 677e1a113629..7e0d3a1ea555 100644
--- a/tools/testing/selftests/resctrl/fill_buf.c
+++ b/tools/testing/selftests/resctrl/fill_buf.c
@@ -58,6 +58,11 @@  static void mem_flush(void *p, size_t s)
 	sb();
 }
 
+void flush_buffer(unsigned long long span)
+{
+	mem_flush(startptr, span);
+}
+
 static void *malloc_and_init_memory(size_t s)
 {
 	void *p = NULL;
diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h
index 8748121345f3..ba36eb5fdf0d 100644
--- a/tools/testing/selftests/resctrl/resctrl.h
+++ b/tools/testing/selftests/resctrl/resctrl.h
@@ -97,6 +97,7 @@  int perf_event_open(struct perf_event_attr *hw_event, pid_t pid, int cpu,
 		    int group_fd, unsigned long flags);
 void free_buffer(void);
 int alloc_buffer(unsigned long long buf_size, int memflush);
+void flush_buffer(unsigned long long span);
 int use_buffer(unsigned long long buf_size, int op, bool once);
 int run_fill_buf(unsigned long span, int memflush, int op, bool once);
 int resctrl_val(char **benchmark_cmd, struct resctrl_val_param *param);