All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Hubbard <jhubbard@nvidia.com>
To: David Hildenbrand <david@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: Peter Xu <peterx@redhat.com>, Shuah Khan <shuah@kernel.org>,
	"Nathan Chancellor" <nathan@kernel.org>, <linux-mm@kvack.org>,
	<linux-kselftest@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 09/12] selftests/mm: move psize(), pshift() into vm_utils.c
Date: Fri, 2 Jun 2023 14:58:50 -0700	[thread overview]
Message-ID: <bd676097-e4d6-10bc-4ef7-47c939c8cb50@nvidia.com> (raw)
In-Reply-To: <0a838454-90d0-9d85-fc2c-8c2571240fb5@redhat.com>

On 6/2/23 03:19, David Hildenbrand wrote:
> On 02.06.23 03:33, John Hubbard wrote:
>> This is in preparation for linking test programs with both vm_utils.c
>> and uffd-common.c. The static inline routines would prevent that, and
>> there is no particular need for inlining here, so turn these into normal
>> functions that are more flexible to build and link.
> 
> I'm probably missing something important, but isn't it the most common thing to use "static inline" across multiple objects that we then link?

Yes, absolutely. I've just had my confidence in things shaken by some
of the quirks in the selftests framework, but you're right.

> 
> Hope you can enlighten me what the real issue here is.
> 

At this point it looks like a header file inclusion mess. As usual,
including header files from other header files leads to problems,
and in this case I'm now seeing vm_utils.h included from uffd-common.h,
causing multiple definitions of these static inline functions.

If I try to undo that it generates a boatload of new errors, so I'm
thinking to just change the commit message to explain that I'm moving
this to a normal function in order to avoid the above situation.

thanks,
-- 
John Hubbard
NVIDIA


  reply	other threads:[~2023-06-02 21:59 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-02  1:33 [PATCH 00/12] A minor flurry of selftest/mm fixes John Hubbard
2023-06-02  1:33 ` [PATCH 01/12] selftests/mm: fix uffd-stress unused function warning John Hubbard
2023-06-02  9:58   ` David Hildenbrand
2023-06-02 15:25   ` Peter Xu
2023-06-02  1:33 ` [PATCH 02/12] selftests/mm: fix unused variable warning in hugetlb-madvise.c John Hubbard
2023-06-02 10:01   ` David Hildenbrand
2023-06-02 18:38     ` John Hubbard
2023-06-02  1:33 ` [PATCH 03/12] selftests/mm: fix unused variable warning in migration.c John Hubbard
2023-06-02 10:02   ` David Hildenbrand
2023-06-02 18:39     ` John Hubbard
2023-06-02  1:33 ` [PATCH 04/12] selftests/mm: fix a char* assignment in mlock2-tests.c John Hubbard
2023-06-02 10:04   ` David Hildenbrand
2023-06-02 15:24     ` Peter Xu
2023-06-02 18:52       ` John Hubbard
2023-06-05 15:38         ` Peter Xu
2023-06-05 18:45           ` John Hubbard
2023-06-02  1:33 ` [PATCH 05/12] selftests/mm: fix invocation of tests that are run via shell scripts John Hubbard
2023-06-02 10:05   ` David Hildenbrand
2023-06-02 20:38     ` John Hubbard
2023-06-02 15:34   ` Peter Xu
2023-06-02 19:19     ` John Hubbard
2023-06-02 21:36       ` Peter Xu
2023-06-02 21:46         ` John Hubbard
2023-06-02  1:33 ` [PATCH 06/12] selftests/mm: .gitignore: add mkdirty, va_high_addr_switch John Hubbard
2023-06-02 10:06   ` David Hildenbrand
2023-06-02  1:33 ` [PATCH 07/12] selftests/mm: set -Wno-format-security to avoid uffd build warnings John Hubbard
2023-06-02 10:15   ` David Hildenbrand
2023-06-02 21:22     ` John Hubbard
2023-06-02  1:33 ` [PATCH 08/12] selftests/mm: fix a "possibly uninitialized" warning in pkey-x86.h John Hubbard
2023-06-02 10:16   ` David Hildenbrand
2023-06-02  1:33 ` [PATCH 09/12] selftests/mm: move psize(), pshift() into vm_utils.c John Hubbard
2023-06-02 10:19   ` David Hildenbrand
2023-06-02 21:58     ` John Hubbard [this message]
2023-06-02  1:33 ` [PATCH 10/12] selftests/mm: move uffd* routines from vm_util.c to uffd-common.c John Hubbard
2023-06-02 15:59   ` Peter Xu
2023-06-02 22:11     ` John Hubbard
2023-06-02 22:38       ` Peter Xu
2023-06-02 22:52         ` John Hubbard
2023-06-03  0:43           ` John Hubbard
2023-06-03  1:18             ` Peter Xu
2023-06-03  1:39               ` John Hubbard
2023-06-02  1:33 ` [PATCH 11/12] selftests/mm: fix missing UFFDIO_CONTINUE_MODE_WP and similar build failures John Hubbard
2023-06-02 10:23   ` David Hildenbrand
2023-06-02 22:20     ` John Hubbard
2023-06-03  8:27       ` David Hildenbrand
2023-06-03 23:48         ` John Hubbard
2023-06-02 16:25   ` Muhammad Usama Anjum
2023-06-02 22:24     ` John Hubbard
2023-06-02  1:33 ` [PATCH 12/12] selftests/mm: fix uffd-unit-tests.c build failure due to missing MADV_COLLAPSE John Hubbard
2023-06-02 10:23   ` David Hildenbrand
2023-06-02 16:34   ` Muhammad Usama Anjum
2023-06-02 22:26     ` John Hubbard
2023-06-02  9:32 ` [PATCH 00/12] A minor flurry of selftest/mm fixes David Hildenbrand
2023-06-02 17:51   ` John Hubbard

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=bd676097-e4d6-10bc-4ef7-47c939c8cb50@nvidia.com \
    --to=jhubbard@nvidia.com \
    --cc=akpm@linux-foundation.org \
    --cc=david@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=nathan@kernel.org \
    --cc=peterx@redhat.com \
    --cc=shuah@kernel.org \
    /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.