All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Vorel <pvorel@suse.cz>
To: Li Wang <liwang@redhat.com>
Cc: ltp@lists.linux.it
Subject: Re: [LTP] [PATCH v3 1/2] tst_memutils.c: Add tst_print_meminfo function
Date: Mon, 18 Dec 2023 05:30:33 +0100	[thread overview]
Message-ID: <20231218043033.GA160518@pevik> (raw)
In-Reply-To: <CAEemH2dxjRqz4aqJR8C95fAzE4M9XeScEwa-d3bRSO6EyW-EjA@mail.gmail.com>

Hi Li, all,

> Hi Petr, All,

> On Sat, Dec 16, 2023 at 2:58 AM Petr Vorel <pvorel@suse.cz> wrote:

> > Hi Wei,

> > ...
> > > +++ b/include/tst_memutils.h
> > > @@ -58,4 +58,10 @@ void tst_enable_oom_protection(pid_t pid);
> > >   */
> > >  void tst_disable_oom_protection(pid_t pid);

> > > +void tst_print_meminfo(void);
> > > +
> > > +void tst_print_meminfo_(const char *file, const int lineno);
> > > +
> > > +#define tst_print_meminfo() tst_print_meminfo_(__FILE__, __LINE__)
> > Most of the macros we have upper case, can it be please
> > TST_PRINT_MEMINFO() ?
> > I guess it does not have to be SAFE_PRINT_MEMINFO().

> > And because it's just one liner, could it be:

> > #define TST_PRINT_MEMINFO() safe_print_file(__FILE__, __LINE__,
> > "/proc/meminfo")

> > ...

> > > +++ b/lib/safe_macros.c

> > We don't want to add anything to the legacy API (otherwise it would go to
> > lib/safe_file_ops.c), please add this to lib/tst_safe_macros.c.

> > BTW I'm slightly confused, what would be the best place for this,
> > lib/tst_safe_macros.c is being used nowadays for everything. But there is
> > also



> > include/tst_safe_file_ops.h, which does not have C file
> > (lib/tst_safe_file_ops.c) because it internally use lib/tst_safe_macros.c.


> No, basically it does not use the lib/tst_safe_macros.c.

You're right.

> From what I understand, 'tst_safe_file_ops.h' is just a header for
> collecting
> all the file operations for Linux, it doesn't touch other subcomponent ops.

Thanks! Now it's obvious.

> 'tst_safe_file_ops.h' defines macros for all functions in
> 'safe_file_ops_fn.h'
> and archived them in 'safe_file_ops.c' lib.

> Something like this combination:

> tst_safe_file_ops.h:
>     safe_file_ops_fn.h
>     safe_file_ops.c

> tst_safe_macros.h
> tst_safe_macros.c



> > I guess creating lib/tst_safe_macros.c was postponed until we rewrite all
> > tests,
> > maybe it's a time to create it.




> > @Li @Cyril: Also include/tst_safe_file_ops.h has SAFE_READ_MEMINFO() and
> > SAFE_READ_PROC_STATUS(), IMHO these should be in include/tst_memutils.h.
> > Or, we shouldn't have 2 headers for similar thing, it would be good to
> > merge
> > these two.


> Agreed, anything related to the dedicated ops should be put into the
> corresponding header files. tst_safe_file_ops.h is a generic operation
> for Linux (but not for specific) files. So I vote for adding *_MEMINFO()
> to tst_memutil.h.

+1

I understand that it's a good idea when we separate things according to e.g.
libc header. But we also have separated C files in lib/.
It's probably easier if we have more shorter files than fewer very long files,
but I wonder if some sourcers should not be in single files, e.g. these:
tst_supported_fs_types.c, tst_fs_type.c => tst_fs.c
or
tst_fill_fs.c, tst_fill_file.c => tst_fill.c
or
tst_fs_setup.c, tst_path_has_mnt_flags.c => tst_mount.c
(into some more generic name)

Nothing critical, it just having 1-3 functions in separate source makes actually
search harder, because file name is very specific

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

  parent reply	other threads:[~2023-12-18  4:30 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-10  9:43 [LTP] [PATCH v1] swapping01.c: Reporting /proc/meminfo before test and at the moment of the failure Wei Gao via ltp
2023-12-12 17:29 ` Petr Vorel
2023-12-14  6:33 ` [LTP] [PATCH v2 0/2] Add tst_print_meminfo function in swapping01 Wei Gao via ltp
2023-12-14  6:33   ` [LTP] [PATCH v2 1/2] tst_memutils.c: Add tst_print_meminfo function Wei Gao via ltp
2023-12-14  6:33   ` [LTP] [PATCH v2 2/2] swapping01.c: Reporting /proc/meminfo during test Wei Gao via ltp
2023-12-14  7:13   ` [LTP] [PATCH v3 0/2] Add tst_print_meminfo function into swapping01 Wei Gao via ltp
2023-12-14  7:13     ` [LTP] [PATCH v3 1/2] tst_memutils.c: Add tst_print_meminfo function Wei Gao via ltp
2023-12-15 18:57       ` Petr Vorel
2023-12-18  3:41         ` Li Wang
2023-12-18  3:51           ` Li Wang
2023-12-18  4:39             ` Petr Vorel
2023-12-18  4:30           ` Petr Vorel [this message]
2023-12-18  7:20             ` Li Wang
2023-12-14  7:13     ` [LTP] [PATCH v3 2/2] swapping01.c: Reporting /proc/meminfo during test Wei Gao via ltp
2023-12-18  7:37       ` Li Wang
2023-12-18 12:22     ` [LTP] [PATCH v4 0/2] Add tst_print_meminfo function into swapping01 Wei Gao via ltp
2023-12-18 12:22       ` [LTP] [PATCH v4 1/2] tst_memutils.c: Add tst_print_meminfo function Wei Gao via ltp
2023-12-18 13:24         ` Petr Vorel
2023-12-18 12:22       ` [LTP] [PATCH v4 2/2] swapping01.c: Reporting /proc/meminfo during test Wei Gao via ltp
2023-12-18 13:34         ` Petr Vorel
2023-12-18 13:47           ` Petr Vorel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231218043033.GA160518@pevik \
    --to=pvorel@suse.cz \
    --cc=liwang@redhat.com \
    --cc=ltp@lists.linux.it \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.