From: Alexey Dobriyan on
On Tue, Mar 16, 2010 at 9:56 AM, Pekka Enberg <penberg(a)cs.helsinki.fi> wrote:
> Alexey Dobriyan kirjoitti:
>>
>> On Tue, Mar 16, 2010 at 8:58 AM, Pekka Enberg <penberg(a)cs.helsinki.fi>
>> wrote:
>>>
>>> We should avoid creating tree-wide breakage for this kind of cleanups.
>>
>> This is done by compile testing, not by being smartass.
>
> I don't think compile testing is going to scale here because slab is used is
> so many places of the kernel.

Sigh.

If you want to skip compile testing, just say so in changelog.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Ingo Molnar on

* Pekka Enberg <penberg(a)cs.helsinki.fi> wrote:

> Alexey Dobriyan kirjoitti:
> >On Tue, Mar 16, 2010 at 8:58 AM, Pekka Enberg <penberg(a)cs.helsinki.fi> wrote:
> >> We should avoid creating tree-wide breakage for this kind of cleanups.
> >
> > This is done by compile testing, not by being smartass.
>
> I don't think compile testing is going to scale here because slab is used is
> so many places of the kernel.

Yes. In large-scale conversions i typically used (rather extensive)
build-testing as a tool to check a script's correctness - distinctly _not_ to
create the actual patch itself.

I.e. it's an adaptive feedback loop in essence: the script gets perfected by
repeated build tests, and the end result is that we have a scripted conversion
that covers more code than build testing is able to reach (it covers not just
x86, covers rare config combos, etc.), _plus_ we also have the final proof of
the pudding via the actual build tests.

In the end it all converges nicely and the build breakage exported is minimal.

That is the mechanism i suggested. Alexey calls it 'smartass', i call it a
defensive approach to large-scale changes, that we should practice more, not
less.

[ Or, sometimes, for visibly trivial matters i just take the gamble, go into
cowboy mode and say 'to the heck, let others find those bugs' and do a
change based on a sed -i oneliner and build a few configs, fix up the
breakages it finds and hope for the best. I dont complain when i get slapped
for that though ;-) ]

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Alexey Dobriyan on
On Tue, Mar 16, 2010 at 9:57 AM, Ingo Molnar <mingo(a)elte.hu> wrote:
> Well, that's the main question: do we want all-in-one big headers like
> kernel.h (and sched.h / mm.h) or not?

It's question only for you.

There are observations, like sched.h includes some VM routines which
better live in mm.h and some some cred/UID routines which better live
in cred.h and sched.h unnecessarily includes capability.h which wasn't
removed after "struct cred" inclusion.

> If we want to avoid combo .h files then we inevitably want to go for
> finegrained, per subsystem data type and API definitions - i.e. explicit
> slab.h inclusion in the .c file.

The problem is that slab.h is included unnecessarily in some other headers
conditionally and unconditionally.

It's amazing to see how much sidework people are willing to create
to _not_ do simple and obvious thing -- just remove slab.h.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Pekka Enberg on
On Tue, Mar 16, 2010 at 10:23 AM, Alexey Dobriyan <adobriyan(a)gmail.com> wrote:
> On Tue, Mar 16, 2010 at 9:56 AM, Pekka Enberg <penberg(a)cs.helsinki.fi> wrote:
>> Alexey Dobriyan kirjoitti:
>>>
>>> On Tue, Mar 16, 2010 at 8:58 AM, Pekka Enberg <penberg(a)cs.helsinki.fi>
>>> wrote:
>>>>
>>>> We should avoid creating tree-wide breakage for this kind of cleanups.
>>>
>>> This is done by compile testing, not by being smartass.
>>
>> I don't think compile testing is going to scale here because slab is used is
>> so many places of the kernel.
>
> Sigh.
>
> If you want to skip compile testing, just say so in changelog.

Hey, "sigh" right back at you, Alexey!

I am not saying I want to skip "compile testing", I'm just stating the
obvious fact: for a header such as slab.h that's implicitly needed in
pretty much everywhere, it's very difficult to find all the relevant
broken configurations. I don't see the benefit of breaking the world
for this cleanup as Ingo's suggestion will eventually get us to the
exact same situation _without_ causing tree-wide breakage.

Pekka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Pekka Enberg on
On Tue, Mar 16, 2010 at 10:32 AM, Alexey Dobriyan <adobriyan(a)gmail.com> wrote:
> It's amazing to see how much sidework people are willing to create
> to _not_ do simple and obvious thing -- just remove slab.h.

I'm not following your idea here. Where do you propose moving
kmalloc() and friends to? kernel.h?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/