Linux-PCI Archive on lore.kernel.org
 help / color / Atom feed
From: Michal Hocko <mhocko@kernel.org>
To: Dan Williams <dan.j.williams@intel.com>
Cc: "Christoph Hellwig" <hch@lst.de>,
	"Jérôme Glisse" <jglisse@redhat.com>,
	"Jason Gunthorpe" <jgg@mellanox.com>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	"Linux MM" <linux-mm@kvack.org>,
	nouveau@lists.freedesktop.org,
	"Maling list - DRI developers" <dri-devel@lists.freedesktop.org>,
	linux-nvdimm <linux-nvdimm@lists.01.org>,
	linux-pci@vger.kernel.org,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 05/22] mm: export alloc_pages_vma
Date: Thu, 27 Jun 2019 08:41:06 +0200
Message-ID: <20190627064106.GC17798@dhcp22.suse.cz> (raw)
In-Reply-To: <CAPcyv4jLK2F2UHqbwp4bCEiB7tL8sVsr775egKMmJvfZG+W+NQ@mail.gmail.com>

On Wed 26-06-19 09:14:32, Dan Williams wrote:
> On Tue, Jun 25, 2019 at 10:46 PM Michal Hocko <mhocko@kernel.org> wrote:
> >
> > On Tue 25-06-19 12:52:18, Dan Williams wrote:
> > [...]
> > > > Documentation/process/stable-api-nonsense.rst
> > >
> > > That document has failed to preclude symbol export fights in the past
> > > and there is a reasonable argument to try not to retract functionality
> > > that had been previously exported regardless of that document.
> >
> > Can you point me to any specific example where this would be the case
> > for the core kernel symbols please?
> 
> The most recent example that comes to mind was the thrash around
> __kernel_fpu_{begin,end} [1].

Well, this seems more like a disagreement over a functionality that has
reduced its visibility rather than enforcement of a specific API. And I
do agree that the above document states that this is perfectly
legitimate and no out-of-tree code can rely on _any_ functionality to be
preserved.

On the other hand, I am not really surprised about the discussion
because d63e79b114c02 is a mere clean up not explaining why the
functionality should be restricted to GPL only code. So there certainly
is a room for clarification. Especially when the code has been exported
without this restriction in the past (see 8546c008924d5). So to me this
sounds more like a usual EXPORT_SYMBOL{_GPL} mess.

In any case I really do not see any relation to the maintenance cost
here. GPL symbols are not in any sense more stable than any other
exported symbol. They can change at any time. The only maintenance
burden is to update all _in_kernel_ users of the said symbol. Any
out-of-tree code is on its own to deal with this. Full stop.

GPL or non-GPL symbols are solely to define a scope of the usage.
Nothing less and nothing more.

> I referenced that when debating _GPL symbol policy with Jérôme [2].
> 
> [1]: https://lore.kernel.org/lkml/20190522100959.GA15390@kroah.com/
> [2]: https://lore.kernel.org/lkml/CAPcyv4gb+r==riKFXkVZ7gGdnKe62yBmZ7xOa4uBBByhnK9Tzg@mail.gmail.com/

-- 
Michal Hocko
SUSE Labs

  reply index

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-13  9:43 dev_pagemap related cleanups Christoph Hellwig
2019-06-13  9:43 ` [PATCH 01/22] mm: remove the unused ARCH_HAS_HMM_DEVICE Kconfig option Christoph Hellwig
2019-06-13 18:30   ` Jason Gunthorpe
2019-06-13  9:43 ` [PATCH 02/22] mm: remove the struct hmm_device infrastructure Christoph Hellwig
2019-06-13 18:46   ` Jason Gunthorpe
2019-06-13 23:06   ` [Nouveau] " John Hubbard
2019-06-13  9:43 ` [PATCH 03/22] mm: remove hmm_devmem_add_resource Christoph Hellwig
2019-06-13 18:52   ` Jason Gunthorpe
2019-06-14  6:19     ` Christoph Hellwig
2019-06-14  0:54   ` [Nouveau] " John Hubbard
2019-06-20 19:32   ` Michal Hocko
2019-06-13  9:43 ` [PATCH 04/22] mm: don't clear ->mapping in hmm_devmem_free Christoph Hellwig
2019-06-13 19:05   ` Jason Gunthorpe
2019-06-14  6:21     ` Christoph Hellwig
2019-06-14  1:46   ` John Hubbard
2019-06-20 19:36   ` Michal Hocko
2019-06-13  9:43 ` [PATCH 05/22] mm: export alloc_pages_vma Christoph Hellwig
2019-06-14  1:47   ` John Hubbard
2019-06-14  6:23     ` Christoph Hellwig
2019-06-20 19:17   ` Michal Hocko
2019-06-24 18:24     ` Dan Williams
2019-06-25  7:23       ` Christoph Hellwig
2019-06-25 15:00         ` Michal Hocko
2019-06-25 18:03           ` Dan Williams
2019-06-25 19:00             ` Michal Hocko
2019-06-25 19:52               ` Dan Williams
2019-06-26  5:46                 ` Michal Hocko
2019-06-26 16:14                   ` Dan Williams
2019-06-27  6:41                     ` Michal Hocko [this message]
2019-06-13  9:43 ` [PATCH 06/22] mm: factor out a devm_request_free_mem_region helper Christoph Hellwig
2019-06-13 19:16   ` Jason Gunthorpe
2019-06-14  6:24     ` Christoph Hellwig
2019-06-15  2:21   ` John Hubbard
2019-06-15 14:30     ` Christoph Hellwig
2019-06-13  9:43 ` [PATCH 07/22] memremap: move dev_pagemap callbacks into a separate structure Christoph Hellwig
2019-06-13 19:18   ` Jason Gunthorpe
2019-06-13 20:14   ` Logan Gunthorpe
2019-06-13  9:43 ` [PATCH 08/22] memremap: pass a struct dev_pagemap to ->kill Christoph Hellwig
2019-06-13 19:26   ` Jason Gunthorpe
2019-06-13 20:12   ` Logan Gunthorpe
2019-06-13 20:15     ` Dan Williams
2019-06-13  9:43 ` [PATCH 09/22] memremap: lift the devmap_enable manipulation into devm_memremap_pages Christoph Hellwig
2019-06-13 19:34   ` Jason Gunthorpe
2019-06-13 20:13     ` Dan Williams
2019-06-14  6:28     ` Christoph Hellwig
2019-06-13  9:43 ` [PATCH 10/22] memremap: add a migrate callback to struct dev_pagemap_ops Christoph Hellwig
2019-06-13 23:42   ` Ralph Campbell
2019-06-14  6:33     ` Christoph Hellwig
2019-06-13  9:43 ` [PATCH 11/22] memremap: remove the data field in struct dev_pagemap Christoph Hellwig
2019-06-13 19:37   ` Jason Gunthorpe
2019-06-13  9:43 ` [PATCH 12/22] memremap: provide an optional internal refcount " Christoph Hellwig
2019-06-13  9:43 ` [PATCH 13/22] device-dax: use the dev_pagemap internal refcount Christoph Hellwig
2019-06-14  0:22   ` Ira Weiny
2019-06-14  6:35     ` Christoph Hellwig
2019-06-13  9:43 ` [PATCH 14/22] nouveau: use alloc_page_vma directly Christoph Hellwig
2019-06-13 19:39   ` Jason Gunthorpe
2019-06-13  9:43 ` [PATCH 15/22] nouveau: use devm_memremap_pages directly Christoph Hellwig
2019-06-13  9:43 ` [PATCH 16/22] mm: remove hmm_vma_alloc_locked_page Christoph Hellwig
2019-06-13  9:43 ` [PATCH 17/22] mm: remove hmm_devmem_add Christoph Hellwig
2019-06-13 19:42   ` Jason Gunthorpe
2019-06-14  6:39     ` Christoph Hellwig
2019-06-13  9:43 ` [PATCH 18/22] mm: mark DEVICE_PUBLIC as broken Christoph Hellwig
2019-06-13 19:44   ` Jason Gunthorpe
2019-06-13 19:53     ` Ralph Campbell
2019-06-13 19:58       ` Jason Gunthorpe
2019-06-14  0:43         ` Ira Weiny
2019-06-14  1:23           ` John Hubbard
2019-06-19 19:27             ` Jason Gunthorpe
2019-06-19 19:46               ` Dan Williams
2019-06-26  3:15               ` John Hubbard
2019-06-26  5:45                 ` Michal Hocko
2019-06-26  6:07                   ` John Hubbard
2019-06-14  6:43           ` Christoph Hellwig
2019-06-20 19:26   ` Michal Hocko
2019-06-25  7:29     ` Christoph Hellwig
2019-06-25 11:44       ` Jason Gunthorpe
2019-06-25 11:59         ` Christoph Hellwig
2019-06-13  9:43 ` [PATCH 19/22] mm: simplify ZONE_DEVICE page private data Christoph Hellwig
2019-06-13  9:43 ` [PATCH 20/22] mm: sort out the DEVICE_PRIVATE Kconfig mess Christoph Hellwig
2019-06-13 19:55   ` Jason Gunthorpe
2019-06-13  9:43 ` [PATCH 21/22] mm: remove the HMM config option Christoph Hellwig
2019-06-13 20:01   ` Jason Gunthorpe
2019-06-14  6:47     ` Christoph Hellwig
2019-06-13  9:43 ` [PATCH 22/22] mm: don't select MIGRATE_VMA_HELPER from HMM_MIRROR Christoph Hellwig
2019-06-13 20:04   ` Jason Gunthorpe
2019-06-14  1:53   ` [Nouveau] " John Hubbard
2019-06-14  6:48     ` Christoph Hellwig
2019-06-13 14:16 ` dev_pagemap related cleanups Jason Gunthorpe
2019-06-14  6:12   ` Christoph Hellwig
2019-06-13 18:27 ` Dan Williams
2019-06-13 20:17   ` Logan Gunthorpe
2019-06-13 20:21     ` Dan Williams
2019-06-13 20:24       ` Logan Gunthorpe
2019-06-13 20:48         ` Andrew Morton
2019-06-13 20:40   ` Jason Gunthorpe
2019-06-13 21:21     ` Christoph Hellwig
2019-06-13 23:10       ` Jason Gunthorpe
2019-06-14  6:14         ` Christoph Hellwig
2019-06-14  0:31     ` Ira Weiny
2019-06-14  6:13   ` Christoph Hellwig
2019-06-15  1:14     ` Dan Williams
2019-06-15  8:33       ` Christoph Hellwig
2019-06-15 18:09         ` Dan Williams

Reply instructions:

You may reply publically 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=20190627064106.GC17798@dhcp22.suse.cz \
    --to=mhocko@kernel.org \
    --cc=bskeggs@redhat.com \
    --cc=dan.j.williams@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hch@lst.de \
    --cc=jgg@mellanox.com \
    --cc=jglisse@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=nouveau@lists.freedesktop.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

Linux-PCI Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-pci/0 linux-pci/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-pci linux-pci/ https://lore.kernel.org/linux-pci \
		linux-pci@vger.kernel.org linux-pci@archiver.kernel.org
	public-inbox-index linux-pci


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-pci


AGPL code for this site: git clone https://public-inbox.org/ public-inbox