Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Richard Yao
On 07/01/2013 11:29 PM, Richard Yao wrote:
> On 07/01/2013 09:56 PM, Greg KH wrote:> On Mon, Jul 01, 2013 at
> 09:36:21PM -0400, Richard Yao wrote:
>>> That is because fixes for other filesystems are either held back by a
>>> lack of system kernel updates or held hostage by regressions in newer
>>> kernels on certain hardware.
>>
>> I have never heard this being a reason for keeping code upstream, what
>> do you mean by it?
> 
> This is an issue that end users tend to encounter where changes in a
> newer kernel break stuff that they need. One example is nouveau kexec
> support. Another is that the nouveau in the first two RCs of Linux 3.7
> (if I recall) broke my display completely.

I probably should clarify that this issue keeps some users from
obtaining bug fixes in key components (e.g. their filesystem). That is
why I prefer the situation where code lives out-of-tree and works on a
variety of kernels over the situation where it is bundled with the
kernel for in-tree builds.



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Richard Yao
>> Furthermore, should the kernel kernel choose to engage that out-of-tree
>> code, my expectation is that its quality will improve as they do testing
>> and write patches.
> 
> What do you mean by this?

I probably should have clarified that there was a typo in that. I meant
"the kernel team", not "the kernel kernel". I was referring to the
Gentoo kernel team. I sent an email to the list with the correction, but
I neglected to include you on the CC list by mistake.




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Richard Yao
On 07/01/2013 09:56 PM, Greg KH wrote:> On Mon, Jul 01, 2013 at
09:36:21PM -0400, Richard Yao wrote:
>> On 07/01/2013 03:23 PM, Greg KH wrote:
>>> On Mon, Jul 01, 2013 at 08:45:16PM +0200, Tom Wijsman wrote:
>> Q: What about my stable server? I really don't want to run this
>> stuff!
>>
>> A: These options would depend on !CONFIG_VANILLA or
>> CONFIG_EXPERIMENTAL
>
> What is CONFIG_VANILLA?  I don't see that in the upstream kernel tree
> at all.
>
> CONFIG_EXPERIMENTAL is now gone from upstream, so you are going to
> have a problem with this.

 Earlier I mentioned "2) These feature should depend on a non-vanilla /
 experimental option." which is an option we would introduce under the
 Gentoo distribution menu section.
>>>
>>> Distro-specific config options, great :(
>>>
>>which would be disabled by default, therefore if you keep this
>> option the way it is on your stable server; it won't affect you.
>
> Not always true.  Look at aufs as an example.  It patches the core
> kernel code in ways that are _not_ accepted upstream yet.  Now you all
> are running that modified code, even if you don't want aufs.

 Earlier I mentioned "3) The patch should not affect the build by
 default."; if it does, we have to adjust it to not do that, this is
 something that can be easily scripted. It's just a matter of embedding
 each + block in the diff with a config check and updating the counts.
>>>
>>> Look at aufs as a specific example of why you can't do that, otherwise,
>>> don't you think that the aufs developer(s) wouldn't have done so?
>>
>> I am accquainted with the developer of a stackable filesystem developer.
>> According to what he has told me in person offline, the developers on
>> the LKML cannot decide on how a stackable filesystem should be
>> implemented. I was told three different variations on the design that
>> some people liked and others didn't, which ultimately kept the upstream
>> kernel from adopting anything. I specifically recall two variations,
>> which were doing it as part of the VFS and doing it as part of ext4. If
>> you want to criticize stackable filesystems, would you lay out a
>> groundwork for getting one implemented upon which people will agree?
>
> I was not criticising stackable filesystems at all, nor the aufs code,
> which I personally run on some of my own systems.
>
> I agree that the upstream kernel development of stackable filesystems
> has been all over the place, with seemingly not much guidance on how to
> get things merged properly.  Being that I am not part of the subset of
> the kernel development community, I am in no position to lay any
> groundwork out at all.
>
> And note, this is totally off-topic from this thread.
>
> My main point is that if Gentoo wants to start maintaining out-of-tree
> kernel patches, and modifying them, the maintenance nightmare is going
> to be huge.  Been there, done that, have way too many t-shirts
> commemorating it, and never want to do it again.
>
>>> The goal of "don't touch any other kernel code" is a very good one, but
>>> not always true for these huge out-of-tree kernel patches.  Usually that
>>> is the main reason why these patches aren't merged upstream, because
>>> those changes are not acceptable.
>>
>> I was under the impression that there were several reasons for patches
>> not being merged upstream:
>>
>> 1. Lack of signed-off
>
> No distro will accept code that does not have a signed-off-by line,
> otherwise they might get into trouble, as that implies the patch is not
> properly licensed, right?

That is wrong. Signed-off is an affirmation that the code is under the
license, but the absence of signed-off does not imply that the code is
not under the license. For example, I doubt you will receive signed-off
for PaX/GrSecurity, but is there any doubt that code is under the GPL?

To give another example, I doubt that you will receive signed off for
code from BSD UNIX, but is there any doubt that code is under the
3-clause BSD license?

>> 2. Code drop that no one will maintain
>
> Agreed.
>
>> 3. Subsystem maintainers saying no simply because they do not like
>> .
>
> That is very rare and usually the subsystem maintainer can be poked to
> resolve this.

Past conversations with you have made me reluctant to try, but the next
time I see something like this, I will send you an email.

>> 4. Risk of patent trolls
>
> I know of no kernel patches outside of the tree because of this, do you?

There is compatibility code for DOS long filenames in fat that is no
longer in-tree because of this.

>> 5. Actual technical reasons
>
> That's the majority of the reasons patches aren't accepted.

Not all patches that aren't accepted are submitted to be rejected.

>> Only some of the patches were rejected. Others were never submitted. The
>> PaX/GrSecurity developers prefer their code to stay out-of-tree. As one
>> of the people hacking on 

Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Greg KH
On Mon, Jul 01, 2013 at 09:36:21PM -0400, Richard Yao wrote:
> On 07/01/2013 03:23 PM, Greg KH wrote:
> > On Mon, Jul 01, 2013 at 08:45:16PM +0200, Tom Wijsman wrote:
>  Q: What about my stable server? I really don't want to run this
>  stuff!
> 
>  A: These options would depend on !CONFIG_VANILLA or
>  CONFIG_EXPERIMENTAL
> >>>
> >>> What is CONFIG_VANILLA?  I don't see that in the upstream kernel tree
> >>> at all.
> >>>
> >>> CONFIG_EXPERIMENTAL is now gone from upstream, so you are going to
> >>> have a problem with this.
> >>
> >> Earlier I mentioned "2) These feature should depend on a non-vanilla /
> >> experimental option." which is an option we would introduce under the
> >> Gentoo distribution menu section.
> > 
> > Distro-specific config options, great :(
> > 
> which would be disabled by default, therefore if you keep this
>  option the way it is on your stable server; it won't affect you.
> >>>
> >>> Not always true.  Look at aufs as an example.  It patches the core
> >>> kernel code in ways that are _not_ accepted upstream yet.  Now you all
> >>> are running that modified code, even if you don't want aufs.
> >>
> >> Earlier I mentioned "3) The patch should not affect the build by
> >> default."; if it does, we have to adjust it to not do that, this is
> >> something that can be easily scripted. It's just a matter of embedding
> >> each + block in the diff with a config check and updating the counts.
> > 
> > Look at aufs as a specific example of why you can't do that, otherwise,
> > don't you think that the aufs developer(s) wouldn't have done so?
> 
> I am accquainted with the developer of a stackable filesystem developer.
> According to what he has told me in person offline, the developers on
> the LKML cannot decide on how a stackable filesystem should be
> implemented. I was told three different variations on the design that
> some people liked and others didn't, which ultimately kept the upstream
> kernel from adopting anything. I specifically recall two variations,
> which were doing it as part of the VFS and doing it as part of ext4. If
> you want to criticize stackable filesystems, would you lay out a
> groundwork for getting one implemented upon which people will agree?

I was not criticising stackable filesystems at all, nor the aufs code,
which I personally run on some of my own systems.

I agree that the upstream kernel development of stackable filesystems
has been all over the place, with seemingly not much guidance on how to
get things merged properly.  Being that I am not part of the subset of
the kernel development community, I am in no position to lay any
groundwork out at all.

And note, this is totally off-topic from this thread.

My main point is that if Gentoo wants to start maintaining out-of-tree
kernel patches, and modifying them, the maintenance nightmare is going
to be huge.  Been there, done that, have way too many t-shirts
commemorating it, and never want to do it again.

> > The goal of "don't touch any other kernel code" is a very good one, but
> > not always true for these huge out-of-tree kernel patches.  Usually that
> > is the main reason why these patches aren't merged upstream, because
> > those changes are not acceptable.
> 
> I was under the impression that there were several reasons for patches
> not being merged upstream:
> 
> 1. Lack of signed-off

No distro will accept code that does not have a signed-off-by line,
otherwise they might get into trouble, as that implies the patch is not
properly licensed, right?

> 2. Code drop that no one will maintain

Agreed.

> 3. Subsystem maintainers saying no simply because they do not like
> .

That is very rare and usually the subsystem maintainer can be poked to
resolve this.

> 4. Risk of patent trolls

I know of no kernel patches outside of the tree because of this, do you?

> 5. Actual technical reasons

That's the majority of the reasons patches aren't accepted.

> Only some of the patches were rejected. Others were never submitted. The
> PaX/GrSecurity developers prefer their code to stay out-of-tree. As one
> of the people hacking on ZFSOnLinux, I prefer that the code be
> out-of-tree.

There's also a small legal issue with the zfs code that might prevent it
from being merged :)

> That is because fixes for other filesystems are either held back by a
> lack of system kernel updates or held hostage by regressions in newer
> kernels on certain hardware.

I have never heard this being a reason for keeping code upstream, what
do you mean by it?

> With that said, being in Linus' tree does not make code fall under some
> golden standard for quality. There are many significant issues in code
> committed to Linus' the kernel, some of which have been problems for
> years. Just to name a few:



The fact that bugs happen in 16 million lines of kernel code, moving at
a rate that is orders of magnitude faster than any other software
development project, is not news to anyone, it's a 

Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Richard Yao
On 07/01/2013 09:36 PM, Richard Yao wrote:
> On 07/01/2013 03:23 PM, Greg KH wrote:
>> On Mon, Jul 01, 2013 at 08:45:16PM +0200, Tom Wijsman wrote:
> Q: What about my stable server? I really don't want to run this
> stuff!
>
> A: These options would depend on !CONFIG_VANILLA or
> CONFIG_EXPERIMENTAL

 What is CONFIG_VANILLA?  I don't see that in the upstream kernel tree
 at all.

 CONFIG_EXPERIMENTAL is now gone from upstream, so you are going to
 have a problem with this.
>>>
>>> Earlier I mentioned "2) These feature should depend on a non-vanilla /
>>> experimental option." which is an option we would introduce under the
>>> Gentoo distribution menu section.
>>
>> Distro-specific config options, great :(
>>
>which would be disabled by default, therefore if you keep this
> option the way it is on your stable server; it won't affect you.

 Not always true.  Look at aufs as an example.  It patches the core
 kernel code in ways that are _not_ accepted upstream yet.  Now you all
 are running that modified code, even if you don't want aufs.
>>>
>>> Earlier I mentioned "3) The patch should not affect the build by
>>> default."; if it does, we have to adjust it to not do that, this is
>>> something that can be easily scripted. It's just a matter of embedding
>>> each + block in the diff with a config check and updating the counts.
>>
>> Look at aufs as a specific example of why you can't do that, otherwise,
>> don't you think that the aufs developer(s) wouldn't have done so?
> 
> I am accquainted with the developer of a stackable filesystem developer.

I should probably proofread multiple times before I send emails. Anyway,
that should have been:

> I am acquainted with the developer of a stackable filesystem.

> According to what he has told me in person offline, the developers on
> the LKML cannot decide on how a stackable filesystem should be
> implemented. I was told three different variations on the design that
> some people liked and others didn't, which ultimately kept the upstream
> kernel from adopting anything. I specifically recall two variations,
> which were doing it as part of the VFS and doing it as part of ext4. If
> you want to criticize stackable filesystems, would you lay out a
> groundwork for getting one implemented upon which people will agree?
> 
>> The goal of "don't touch any other kernel code" is a very good one, but
>> not always true for these huge out-of-tree kernel patches.  Usually that
>> is the main reason why these patches aren't merged upstream, because
>> those changes are not acceptable.
> 
> I was under the impression that there were several reasons for patches
> not being merged upstream:
> 
> 1. Lack of signed-off
> 2. Code drop that no one will maintain
> 3. Subsystem maintainers saying no simply because they do not like
> .
> 4. Risk of patent trolls
> 5. Actual technical reasons
> 
>> So be very careful here, you are messing with things that are rejected
>> by upstream.
>>
>> greg k-h
>>
> 
> Only some of the patches were rejected. Others were never submitted. The
> PaX/GrSecurity developers prefer their code to stay out-of-tree. As one
> of the people hacking on ZFSOnLinux, I prefer that the code be
> out-of-tree. That is because fixes for other filesystems are either held
> back by a lack of system kernel updates or held hostage by regressions
> in newer kernels on certain hardware.
> 
> With that said, being in Linus' tree does not make code fall under some
> golden standard for quality. There are many significant issues in code
> committed to Linus' the kernel, some of which have been problems for
> years. Just to name a few:
> 
> 1. Doing `rm -r /dir` on a directory tree containing millions of inodes
> (e.g. ccache) on an ext4 filesystem mounted with discard with the CFQ IO
> elevator will cause a system to hang for hours on pre-SATA 3.1 hardware.
> This is because TRIM is a non-queued command and is being interleaved
> with writes for "fairness". Incidentally, using noop turns a multiple
> hour hang into a laggy experience of a few minutes.
> 
> 2. aio_sync() is unimplemented, which means that there is no sane way
> for userland software like QEMU and TGT to be both fast and guarantee
> data integrity. A single crash and your guest is corrupted. It would
> have been better had AIO never been implemented.
> 
> 3. dm-crypt will reorder write requests across flushes. That is because
> upon seeing a write, it sends it to a work queue to be processed
> asynchronously and upon seeing a flush, it immediately processes it. A
> single kernel panic or sudden power loss can damage filesystems stored
> on it.
> 
> 4. Under low memory conditions with hundreds of concurrent threads (e.g.
> package builds), every thread will enter direct reclaim and there will
> be a remarkable drop in system throughput, assuming that the system does
> not lockup. There is a fairly substantial amount of time wasted after
> o

Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Richard Yao
On 07/01/2013 03:23 PM, Greg KH wrote:
> On Mon, Jul 01, 2013 at 08:45:16PM +0200, Tom Wijsman wrote:
 Q: What about my stable server? I really don't want to run this
 stuff!

 A: These options would depend on !CONFIG_VANILLA or
 CONFIG_EXPERIMENTAL
>>>
>>> What is CONFIG_VANILLA?  I don't see that in the upstream kernel tree
>>> at all.
>>>
>>> CONFIG_EXPERIMENTAL is now gone from upstream, so you are going to
>>> have a problem with this.
>>
>> Earlier I mentioned "2) These feature should depend on a non-vanilla /
>> experimental option." which is an option we would introduce under the
>> Gentoo distribution menu section.
> 
> Distro-specific config options, great :(
> 
which would be disabled by default, therefore if you keep this
 option the way it is on your stable server; it won't affect you.
>>>
>>> Not always true.  Look at aufs as an example.  It patches the core
>>> kernel code in ways that are _not_ accepted upstream yet.  Now you all
>>> are running that modified code, even if you don't want aufs.
>>
>> Earlier I mentioned "3) The patch should not affect the build by
>> default."; if it does, we have to adjust it to not do that, this is
>> something that can be easily scripted. It's just a matter of embedding
>> each + block in the diff with a config check and updating the counts.
> 
> Look at aufs as a specific example of why you can't do that, otherwise,
> don't you think that the aufs developer(s) wouldn't have done so?

I am accquainted with the developer of a stackable filesystem developer.
According to what he has told me in person offline, the developers on
the LKML cannot decide on how a stackable filesystem should be
implemented. I was told three different variations on the design that
some people liked and others didn't, which ultimately kept the upstream
kernel from adopting anything. I specifically recall two variations,
which were doing it as part of the VFS and doing it as part of ext4. If
you want to criticize stackable filesystems, would you lay out a
groundwork for getting one implemented upon which people will agree?

> The goal of "don't touch any other kernel code" is a very good one, but
> not always true for these huge out-of-tree kernel patches.  Usually that
> is the main reason why these patches aren't merged upstream, because
> those changes are not acceptable.

I was under the impression that there were several reasons for patches
not being merged upstream:

1. Lack of signed-off
2. Code drop that no one will maintain
3. Subsystem maintainers saying no simply because they do not like
.
4. Risk of patent trolls
5. Actual technical reasons

> So be very careful here, you are messing with things that are rejected
> by upstream.
> 
> greg k-h
> 

Only some of the patches were rejected. Others were never submitted. The
PaX/GrSecurity developers prefer their code to stay out-of-tree. As one
of the people hacking on ZFSOnLinux, I prefer that the code be
out-of-tree. That is because fixes for other filesystems are either held
back by a lack of system kernel updates or held hostage by regressions
in newer kernels on certain hardware.

With that said, being in Linus' tree does not make code fall under some
golden standard for quality. There are many significant issues in code
committed to Linus' the kernel, some of which have been problems for
years. Just to name a few:

1. Doing `rm -r /dir` on a directory tree containing millions of inodes
(e.g. ccache) on an ext4 filesystem mounted with discard with the CFQ IO
elevator will cause a system to hang for hours on pre-SATA 3.1 hardware.
This is because TRIM is a non-queued command and is being interleaved
with writes for "fairness". Incidentally, using noop turns a multiple
hour hang into a laggy experience of a few minutes.

2. aio_sync() is unimplemented, which means that there is no sane way
for userland software like QEMU and TGT to be both fast and guarantee
data integrity. A single crash and your guest is corrupted. It would
have been better had AIO never been implemented.

3. dm-crypt will reorder write requests across flushes. That is because
upon seeing a write, it sends it to a work queue to be processed
asynchronously and upon seeing a flush, it immediately processes it. A
single kernel panic or sudden power loss can damage filesystems stored
on it.

4. Under low memory conditions with hundreds of concurrent threads (e.g.
package builds), every thread will enter direct reclaim and there will
be a remarkable drop in system throughput, assuming that the system does
not lockup. There is a fairly substantial amount of time wasted after
one thread finishes direct reclaim in other threads because they will
still be performing direct reclaim afterward.

5. The Linux 3.7 nouveau rewrite broke kexec support. The graphics
hardware will not reinitialize properly.

6. A throttle mechanism introduced for memory cgroups can cause the
system to deadlock whenever it is holding a lock needed for swap and

Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Tom Wijsman
On Mon, 1 Jul 2013 14:24:54 -0700
Greg KH  wrote:

> > but suppose people
> > want BFQ? Why can't we have it in gentoo-sources.  It is totally
> > disabled by not selecting CONFIG_BFQ.  Selecting it is no different
> > than emerging pf-sources with the same other options ported over.
> 
> Until you run into a patch that modifies code outside of it's CONFIG_
> option, like the aufs example I pointed out.

It would be policy to not add such patches, unless wrapped with config
checks by a script; further more, I discussed USE=-experimental with
mpagano and he found this separation a good idea, we can split this into
a third experimental tarball to not surprise non-Gentoo users as well.

mpagano as well as I stand completely behind that gentoo-sources must
remain usable for production servers; which this USE flag fulfills, as
well as separate from all of this to use live ebuilds in our testing to
avoid surprises that even our non-experimental genpatches could bring.

(For those in #gentoo-kernel, that conversation happened there)

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Anthony G. Basile

On 07/01/2013 05:30 PM, Fabio Erculiani wrote:

On Mon, Jul 1, 2013 at 11:26 PM, Anthony G. Basile  wrote:


I'm pretty sure I hit a genuine deadlock with it.  I've been trying to
reproduce with debugging on but nothing yet.

But, having said that:

BFQ [Experimtental]

This introduced an experimental io scheduler.  Have fun with it, but don't
dare use it in production else we will laugh.

Don't trust outdated documentation.
http://algo.ing.unimo.it/people/paolo/disk_sched/sources.php There is
nothing about it in the latest BFQ patchset.


No, I hit it.  Not read about it.  Hit it.  I can't be 100% sure, but 
next time it happens, I will be ready with the smoking gun.



--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail: bluen...@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA




Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Anthony G. Basile

On 07/01/2013 05:24 PM, Greg KH wrote:

On Mon, Jul 01, 2013 at 05:17:07PM -0400, Anthony G. Basile wrote:

On 07/01/2013 03:23 PM, Greg KH wrote:

On Mon, Jul 01, 2013 at 08:45:16PM +0200, Tom Wijsman wrote:

Q: What about my stable server? I really don't want to run this
stuff!

A: These options would depend on !CONFIG_VANILLA or
CONFIG_EXPERIMENTAL

What is CONFIG_VANILLA?  I don't see that in the upstream kernel tree
at all.

CONFIG_EXPERIMENTAL is now gone from upstream, so you are going to
have a problem with this.

Earlier I mentioned "2) These feature should depend on a non-vanilla /
experimental option." which is an option we would introduce under the
Gentoo distribution menu section.

Distro-specific config options, great :(

I'm not sure what you mean by "distro-specific",

See later mention of CONFIG_GENTOO_EXPERIMENTAL, that is what I was
referring to.


but suppose people
want BFQ? Why can't we have it in gentoo-sources.  It is totally
disabled by not selecting CONFIG_BFQ.  Selecting it is no different
than emerging pf-sources with the same other options ported over.

Until you run into a patch that modifies code outside of it's CONFIG_
option, like the aufs example I pointed out.


Yeah, that's the situation with hardened-sources and then we are in 
agreement.  If its orthogonal to the rest of the kernel, I maintain that 
it can safely be included with the appropriate warnings.





By your logic, we should not distribut pf-sources either.  The truth
of the matter is, there are forks of the vanilla kernel out there. Are
you suggesting we distribute none of them?

That's a total false argument, the discussion here is about our "main"
gentoo-kernel tree, not one of our many domain-specific kernel versions
that are maintained separately.


Now I'm confused because gentoo-sources is gentoo specific.  It contains 
stuff that we need in gentoo but other distros do not need, like our 
end-to-end support for certain xattr namespaces.  If you remove these 
then we must either 1) maintain a userland which is not in line with 
other distros or 2) give up on critical features we want in gentoo, like 
markings on elf object in user.pax.flags and certain caps, as well as in 
the future preserving selinux labels through emerge.  Upstream will not 
accept them because of "who needs that crap" and we can't give them up 
without loosing core functionality.  Feel free to review those patches 
but don't ask us to drop them from gentoo-sources because their not in 
upstream.


Only vanilla-sources should be exactly that.  upstream vanilla with 
nothing else.  period.






NOTE: hardened-sources is its own world.  There is not level of
turning on/off options that get you back to a vanilla kernel.

Agreed, which keeps that from being merged into this tree, hopefully :)


Yeah I think everyone is in agreement with that.  But it also fits my 
point about orthogonality above.



--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail: bluen...@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA




Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Fabio Erculiani
On Mon, Jul 1, 2013 at 11:26 PM, Anthony G. Basile  wrote:
>
>
> I'm pretty sure I hit a genuine deadlock with it.  I've been trying to
> reproduce with debugging on but nothing yet.
>
> But, having said that:
>
> BFQ [Experimtental]
>
> This introduced an experimental io scheduler.  Have fun with it, but don't
> dare use it in production else we will laugh.

Don't trust outdated documentation.
http://algo.ing.unimo.it/people/paolo/disk_sched/sources.php There is
nothing about it in the latest BFQ patchset.

>
>
>>
>>> --
>>> Regards,
>>> Markos Chandras - Gentoo Linux Developer
>>> http://dev.gentoo.org/~hwoarang
>>>
>>
>>
>
>
> --
> Anthony G. Basile, Ph.D.
> Gentoo Linux Developer [Hardened]
> E-Mail: bluen...@gentoo.org
> GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
> GnuPG ID  : F52D4BBA
>
>



-- 
Fabio Erculiani



Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Greg KH
On Mon, Jul 01, 2013 at 05:17:07PM -0400, Anthony G. Basile wrote:
> On 07/01/2013 03:23 PM, Greg KH wrote:
> >On Mon, Jul 01, 2013 at 08:45:16PM +0200, Tom Wijsman wrote:
> Q: What about my stable server? I really don't want to run this
> stuff!
> 
> A: These options would depend on !CONFIG_VANILLA or
> CONFIG_EXPERIMENTAL
> >>>What is CONFIG_VANILLA?  I don't see that in the upstream kernel tree
> >>>at all.
> >>>
> >>>CONFIG_EXPERIMENTAL is now gone from upstream, so you are going to
> >>>have a problem with this.
> >>Earlier I mentioned "2) These feature should depend on a non-vanilla /
> >>experimental option." which is an option we would introduce under the
> >>Gentoo distribution menu section.
> >Distro-specific config options, great :(
> 
> I'm not sure what you mean by "distro-specific",

See later mention of CONFIG_GENTOO_EXPERIMENTAL, that is what I was
referring to.

> but suppose people
> want BFQ? Why can't we have it in gentoo-sources.  It is totally
> disabled by not selecting CONFIG_BFQ.  Selecting it is no different
> than emerging pf-sources with the same other options ported over.

Until you run into a patch that modifies code outside of it's CONFIG_
option, like the aufs example I pointed out.

> By your logic, we should not distribut pf-sources either.  The truth
> of the matter is, there are forks of the vanilla kernel out there. Are
> you suggesting we distribute none of them?

That's a total false argument, the discussion here is about our "main"
gentoo-kernel tree, not one of our many domain-specific kernel versions
that are maintained separately.

> NOTE: hardened-sources is its own world.  There is not level of
> turning on/off options that get you back to a vanilla kernel.

Agreed, which keeps that from being merged into this tree, hopefully :)

thanks,

greg k-h



Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Anthony G. Basile

On 07/01/2013 04:25 PM, Fabio Erculiani wrote:

On Mon, Jul 1, 2013 at 10:14 PM, Markos Chandras  wrote:
[...]


It's really scary to have the BFQ in a stable gentoo-sources ebuild.

BFQ is not that scary, it's "just" an iosched (and it's quite easy to
write an iosched), what could possibly go wrong?
Jokes apart, I've been using it in production for almost 2 years now
(can't remember exactly).


I'm pretty sure I hit a genuine deadlock with it.  I've been trying to 
reproduce with debugging on but nothing yet.


But, having said that:

BFQ [Experimtental]

This introduced an experimental io scheduler.  Have fun with it, but 
don't dare use it in production else we will laugh.





--
Regards,
Markos Chandras - Gentoo Linux Developer
http://dev.gentoo.org/~hwoarang







--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail: bluen...@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA




Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Anthony G. Basile

On 07/01/2013 03:24 PM, Greg KH wrote:

On Mon, Jul 01, 2013 at 02:30:51PM -0400, Anthony G. Basile wrote:

Tom, you already know my opinion because we discussed it.  I'm all
for it.  Just a reminder: there's always problems somewhere in the
kernel which can be triggered by various options.  The kernel is not
one big take it or leave it chunk of code, but many chunks
selectable by Kconfig with the exception of course of the core.  The
best we can do wrt to BFQ and other "risky" patches is mark these
options as EXPERIMENTAL.  I was going to say depend on
CONFIG_EXPERIMENTAL in Kconfig, but this is deprecated.  See
scripts/checkpatch.pl

 "Use of CONFIG_EXPERIMENTAL is deprecated. For alternatives, see
https://lkml.org/lkml/2012/10/23/580";

It's flat out gone now in the 3.10 kernel release, so if you use it,
your code just will never be enabled.

greg k-h


Yeah i noticed that right after sending it.

--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail: bluen...@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA




Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Anthony G. Basile

On 07/01/2013 03:23 PM, Greg KH wrote:

On Mon, Jul 01, 2013 at 08:45:16PM +0200, Tom Wijsman wrote:

Q: What about my stable server? I really don't want to run this
stuff!

A: These options would depend on !CONFIG_VANILLA or
CONFIG_EXPERIMENTAL

What is CONFIG_VANILLA?  I don't see that in the upstream kernel tree
at all.

CONFIG_EXPERIMENTAL is now gone from upstream, so you are going to
have a problem with this.

Earlier I mentioned "2) These feature should depend on a non-vanilla /
experimental option." which is an option we would introduce under the
Gentoo distribution menu section.

Distro-specific config options, great :(


I'm not sure what you mean by "distro-specific", but suppose people want 
BFQ? Why can't we have it in gentoo-sources.  It is totally disabled by 
not selecting CONFIG_BFQ.  Selecting it is no different than emerging 
pf-sources with the same other options ported over. By your logic, we 
should not distribut pf-sources either.  The truth of the matter is, 
there are forks of the vanilla kernel out there. Are you suggesting we 
distribute none of them?


NOTE: hardened-sources is its own world.  There is not level of turning 
on/off options that get you back to a vanilla kernel.





which would be disabled by default, therefore if you keep this
option the way it is on your stable server; it won't affect you.

Not always true.  Look at aufs as an example.  It patches the core
kernel code in ways that are _not_ accepted upstream yet.  Now you all
are running that modified code, even if you don't want aufs.

Earlier I mentioned "3) The patch should not affect the build by
default."; if it does, we have to adjust it to not do that, this is
something that can be easily scripted. It's just a matter of embedding
each + block in the diff with a config check and updating the counts.

Look at aufs as a specific example of why you can't do that, otherwise,
don't you think that the aufs developer(s) wouldn't have done so?

The goal of "don't touch any other kernel code" is a very good one, but
not always true for these huge out-of-tree kernel patches.  Usually that
is the main reason why these patches aren't merged upstream, because
those changes are not acceptable.

So be very careful here, you are messing with things that are rejected
by upstream.

greg k-h




--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail: bluen...@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA




Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Tom Wijsman
On Mon, 1 Jul 2013 21:14:45 +0100
Markos Chandras  wrote:

> And besides that, I am sure that 98% of our users out there do not
> know they run a (heavily?) modified upstream kernel when they emerge
> the official/supported gentoo-sources.

This point I do understand.

> The transition between the minimal genpatches to the
> "new-shiny-feature-full" was made behind the scenes. This should have
> been communicated earlier in time.

Apart from the BFQ test in ~3 versions, there did not really happen a
transition yet; unless you consider fbcondecor to be part of that, ...

> If you ask me, I would prefer if you apply all the 3rd-party patches
> conditionally (use flag?, maybe a new gentoo-sources-ng ebuild?)
> It's really scary to have the BFQ in a stable gentoo-sources ebuild.

An USE flag sounds like something that would make sense; similarly,
someone suggested in a mail to cover this as well under a new set in
genpatches; currently we do "base" (Linux patches + fixes) and "extra",
we could extend this with "experimental" or something like that.

An "experimental" USE flag definitely makes sense; and documents where
users can find the introduced CONFIG_GENTOO_EXPERIMENTAL kernel option
in its USE flag description, as well as a page documenting the patches
present in the kernel as well as where they can be found in menuconfig.

In the long end, this documentation could be generated from the patches.

So, we introduce USE=-experimental in the eclass which users would have
to enable to get these patches to even apply; that way users can still
see and use a completely untampered kernel, in case they want to want to
apply patches that fail against all the experimental patches.

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Fabio Erculiani
On Mon, Jul 1, 2013 at 10:24 PM, Christoph Junghans  wrote:
> 2013/7/1 Fabio Erculiani :
>> I believe that end users would benefit more from kernel binary ebuilds
>> (ebuilds building an actual kernel with an official config), rather
>> than all this.
> +1
>
> The "binary" use flag for sys-kernel/*-sources in Funtoo implements
> exactly that.

[OT]
And why should you throw kernel sources at people as well? Separate
pkgs is much better. I don't want to have kernel sources on my servers
(for the same reason I don't want to have a compiler, and I've been
able to sort this out as well).
[/OT]

Sorry for the OT.

>
>>
>> --
>> Fabio Erculiani
>>
>
>
>
> --
> Christoph Junghans
> http://dev.gentoo.org/~ottxor/
>



-- 
Fabio Erculiani



Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Fabio Erculiani
On Mon, Jul 1, 2013 at 10:14 PM, Markos Chandras  wrote:
>

[...]

> It's really scary to have the BFQ in a stable gentoo-sources ebuild.

BFQ is not that scary, it's "just" an iosched (and it's quite easy to
write an iosched), what could possibly go wrong?
Jokes apart, I've been using it in production for almost 2 years now
(can't remember exactly).

>
> --
> Regards,
> Markos Chandras - Gentoo Linux Developer
> http://dev.gentoo.org/~hwoarang
>



-- 
Fabio Erculiani



Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Rick "Zero_Chaos" Farina
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 07/01/2013 03:55 PM, Fabio Erculiani wrote:
> I believe that end users would benefit more from kernel binary ebuilds
> (ebuilds building an actual kernel with an official config), rather
> than all this.
> 
++

- -ZC
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.19 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJR0eW1AAoJEKXdFCfdEflKK4EP/jHyQsECDwVc27eiCglQQ5vV
i+FP/cLYkzmNkH8AQwHFq37TVD00XWRiW4vTLu8FrEyu2EIUOze3IwDS9z988rhm
TAOcCkoZPF0rA3NoRmapzccSwXMC6W8wOChXSXvRZx+FqYc2kOJ+Yjc7w552ISg3
DQbJlyS/HvspMfAa/zHQYUb2xDX/1HzH1qIdWCBVHo1RpfkmRoblkQ41e7lKnyfA
8oot1XGNc/8jTL5s1rRtpwt0R8Xw2gIEMjSK93B3QLSAzHVkpxmAQ4uELi5m5R5O
l+07jit+vqw/cS3/2mSP5nJg8SfOIXNSHLexErUGYg92JsebrlqwmhZjYIHF+ldC
h5CbRO30CrcF7kjAjP77gfp0r9tw0AAzOxBqB8cP7/YB62Ee7yAJjXOST7ip7KA5
Bvua4PkgUtyL2fs0orm/Vrkg5ckOVdP92E5oYKFh4gM7UeuDDN2ZJ7fuEKNL9pRC
KyCIf3MkQKw18RxO+ecgJlxVN3aj8Qkt4sdJUCZWpiSpry77gVrnciORpHLguKVh
yVqhDVkd9b3u2jsnlWs6SeqBQtsChx+xI3OK1lA8kEzNArF6yQxhFxrMeyLUu2Iq
LWgBWTuilVIxPAiwDpiWOrXSMjWtjvYGH0vxmfX8wOlvx/L7PA+KEYv+jQeHo59m
B1M0btSM6Ut5RJzeS7K8
=cRF9
-END PGP SIGNATURE-



Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Christoph Junghans
2013/7/1 Fabio Erculiani :
> I believe that end users would benefit more from kernel binary ebuilds
> (ebuilds building an actual kernel with an official config), rather
> than all this.
+1

The "binary" use flag for sys-kernel/*-sources in Funtoo implements
exactly that.

>
> --
> Fabio Erculiani
>



--
Christoph Junghans
http://dev.gentoo.org/~ottxor/



Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Markos Chandras
On 1 July 2013 20:09, Matthew Summers  wrote:
> On Mon, Jul 1, 2013 at 1:56 PM, Tom Wijsman  wrote:
>> On Mon, 1 Jul 2013 19:38:48 +0100
>> Markos Chandras  wrote:
>>
>>> I certainly don't feel safe anymore running non-upstream code in
>>> production boxes.
>>
>> You don't run it unless you explicitly tick on that you want
>> experimental functionality _as well as_ the optional features in
>> question; as I said earlier on chat, I don't understand your point here.
>>
>> If you don't enable them, genpatches is just like it is before; I'm
>> not sure why the recommendations should change here, especially with
>> vanilla-sources taking a further step away from Gentoo Security and QA.
>>
>
> Tom,
>
> I think the point was well-made by grehkh. If the patchset patches the
> kernel's core, it doesn't matter what CONFIG_* option is set the core
> kernel code _has_now_been_changed_. This is the crux of the argument,
> I believe. AUFS simply being one example of this. I'm sure there are
> others.
>
> --
> Matthew W. Summers
> Gentoo Foundation Inc.
> GPG: 111B C438 35FA EDB5 B5D3 736F 45EE 5DC0 0878 9D46
>

And besides that, I am sure that 98% of our users out there do not
know they run a (heavily?) modified upstream kernel when they emerge
the official/supported gentoo-sources. The transition between the
minimal genpatches to the "new-shiny-feature-full" was made behind the
scenes.
This should have been communicated earlier in time.
If you ask me, I would prefer if you apply all the 3rd-party patches
conditionally (use flag?, maybe a new gentoo-sources-ng ebuild?)
It's really scary to have the BFQ in a stable gentoo-sources ebuild.

--
Regards,
Markos Chandras - Gentoo Linux Developer
http://dev.gentoo.org/~hwoarang



Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Tom Wijsman
On Mon, 1 Jul 2013 21:55:23 +0200
Fabio Erculiani  wrote:

> I believe that end users would benefit more from kernel binary ebuilds
> (ebuilds building an actual kernel with an official config), rather
> than all this.
> 

There's been a start on this, but we're looking at you now; feel free
to communicate with Zero_Chaos about this to clarify why and how you do
certain matters, make sure (just ping me on IRC after a conversation 
with him or so) I can follow along so I can more easily bring this into
the Portage tree; as at least someone on the kernel herd needs to
understand what is going on with all of that

There is a bug filed for this with some work from him.

https://bugs.gentoo.org/show_bug.cgi?id=472906

Separate from this whole thread; we definitely have some thoughts about
this in mind, and I'll give you one cool thought: Having the kernel
build the sources can allow the kernel to automatically rebuild out of
kernel modules; eg. `emerge sys-kernel/gentoo-kernel` and it will
rebuild nvidia-drivers, virtualbox, ... Of course, for this to work we
would need to propagate sub slot rebuilds through virtuals.

We thinked through some possible problems and solutions that appear;
but I would like to keep them out of this ML thread; as to not mix a
thought out idea with one that does some early circles in our minds.

On a side note; I'm currently testing genpatches using an ebuild I
hacked together myself, allows me to test the way eclass does the
patches as well as include some neat local QA checks and testing magic.

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Fabio Erculiani
On Mon, Jul 1, 2013 at 9:59 PM, Pacho Ramos  wrote:
> El lun, 01-07-2013 a las 21:55 +0200, Fabio Erculiani escribió:
>> I believe that end users would benefit more from kernel binary ebuilds
>> (ebuilds building an actual kernel with an official config), rather
>> than all this.
>>
>
> I don't see them exclusionary, look different issues to me :/ (with
> completely different solutions I think)

Of course I'm not saying that they're not orthogonal. OTOH I believe
that the complexity of supporting something like this (the original
proposal) is not linear. However, I don't see any problem with people
implementing it btw... it's their time.

>
>



-- 
Fabio Erculiani



Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Pacho Ramos
El lun, 01-07-2013 a las 21:55 +0200, Fabio Erculiani escribió:
> I believe that end users would benefit more from kernel binary ebuilds
> (ebuilds building an actual kernel with an official config), rather
> than all this.
> 

I don't see them exclusionary, look different issues to me :/ (with
completely different solutions I think)




Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Fabio Erculiani
I believe that end users would benefit more from kernel binary ebuilds
(ebuilds building an actual kernel with an official config), rather
than all this.

-- 
Fabio Erculiani



Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Tom Wijsman
On Mon, 1 Jul 2013 12:33:30 -0700
Greg KH  wrote:

> On Mon, Jul 01, 2013 at 09:25:42PM +0200, Tom Wijsman wrote:
> > On Mon, 1 Jul 2013 14:09:57 -0500
> > Matthew Summers  wrote:
> > > If the patchset patches the kernel's core, it doesn't matter what
> > > CONFIG_* option is set the core kernel code
> > > _has_now_been_changed_. This is the crux of the argument, I
> > > believe. AUFS simply being one example of this. I'm sure there
> > > are others.
> > 
> > As per my response to that point, this statement is no longer true.
> > 
> > Let me re-iterate it here:
> > 
> > Earlier I mentioned "3) The patch should not affect the build by
> > default."; if it does, we have to adjust it to not do that, this is
> > something that can be easily scripted. It's just a matter of
> > embedding each + block in the diff with a config check and updating
> > the counts.
> 
> Wonderful, now you are maintaining a patch that looks nothing like the
> one created by the original developers, nor tested by anyone else
> other than gentoo developers.

I can convert the original developer's patch whenever he updates it; or
on top of that, write a script to generate the original patch back.

> Playing fast-and-loose with kernel patches is a fun thing to do, but
> really, why?  Users love doing this type of thing, but the
> interactions of different kernel patches with core subsystems is
> almost always a non-trivial thing.

Our main intent is to provide them and deduplicate work; if users have
a problem with one of the patches and it isn't clear to us, we can
forward them to the authors. Nothing in this proposal inherits that we
must support the patches; especially not, since they are "experimental".

> I'm not saying not to do this, but consider this a friendly warning
> that this is going to be a MAJOR pain to maintain and debug over the
> long-run.

Maybe, maybe not; plan is to do a slow start, congestion avoidance. :)

> But hey, what do I know?  It's not like I've ever done this before and
> had the experience of the resulting fall-out that took years to
> recover from on user's production systems, causing a number of
> enterprise Linux companies to swear that they would never do this
> type of thing again...

I covered this in the conditions as well as the F.A.Q.; feel free to
read about it again, this does not affect them unless they explicitly
want them to enable CONFIG_GENTOO_EXPERIMENTAL which help includes a
warning; thinking it through, we might even suffix -exp to version.

> Personally, I wish you luck, it will push the sane users to the
> vanilla-sources tree, which I strongly encourage :)

I will push them to keep CONFIG_GENTOO_EXPERIMENTAL disabled. :)

> greg "kids, get off my lawn!" k-h

Gentoo (Penguin) and Larry do not necessarily like grass; they might
like ice, fire, water, earth, ... whatever their appetite craves.

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Tom Wijsman
On Mon, 1 Jul 2013 12:24:36 -0700
Greg KH  wrote:

> On Mon, Jul 01, 2013 at 02:30:51PM -0400, Anthony G. Basile wrote:
> > Tom, you already know my opinion because we discussed it.  I'm all
> > for it.  Just a reminder: there's always problems somewhere in the
> > kernel which can be triggered by various options.  The kernel is not
> > one big take it or leave it chunk of code, but many chunks
> > selectable by Kconfig with the exception of course of the core.  The
> > best we can do wrt to BFQ and other "risky" patches is mark these
> > options as EXPERIMENTAL.  I was going to say depend on
> > CONFIG_EXPERIMENTAL in Kconfig, but this is deprecated.  See
> > scripts/checkpatch.pl
> > 
> > "Use of CONFIG_EXPERIMENTAL is deprecated. For alternatives, see
> > https://lkml.org/lkml/2012/10/23/580";
> 
> It's flat out gone now in the 3.10 kernel release, so if you use it,
> your code just will never be enabled.

As I replied earlier and tried to make clear in my first post, this
would be our own config variable; naming it CONFIG_GENTOO_EXPERIMENTAL
for that matter as to not confuse people.

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Greg KH
On Mon, Jul 01, 2013 at 09:25:42PM +0200, Tom Wijsman wrote:
> On Mon, 1 Jul 2013 14:09:57 -0500
> Matthew Summers  wrote:
> > If the patchset patches the kernel's core, it doesn't matter what
> > CONFIG_* option is set the core kernel code _has_now_been_changed_.
> > This is the crux of the argument, I believe. AUFS simply being one
> > example of this. I'm sure there are others.
> 
> As per my response to that point, this statement is no longer true.
> 
> Let me re-iterate it here:
> 
> Earlier I mentioned "3) The patch should not affect the build by
> default."; if it does, we have to adjust it to not do that, this is
> something that can be easily scripted. It's just a matter of embedding
> each + block in the diff with a config check and updating the counts.

Wonderful, now you are maintaining a patch that looks nothing like the
one created by the original developers, nor tested by anyone else other
than gentoo developers.

There's a reason that no other distro does this.

Playing fast-and-loose with kernel patches is a fun thing to do, but
really, why?  Users love doing this type of thing, but the interactions
of different kernel patches with core subsystems is almost always a
non-trivial thing.

I'm not saying not to do this, but consider this a friendly warning that
this is going to be a MAJOR pain to maintain and debug over the
long-run.

But hey, what do I know?  It's not like I've ever done this before and
had the experience of the resulting fall-out that took years to recover
from on user's production systems, causing a number of enterprise Linux
companies to swear that they would never do this type of thing again...

Personally, I wish you luck, it will push the sane users to the
vanilla-sources tree, which I strongly encourage :)

greg "kids, get off my lawn!" k-h



Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Tom Wijsman
On Mon, 1 Jul 2013 12:23:24 -0700
Greg KH  wrote:

> > Earlier I mentioned "3) The patch should not affect the build by
> > default."; if it does, we have to adjust it to not do that, this is
> > something that can be easily scripted. It's just a matter of
> > embedding each + block in the diff with a config check and updating
> > the counts.
> 
> Look at aufs as a specific example of why you can't do that,
> otherwise, don't you think that the aufs developer(s) wouldn't have
> done so?
> 
> The goal of "don't touch any other kernel code" is a very good one,
> but not always true for these huge out-of-tree kernel patches.
> Usually that is the main reason why these patches aren't merged
> upstream, because those changes are not acceptable.
> 
> So be very careful here, you are messing with things that are rejected
> by upstream.

It sounds to me like some of those developers don't care about
providing an option yet; because they would introduce it as an
afterthought, based on its need and not just because they can.

I don't see why this would be problematic, embedding it in config
checks as well as checking whether the patch introduces non-conditional
code are trivial to implement; why do you think this is not always true?

Thank you for making us aware, feedback on this is nice.

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Tom Wijsman
On Mon, 1 Jul 2013 14:09:57 -0500
Matthew Summers  wrote:

> I think the point was well-made by grehkh.

You missed my response to that point.

> If the patchset patches the kernel's core, it doesn't matter what
> CONFIG_* option is set the core kernel code _has_now_been_changed_.
> This is the crux of the argument, I believe. AUFS simply being one
> example of this. I'm sure there are others.

As per my response to that point, this statement is no longer true.

Let me re-iterate it here:

Earlier I mentioned "3) The patch should not affect the build by
default."; if it does, we have to adjust it to not do that, this is
something that can be easily scripted. It's just a matter of embedding
each + block in the diff with a config check and updating the counts.

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Greg KH
On Mon, Jul 01, 2013 at 02:30:51PM -0400, Anthony G. Basile wrote:
> Tom, you already know my opinion because we discussed it.  I'm all
> for it.  Just a reminder: there's always problems somewhere in the
> kernel which can be triggered by various options.  The kernel is not
> one big take it or leave it chunk of code, but many chunks
> selectable by Kconfig with the exception of course of the core.  The
> best we can do wrt to BFQ and other "risky" patches is mark these
> options as EXPERIMENTAL.  I was going to say depend on
> CONFIG_EXPERIMENTAL in Kconfig, but this is deprecated.  See
> scripts/checkpatch.pl
> 
> "Use of CONFIG_EXPERIMENTAL is deprecated. For alternatives, see
> https://lkml.org/lkml/2012/10/23/580";

It's flat out gone now in the 3.10 kernel release, so if you use it,
your code just will never be enabled.

greg k-h



Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Greg KH
On Mon, Jul 01, 2013 at 08:45:16PM +0200, Tom Wijsman wrote:
> > > Q: What about my stable server? I really don't want to run this
> > > stuff!
> > > 
> > > A: These options would depend on !CONFIG_VANILLA or
> > > CONFIG_EXPERIMENTAL
> > 
> > What is CONFIG_VANILLA?  I don't see that in the upstream kernel tree
> > at all.
> > 
> > CONFIG_EXPERIMENTAL is now gone from upstream, so you are going to
> > have a problem with this.
> 
> Earlier I mentioned "2) These feature should depend on a non-vanilla /
> experimental option." which is an option we would introduce under the
> Gentoo distribution menu section.

Distro-specific config options, great :(

> > >which would be disabled by default, therefore if you keep this
> > > option the way it is on your stable server; it won't affect you.
> > 
> > Not always true.  Look at aufs as an example.  It patches the core
> > kernel code in ways that are _not_ accepted upstream yet.  Now you all
> > are running that modified code, even if you don't want aufs.
> 
> Earlier I mentioned "3) The patch should not affect the build by
> default."; if it does, we have to adjust it to not do that, this is
> something that can be easily scripted. It's just a matter of embedding
> each + block in the diff with a config check and updating the counts.

Look at aufs as a specific example of why you can't do that, otherwise,
don't you think that the aufs developer(s) wouldn't have done so?

The goal of "don't touch any other kernel code" is a very good one, but
not always true for these huge out-of-tree kernel patches.  Usually that
is the main reason why these patches aren't merged upstream, because
those changes are not acceptable.

So be very careful here, you are messing with things that are rejected
by upstream.

greg k-h



Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Matthew Summers
On Mon, Jul 1, 2013 at 1:56 PM, Tom Wijsman  wrote:
> On Mon, 1 Jul 2013 19:38:48 +0100
> Markos Chandras  wrote:
>
>> I certainly don't feel safe anymore running non-upstream code in
>> production boxes.
>
> You don't run it unless you explicitly tick on that you want
> experimental functionality _as well as_ the optional features in
> question; as I said earlier on chat, I don't understand your point here.
>
> If you don't enable them, genpatches is just like it is before; I'm
> not sure why the recommendations should change here, especially with
> vanilla-sources taking a further step away from Gentoo Security and QA.
>

Tom,

I think the point was well-made by grehkh. If the patchset patches the
kernel's core, it doesn't matter what CONFIG_* option is set the core
kernel code _has_now_been_changed_. This is the crux of the argument,
I believe. AUFS simply being one example of this. I'm sure there are
others.

-- 
Matthew W. Summers
Gentoo Foundation Inc.
GPG: 111B C438 35FA EDB5 B5D3 736F 45EE 5DC0 0878 9D46



Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Tom Wijsman
On Mon, 01 Jul 2013 14:30:51 -0400
"Anthony G. Basile"  wrote:

> I was going to say depend on CONFIG_EXPERIMENTAL in
> Kconfig, but this is deprecated.  See scripts/checkpatch.pl

Yes, I think it wasn't clear from my first post; but the intention was
to introduce such option under the Gentoo distribution menu section. I
think I forgot to mention that near the end. I'm well aware, which is
why we should proceed slowly; since I will have an away period soon, I
don't plan to implement this this month and set up the organization
before starting anything to ensure we do this properly.

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Tom Wijsman
On Mon, 1 Jul 2013 19:38:48 +0100
Markos Chandras  wrote:

> I certainly don't feel safe anymore running non-upstream code in
> production boxes.

You don't run it unless you explicitly tick on that you want
experimental functionality _as well as_ the optional features in
question; as I said earlier on chat, I don't understand your point here.

If you don't enable them, genpatches is just like it is before; I'm
not sure why the recommendations should change here, especially with
vanilla-sources taking a further step away from Gentoo Security and QA.

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Tom Wijsman
On Mon, 1 Jul 2013 11:17:49 -0700
Greg KH  wrote:

> > Meet CONFIG_DEVTMPFS; ...
> 
> This is not the only build option that users must enable to get a
> booting system by far.  So why single this one out?

Because it is an example. Later on I explicitly mention "There are a
small set of other variables in this nature, ..."; I'm talking about
configuration options not present in the defconfig, specifically those
that everyone who runs a Gentoo based system (@system set + stage3)
wants to have enabled.

> > Q: What about my stable server? I really don't want to run this
> > stuff!
> > 
> > A: These options would depend on !CONFIG_VANILLA or
> > CONFIG_EXPERIMENTAL
> 
> What is CONFIG_VANILLA?  I don't see that in the upstream kernel tree
> at all.
> 
> CONFIG_EXPERIMENTAL is now gone from upstream, so you are going to
> have a problem with this.

Earlier I mentioned "2) These feature should depend on a non-vanilla /
experimental option." which is an option we would introduce under the
Gentoo distribution menu section.
 
> >which would be disabled by default, therefore if you keep this
> > option the way it is on your stable server; it won't affect you.
> 
> Not always true.  Look at aufs as an example.  It patches the core
> kernel code in ways that are _not_ accepted upstream yet.  Now you all
> are running that modified code, even if you don't want aufs.

Earlier I mentioned "3) The patch should not affect the build by
default."; if it does, we have to adjust it to not do that, this is
something that can be easily scripted. It's just a matter of embedding
each + block in the diff with a config check and updating the counts.

> >In other words, genpatches stay as stable as before; unless you
> >explicitly toggle options that intentionally make it unstable.
> 
> As pointed out above, this is not always true.

Under the above condition (3), it is always true.

> Also, as others stated, the "hardened" patches also don't always only
> touch areas covered by non-config-selected portions of the kernel.

Yes, it seems wise to keep hardened-sources separated.

> Mix and match your external kernel patches at your own risk, what you
> are suggesting does make it "easy" for users, but I bet it will be a
> huge support issue for the already-overworked gentoo kernel
> developers, the combinations just are too big to test and guarantee
> working.

I'm waiting for you to push new kernels to kernel.org.

Joking aside; users are doing this anyway, it is better to know about
it. Who knows some of the bugs we have is the result of our unawareness.

Agreed, we have to watch out how far we push this though; which is why
we should start with just those patches that appear the most in other
sources, carefully meeting our goal over time. Not mimic geek-sources
all at once, I believe it took him some time to reach that point...

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Markos Chandras
On 1 July 2013 19:17, Greg KH  wrote:
>
> greg "stick to the vanilla-sources" k-h
>

Before these changes were introduced, the gentoo-sources and
vanilla-sources were quite similar in the sense that genpatches used
to contain
patches already in Linus' tree. However, given that gentoo-sources
will become heavily patched by external 3rd-party patches, it might
makes more
sense to recommend vanilla-sources to our users (handbook, etc).
I certainly don't feel safe anymore running non-upstream code in
production boxes.

--
Regards,
Markos Chandras - Gentoo Linux Developer
http://dev.gentoo.org/~hwoarang



Re: [gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Anthony G. Basile

On 07/01/2013 11:20 AM, Jeff Horelick wrote:

On 1 July 2013 10:41, Tom Wijsman  wrote:

Hello


Please reply to gentoo-dev in case ML daemon changes Reply-To.


### TL; DR ###

By introducing feature patches which menu options are disabled by
default to genpatches, we can deduplicate *-sources maintainers as well
as large groups of users work. By introducing a distribution section
in the menuconfig, we can provide options that enable minimal Gentoo
requirements by default (DEVTMPFS, making Gentoo systems bootable since
an udev release a long time ago) and other distribution stuff.


I really like this idea. geek-sources has appealed to me massively the
past few months, but i didn't want to risk stability and go with a
kernel from a unofficial overlay. I can not wait to see this in
gentoo-sources and I fully support this idea.

Tom, you already know my opinion because we discussed it.  I'm all for 
it.  Just a reminder: there's always problems somewhere in the kernel 
which can be triggered by various options.  The kernel is not one big 
take it or leave it chunk of code, but many chunks selectable by Kconfig 
with the exception of course of the core.  The best we can do wrt to BFQ 
and other "risky" patches is mark these options as EXPERIMENTAL.  I was 
going to say depend on CONFIG_EXPERIMENTAL in Kconfig, but this is 
deprecated.  See scripts/checkpatch.pl


"Use of CONFIG_EXPERIMENTAL is deprecated. For alternatives, see 
https://lkml.org/lkml/2012/10/23/580";


--Tony

--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail: bluen...@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA




[gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Greg KH
On Mon, Jul 01, 2013 at 04:41:49PM +0200, Tom Wijsman wrote:
> This problem is not only visible for patches, but also in the config.
> 
> Meet CONFIG_DEVTMPFS; forget to enable it, greet a failing boot. We're
> telling users to enable it in some places, in the handbook it's a single
> line you must read, on the Wiki it's kind of missing unless you are
> luckily on the right page, on the Quick Install book it is missing too.

This is not the only build option that users must enable to get a
booting system by far.  So why single this one out?

> Q: I don't want feature X? Please don't add the patch!
> 
> A: It's optional, don't enable it in your menu config.
> 
> Q: What about my stable server? I really don't want to run this stuff!
> 
> A: These options would depend on !CONFIG_VANILLA or CONFIG_EXPERIMENTAL

What is CONFIG_VANILLA?  I don't see that in the upstream kernel tree at
all.

CONFIG_EXPERIMENTAL is now gone from upstream, so you are going to have
a problem with this.

>which would be disabled by default, therefore if you keep this option
>the way it is on your stable server; it won't affect you.

Not always true.  Look at aufs as an example.  It patches the core
kernel code in ways that are _not_ accepted upstream yet.  Now you all
are running that modified code, even if you don't want aufs.

Note, I'm just using aufs as an example here, I'm not commenting on the
quality of the code, or why it is modifying the core kernel at all, I
happen to run it on some of my own servers, but your feelings might
differ.

>In other words, genpatches stay as stable as before; unless you
>explicitly toggle options that intentionally make it unstable.

As pointed out above, this is not always true.

Also, as others stated, the "hardened" patches also don't always only
touch areas covered by non-config-selected portions of the kernel.

Mix and match your external kernel patches at your own risk, what you
are suggesting does make it "easy" for users, but I bet it will be a
huge support issue for the already-overworked gentoo kernel developers,
the combinations just are too big to test and guarantee working.

good luck,

greg "stick to the vanilla-sources" k-h



Re: [gentoo-dev] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Rick "Zero_Chaos" Farina
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 07/01/2013 01:35 PM, Tom Wijsman wrote:
> On Mon, 01 Jul 2013 12:20:09 -0400
> "Rick \"Zero_Chaos\" Farina"  wrote:
> 
>> Some patches are reasonably easy to combine, such as genpatches and
>> aufs.  Some patches are difficult to combine, such as hardened and *.
>> When you combine hardened patches and aufs (for example) you need
>> extra patches.  I would be THRILLED to see the number of sources cut
>> down, but hardened-sources must be it's own thing (that said, I'll
>> personally maintain the aufs patches for hardened if they wanted to
>> add a USE=aufs flag).
> 
> Yes, gave it as an quick example but I indeed remember from going
> through the sources ebuilds that hardened ebuilds do quite some things.
> I think the downside from extending genpatches is that hardened-sources
> can no longer rely on it, but we'll have to see that as we go forward.
> 
> I don't think that apart from hardened the optional patches on their own
> are hard to combine; they each have their own separate goal, I don't
> see them conflict on anything. If it happens once in a while, we can
> still maintain them to work together.

Hardened has K_WANT_GENPATCHES="base" which means it already doesn't
take the extra patches.  We could either introduce a new flag for your
patches like K_WANT_GENPATCHES="base extra geek" or more likely make
each one with their own name so that hardened et al can take what they
like and leave the rest.
> 
> Also note that I do not plan to introduce any USE flags, since that
> would duplicate the options to be listed in the kernel menuconfig.

Good point.

Thanks,
Zero
> 
>> If users want a vanilla kernel, they want vanilla-sources.  Nothing
>> about that should change.  I don't feel that it would be honest to
>> add a vanilla use flag to gentoo-sources as in no reality are those
>> vanilla.
> 
> Apart from the changes discussed on the gentoo-kernel ML, nothing else
> there will change. You can read the thread as well as the summary; if
> you disagree, you're welcome to join the discussion there.
> 
> http://thread.gmane.org/gmane.linux.gentoo.kernel/697
> 
> http://thread.gmane.org/gmane.linux.gentoo.kernel/697/focus=730
> 
> But yes, apart from that, vanilla-sources will give you vanilla kernel.
> 
> 

-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.19 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJR0cHKAAoJEKXdFCfdEflKwOYQAIArPK7SsJ6M9BFCuhf/bFOg
yZfVpSRR8UJgl7as6FsVg4q48NFuFh3lm8PQK792IraccXkYjk/kBGY6IyDt3rUY
yXHberr53cBZKPC0PPVzDo7ER73GWkobrd+vDrtRHeTJEaPQknvOEmQFBnjY181o
8uTqQi2VtTnWPP2PeIkqdobkasUcf5lDDXdrvX+ipN+oOSSZ0VJK+XfdlstgrRnH
o7sESjKm7RbvxQFizzGuE7gOh9GFtIY92zpQVUO4L4P/L5NrGz0yqyor0WYKuUhN
dZ3k84FQ5SDyKCdCMq/JPKS8jj47gFIkZwfArwKNsRsxkBtcsFHQuj2VXSx0MEcp
aKv5FfZCj4iSUAg2uwKVfVonyn5qt73Fm+XquxjfbEaT4oTq0FFCL5zjCuf1Zzpt
3/VOer5N5xu5gY0y6Yt5w7ionHLAFWqXgJF7s/sC7L9eJNHT3XiQtZSPxLGeAkG8
beM9PNt7fdYzQAudbi6NZiJ35ZwZQrQfKEAc16hbcH0qDd7ndTWqg0nELX3ulL2z
FbeCMM0J+tmZ8lEgRriUL7Ki/een1DJX4eCQhYbKIMYKdxDeEMkbZ8N/T3dAWtxm
IivIs4tTK9EWBF6+8kmUINszCQBsLI6P50TzocqHV+Tj/RyCmeJnOia7DLTD0HGg
53QUb/jcDjkTF34HbUdG
=gsg9
-END PGP SIGNATURE-



Re: [gentoo-dev] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Tom Wijsman
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Mon, 01 Jul 2013 12:20:09 -0400
"Rick \"Zero_Chaos\" Farina"  wrote:

> Some patches are reasonably easy to combine, such as genpatches and
> aufs.  Some patches are difficult to combine, such as hardened and *.
> When you combine hardened patches and aufs (for example) you need
> extra patches.  I would be THRILLED to see the number of sources cut
> down, but hardened-sources must be it's own thing (that said, I'll
> personally maintain the aufs patches for hardened if they wanted to
> add a USE=aufs flag).

Yes, gave it as an quick example but I indeed remember from going
through the sources ebuilds that hardened ebuilds do quite some things.
I think the downside from extending genpatches is that hardened-sources
can no longer rely on it, but we'll have to see that as we go forward.

I don't think that apart from hardened the optional patches on their own
are hard to combine; they each have their own separate goal, I don't
see them conflict on anything. If it happens once in a while, we can
still maintain them to work together.

Also note that I do not plan to introduce any USE flags, since that
would duplicate the options to be listed in the kernel menuconfig.

> If users want a vanilla kernel, they want vanilla-sources.  Nothing
> about that should change.  I don't feel that it would be honest to
> add a vanilla use flag to gentoo-sources as in no reality are those
> vanilla.

Apart from the changes discussed on the gentoo-kernel ML, nothing else
there will change. You can read the thread as well as the summary; if
you disagree, you're welcome to join the discussion there.

http://thread.gmane.org/gmane.linux.gentoo.kernel/697

http://thread.gmane.org/gmane.linux.gentoo.kernel/697/focus=730

But yes, apart from that, vanilla-sources will give you vanilla kernel.

- -- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.20 (GNU/Linux)

iQEcBAEBAgAGBQJR0b3UAAoJEJWyH81tNOV9UAMIAMSQy/EPWr9l4JCVMaB3x7bb
ezv8vrmSDxFUB30mX9cPPAvfpaeWSFvRCpvPfEsKkHAcTJomSfP7PxgEVKLA4jT2
TwoovBQsADEowAIgUHFr9lqIrE9HQ0nik89bNz1HxkbUl4uQijnnfcLTu/6WpdGJ
aMAxImTXQc1Py7w+RNcy9fR0pXh6zXx23CWNVMvn2hb+wGkQDbzy4gOeHFok2i9F
3B3ZjLNUdY2agEBpo0AqF0hwSPHUDbrteFVwJKjauYTyNA8Ofc5OhRnpGHEbq5/4
mB4J2R/MnsukXNeNJUgLzjqSykKChdNbImLl6OXXXl1PyinjuAdBeC7SoUV3DDg=
=5OIS
-END PGP SIGNATURE-


Re: [gentoo-dev] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread hasufell
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 07/01/2013 06:20 PM, Rick "Zero_Chaos" Farina wrote:
> On 07/01/2013 10:41 AM, Tom Wijsman wrote:
> 
>> What does a patch introducing new features really do? Or rather,
>> what should it do when we add it? Let me summarize:
> 
>> 1) The features should be disabled by default. 2) These feature
>> should depend on a non-vanilla / experimental option.
> If users want a vanilla kernel, they want vanilla-sources.
> Nothing about that should change.  I don't feel that it would be
> honest to add a vanilla use flag to gentoo-sources as in no reality
> are those vanilla.
> 

Agreed, some of this sounds interesting (although I don't care as a
user), but whatever you do... don't mess with vanilla-sources.

I stopped using gentoo-sources, because some random hacks broke some
network drivers once and I don't want a hackjob on vanilla-sources...
optional or not.
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.20 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJR0a5AAAoJEFpvPKfnPDWzf4wIAIhfHvIJmqU3jfIVvGlNL5QR
Z8SM4jyw95ehtTMWDdpnEdLUuW7yu8pK9K9N9cXSchvQ3GJfjxJTI/v7RSI+WPBN
NrTgfKYF1KGg6jNQXjuiyG5QwV9faE7zEZ8unDRyxX0EhWyiWACjuSzBdpzS6Nhm
QcDCEzzuXNtPR44pqfDQ3DqqRU+aUAE7juM+Yd146x3CFDE8vvVuvuGYnXhVczQ8
vkfdqLNLMamIROWapV4HG8p2NOzDbPjbUcMB7uBsP8DPm/HjOQRNxyY0yCD38hq3
4RJFZz7RPTjWQ2p8PacHKZ4Rye6EY7W/x6JTVqmh3zbc+6tm6q7kKtMyn1L03Bw=
=ds3y
-END PGP SIGNATURE-



Re: [gentoo-dev] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Rick "Zero_Chaos" Farina
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 07/01/2013 10:41 AM, Tom Wijsman wrote:
> Hello
> 
> 
> Please reply to gentoo-dev in case ML daemon changes Reply-To.
> 
> 
> ### TL; DR ###
> 
> By introducing feature patches which menu options are disabled by
> default to genpatches, we can deduplicate *-sources maintainers as well
> as large groups of users work. By introducing a distribution section
> in the menuconfig, we can provide options that enable minimal Gentoo
> requirements by default (DEVTMPFS, making Gentoo systems bootable since
> an udev release a long time ago) and other distribution stuff.
> 
> 
> ### Proper distribution integration of kernel *-sources, patches ... ###
> 
> Gentoo is a distribution; but what is a distribution that doesn't
> properly integrate what it provides, but instead expects its users to
> do so, needlessly duplicating work amongst its maintainers and users.
> 
> Let's say I want genpatches, aufs and TuxOnIce; closest candidates:
> 
>  - sys-kernel/aufs-sources: genpatches, aufs
>  - sys-kernel/pf-sources: genpatches, CK, BFQ, BFQ, TuxOnIce, UKSM
>  - sys-kernel/tuxonice-sources: genpatches, TuxOnIce
> 
> What do I do? Take one (eg. aufs) and apply the other (eg. TuxOnIce)?
> What if I want to add another common patchset to it? Hardened perhaps?

Some patches are reasonably easy to combine, such as genpatches and
aufs.  Some patches are difficult to combine, such as hardened and *.
When you combine hardened patches and aufs (for example) you need extra
patches.  I would be THRILLED to see the number of sources cut down, but
hardened-sources must be it's own thing (that said, I'll personally
maintain the aufs patches for hardened if they wanted to add a USE=aufs
flag).
> 
> You can see, some of these sources (like pf-sources) already attempt to
> do so; with pf-sources in mind, why do we even have ck-sources,
> tuxonice-sources in the Portage tree? Just to duplicate work?
> 
> I think we should trim down on the amount of *-sources and combine
> multiple patches into genpatches. Take an example of geek-sources
> which does all this without a problem; I don't really like the approach
> with USE flags used there, as the menuconfig can just cover that.
> 
> https://github.com/init6/init_6/wiki/geek-sources
> 
> What does a patch introducing new features really do? Or rather, what
> should it do when we add it? Let me summarize:
> 
>  1) The features should be disabled by default.
>  2) These feature should depend on a non-vanilla / experimental option.
If users want a vanilla kernel, they want vanilla-sources.  Nothing
about that should change.  I don't feel that it would be honest to add a
vanilla use flag to gentoo-sources as in no reality are those vanilla.

Thanks,
Zero

>  3) The patch should not affect the build by default.
>  4) The user can optionally enable the feature.
> 
> So, in genpatches, since 3.9.7, BFQ was added to try this out (except
> 2.). Ensured it to be disabled by default, did not affect the build for
> anyone that does not enable it and the users have been enabling and
> using it on their own. So, does it differentiate more from vanilla? No.
> 
> This helps users as well as maintainers to not have to apply BFQ on
> their own, they simply have to tick a config option and they are set.
> If all patches that introduce new features are added in this fashion,
> it spares large groups of users from having to do this on their own; we
> can also deduplicate the work in the Portage tree this way.
> 
> 
> ### ... and configuration. ###
> 
> This problem is not only visible for patches, but also in the config.
> 
> Meet CONFIG_DEVTMPFS; forget to enable it, greet a failing boot. We're
> telling users to enable it in some places, in the handbook it's a single
> line you must read, on the Wiki it's kind of missing unless you are
> luckily on the right page, on the Quick Install book it is missing too.
> 
> So, we are currently providing a configuration that expects anyone to
> enable CONFIG_DEVTMPFS. But you have to remember that it need to make
> sure you read about it or enable it from the udev upgrade a while ago
> if you decide to start from a fresh config or are installing without
> that handbook you kind of have memorized.
> 
> Searching for CONFIG_DEVTMPFS in the forums and #gentoo logs shows that
> this is quite often suggested as a fix and quite often actually fixes
> an user's boot. Why duplicate telling users to do that if we can do it?
> 
> There are a small set of other variables in this nature, mostly *TMPFS*.
> 
> This is why I think it would be handy to add a Gentoo section to the
> kernel, along the lines as described by Linus.
> 
> https://lkml.org/lkml/2012/7/13/369
> 
> The same goes for asking the user to enable configuration options in the
> kernel, why can't we just tell him to enable all option that toggles
> support for the user. For example; in the Gentoo section, there would be
> a "Init System Support" under which you can toggle 

[gentoo-dev] Re: [gentoo-kernel] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Jeff Horelick
On 1 July 2013 10:41, Tom Wijsman  wrote:
> Hello
>
>
> Please reply to gentoo-dev in case ML daemon changes Reply-To.
>
>
> ### TL; DR ###
>
> By introducing feature patches which menu options are disabled by
> default to genpatches, we can deduplicate *-sources maintainers as well
> as large groups of users work. By introducing a distribution section
> in the menuconfig, we can provide options that enable minimal Gentoo
> requirements by default (DEVTMPFS, making Gentoo systems bootable since
> an udev release a long time ago) and other distribution stuff.


I really like this idea. geek-sources has appealed to me massively the
past few months, but i didn't want to risk stability and go with a
kernel from a unofficial overlay. I can not wait to see this in
gentoo-sources and I fully support this idea.



Re: [gentoo-dev] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Ben de Groot
On 1 July 2013 22:41, Tom Wijsman  wrote:
>
> ### TL; DR ###
>
> By introducing feature patches which menu options are disabled by
> default to genpatches, we can deduplicate *-sources maintainers as well
> as large groups of users work. By introducing a distribution section
> in the menuconfig, we can provide options that enable minimal Gentoo
> requirements by default (DEVTMPFS, making Gentoo systems bootable since
> an udev release a long time ago) and other distribution stuff.
>

Sounds like a great idea to me!

--
Cheers,

Ben | yngwin
Gentoo developer



[gentoo-dev] Proper distribution integration of kernel *-sources, patches and configuration.

2013-07-01 Thread Tom Wijsman
Hello


Please reply to gentoo-dev in case ML daemon changes Reply-To.


### TL; DR ###

By introducing feature patches which menu options are disabled by
default to genpatches, we can deduplicate *-sources maintainers as well
as large groups of users work. By introducing a distribution section
in the menuconfig, we can provide options that enable minimal Gentoo
requirements by default (DEVTMPFS, making Gentoo systems bootable since
an udev release a long time ago) and other distribution stuff.


### Proper distribution integration of kernel *-sources, patches ... ###

Gentoo is a distribution; but what is a distribution that doesn't
properly integrate what it provides, but instead expects its users to
do so, needlessly duplicating work amongst its maintainers and users.

Let's say I want genpatches, aufs and TuxOnIce; closest candidates:

 - sys-kernel/aufs-sources: genpatches, aufs
 - sys-kernel/pf-sources: genpatches, CK, BFQ, BFQ, TuxOnIce, UKSM
 - sys-kernel/tuxonice-sources: genpatches, TuxOnIce

What do I do? Take one (eg. aufs) and apply the other (eg. TuxOnIce)?
What if I want to add another common patchset to it? Hardened perhaps?

You can see, some of these sources (like pf-sources) already attempt to
do so; with pf-sources in mind, why do we even have ck-sources,
tuxonice-sources in the Portage tree? Just to duplicate work?

I think we should trim down on the amount of *-sources and combine
multiple patches into genpatches. Take an example of geek-sources
which does all this without a problem; I don't really like the approach
with USE flags used there, as the menuconfig can just cover that.

https://github.com/init6/init_6/wiki/geek-sources

What does a patch introducing new features really do? Or rather, what
should it do when we add it? Let me summarize:

 1) The features should be disabled by default.
 2) These feature should depend on a non-vanilla / experimental option.
 3) The patch should not affect the build by default.
 4) The user can optionally enable the feature.

So, in genpatches, since 3.9.7, BFQ was added to try this out (except
2.). Ensured it to be disabled by default, did not affect the build for
anyone that does not enable it and the users have been enabling and
using it on their own. So, does it differentiate more from vanilla? No.

This helps users as well as maintainers to not have to apply BFQ on
their own, they simply have to tick a config option and they are set.
If all patches that introduce new features are added in this fashion,
it spares large groups of users from having to do this on their own; we
can also deduplicate the work in the Portage tree this way.


### ... and configuration. ###

This problem is not only visible for patches, but also in the config.

Meet CONFIG_DEVTMPFS; forget to enable it, greet a failing boot. We're
telling users to enable it in some places, in the handbook it's a single
line you must read, on the Wiki it's kind of missing unless you are
luckily on the right page, on the Quick Install book it is missing too.

So, we are currently providing a configuration that expects anyone to
enable CONFIG_DEVTMPFS. But you have to remember that it need to make
sure you read about it or enable it from the udev upgrade a while ago
if you decide to start from a fresh config or are installing without
that handbook you kind of have memorized.

Searching for CONFIG_DEVTMPFS in the forums and #gentoo logs shows that
this is quite often suggested as a fix and quite often actually fixes
an user's boot. Why duplicate telling users to do that if we can do it?

There are a small set of other variables in this nature, mostly *TMPFS*.

This is why I think it would be handy to add a Gentoo section to the
kernel, along the lines as described by Linus.

https://lkml.org/lkml/2012/7/13/369

The same goes for asking the user to enable configuration options in the
kernel, why can't we just tell him to enable all option that toggles
support for the user. For example; in the Gentoo section, there would be
a "Init System Support" under which you can toggle an option to support
the minimal requirements for some init system.

Feedback is very welcome.

P.S.: Not everything in this mail has been acked by the kernel lead;
only some thoughts, I was suggested to take this to ML for discussion.
The usage of the word 'we' in this mail is therefore hypothetical.


### F.A.Q. ###

Q: I don't want feature X? Please don't add the patch!

A: It's optional, don't enable it in your menu config.

Q: What about my stable server? I really don't want to run this stuff!

A: These options would depend on !CONFIG_VANILLA or CONFIG_EXPERIMENTAL
   which would be disabled by default, therefore if you keep this option
   the way it is on your stable server; it won't affect you.

   In other words, genpatches stay as stable as before; unless you
   explicitly toggle options that intentionally make it unstable.

Q: Genpatches used to be minimal, would it gain weight?

A: If you don't enable those