Messages in this thread | | | Subject | Re: [PATCH] mm: Change global memory state symbols to GPL-only | From | Ben Hutchings <> | Date | Tue, 01 Sep 2015 14:21:43 +0100 |
| |
On Tue, 2015-09-01 at 01:24 +0000, Richard Yao wrote: > On Mon, 2015-08-17 09:56:55 -0700, Ben Hutchings wrote: > > On Mon, 2015-08-17 at 17:11 +0200, Michal Hocko wrote: > > > On Mon 17-08-15 16:56:32, Ben Hutchings wrote: > > > > On Mon, 2015-08-17 at 15:54 +0200, Michal Hocko wrote: > > > > > On Sun 16-08-15 01:42:27, Ben Hutchings wrote: > > > > > > Proprietary modules should not be able to touch vm_stat or > > > > > > participate > > > > > > in shrinking. > > > > > > > > > > How does the external and !GPL fs does slab reclaim? Those > > > > > are essential > > > > > for the proper memory balancing. > > > > > > > > If they know how to do shrinking on Linux then they are > > > > probably > > > > derivative works of Linux. > > > > > > I am not sure I understand. They are shrinking their internal > > > cached > > > objects and that is hardly a derivative work. The shrinker API is > > > only > > > meant to let them know _when_ this should happen and the > > > interface is > > > a pretty much simple callback API. > > > > It is a Linux-specific API and I don't think other kernels provide > > something similar to loadable modules. It enables a module to turn > > a > > large part of the system RAM into a cache and have the MM > > effectively > > tell it the correct size of that cache, thus tightly integrating > > with > > global memory management. > > The idea of providing third party drivers with the hooks that they > need to > respond to memory pressure is by no means Linux-specific. In > OpenSolaris, there > are counters for drivers to keep track of memory usage and try to > stay ahead of > it, which works because there is no direct reclaim. There are also > callbacks > for the SLAB code to defragment the caches used by the drivers.
So you confirm that the Linux and Solaris APIs for this are quite different.
> Giving non-GPL > drivers to respond to memory pressure seems reasonable.
I don't see why.
[...] > > Yes, that's the idea, proprietary code should not be helped in this > > way. > > The ZFSOnLinux kernel driver uses these symbols. It is fully open > source and > not proprietary. [...]
It's not GPL-compatible, which in terms of Linux kernel modules is no better than proprietary.
Ben.
-- Ben Hutchings The first rule of tautology club is the first rule of tautology club.
[unhandled content-type:application/pgp-signature] | |