> So instead of adding helpers the 1<< ops can be written out explicitly - they
> are
> easy to read after all. Can also be:
>
> var &= ~BIT(bit);
> var |= BIT(bit);
It's some more complicated because "var" are arrays.
Opencoding is fairly ugly.
I changed the main bitmap to use
> So instead of adding helpers the 1<< ops can be written out explicitly - they
> are
> easy to read after all. Can also be:
>
> var &= ~BIT(bit);
> var |= BIT(bit);
It's some more complicated because "var" are arrays.
Opencoding is fairly ugly.
I changed the main bitmap to use
> > I was looking at that as well and decided that we preferrably have a
> > compressed data structure. The code which walks the table is hardly
> > performance critical and the difference in text size is marginal.
>
> So the code should all be __init (once that is fixed), hence data and text
>
> > I was looking at that as well and decided that we preferrably have a
> > compressed data structure. The code which walks the table is hardly
> > performance critical and the difference in text size is marginal.
>
> So the code should all be __init (once that is fixed), hence data and text
>
* Thomas Gleixner wrote:
> On Thu, 12 Oct 2017, Ingo Molnar wrote:
> >
> > * Andi Kleen wrote:
> >
> > > --- /dev/null
> > > +++ b/arch/x86/kernel/cpu/cpuid-deps.c
> > > @@ -0,0 +1,109 @@
> > > +/* Declare dependencies between CPUIDs */
> > >
* Thomas Gleixner wrote:
> On Thu, 12 Oct 2017, Ingo Molnar wrote:
> >
> > * Andi Kleen wrote:
> >
> > > --- /dev/null
> > > +++ b/arch/x86/kernel/cpu/cpuid-deps.c
> > > @@ -0,0 +1,109 @@
> > > +/* Declare dependencies between CPUIDs */
> > > +#include
> > > +#include
> > > +#include
> >
>
> Why isn't this __initdata?
It's referenced during cpu hotplug. Actually it should never
change in this case, but it's hard to tell that to the dependency
checker.
-Andi
>
> Why isn't this __initdata?
It's referenced during cpu hotplug. Actually it should never
change in this case, but it's hard to tell that to the dependency
checker.
-Andi
On Thu, Oct 12, 2017 at 05:13:34PM +0200, Thomas Gleixner wrote:
> On Thu, 12 Oct 2017, Ingo Molnar wrote:
> >
> > * Andi Kleen wrote:
> >
> > > --- /dev/null
> > > +++ b/arch/x86/kernel/cpu/cpuid-deps.c
> > > @@ -0,0 +1,109 @@
> > > +/* Declare dependencies between CPUIDs
On Thu, Oct 12, 2017 at 05:13:34PM +0200, Thomas Gleixner wrote:
> On Thu, 12 Oct 2017, Ingo Molnar wrote:
> >
> > * Andi Kleen wrote:
> >
> > > --- /dev/null
> > > +++ b/arch/x86/kernel/cpu/cpuid-deps.c
> > > @@ -0,0 +1,109 @@
> > > +/* Declare dependencies between CPUIDs */
> > > +#include
>
On Thu, 12 Oct 2017, Ingo Molnar wrote:
>
> * Andi Kleen wrote:
>
> > --- /dev/null
> > +++ b/arch/x86/kernel/cpu/cpuid-deps.c
> > @@ -0,0 +1,109 @@
> > +/* Declare dependencies between CPUIDs */
> > +#include
> > +#include
> > +#include
> > +#include
> > +
> > +struct
On Thu, 12 Oct 2017, Ingo Molnar wrote:
>
> * Andi Kleen wrote:
>
> > --- /dev/null
> > +++ b/arch/x86/kernel/cpu/cpuid-deps.c
> > @@ -0,0 +1,109 @@
> > +/* Declare dependencies between CPUIDs */
> > +#include
> > +#include
> > +#include
> > +#include
> > +
> > +struct cpuid_dep {
> > +
* Ingo Molnar wrote:
> > + bool changed;
> > + __u32 disable[NCAPINTS + NBUGINTS];
> > + unsigned long *disable_mask = (unsigned long *)disable;
> > + const struct cpuid_dep *d;
>
> The constant forced types are really ugly and permeate the whole code. Please
>
* Ingo Molnar wrote:
> > + bool changed;
> > + __u32 disable[NCAPINTS + NBUGINTS];
> > + unsigned long *disable_mask = (unsigned long *)disable;
> > + const struct cpuid_dep *d;
>
> The constant forced types are really ugly and permeate the whole code. Please
> introduce some suitably
* Andi Kleen wrote:
> --- /dev/null
> +++ b/arch/x86/kernel/cpu/cpuid-deps.c
> @@ -0,0 +1,109 @@
> +/* Declare dependencies between CPUIDs */
> +#include
> +#include
> +#include
> +#include
> +
> +struct cpuid_dep {
> + unsigned short feature;
> + unsigned short
* Andi Kleen wrote:
> --- /dev/null
> +++ b/arch/x86/kernel/cpu/cpuid-deps.c
> @@ -0,0 +1,109 @@
> +/* Declare dependencies between CPUIDs */
> +#include
> +#include
> +#include
> +#include
> +
> +struct cpuid_dep {
> + unsigned short feature;
> + unsigned short depends;
> +};
Why
On Fri, 6 Oct 2017, Andi Kleen wrote:
> From: Andi Kleen
>
> Some CPUID features depend on other features. Currently it's
> possible to to clear dependent features, but not clear the base features,
> which can cause various interesting problems.
>
> This patch implements
On Fri, 6 Oct 2017, Andi Kleen wrote:
> From: Andi Kleen
>
> Some CPUID features depend on other features. Currently it's
> possible to to clear dependent features, but not clear the base features,
> which can cause various interesting problems.
>
> This patch implements a generic table to
From: Andi Kleen
Some CPUID features depend on other features. Currently it's
possible to to clear dependent features, but not clear the base features,
which can cause various interesting problems.
This patch implements a generic table to describe dependencies
between
From: Andi Kleen
Some CPUID features depend on other features. Currently it's
possible to to clear dependent features, but not clear the base features,
which can cause various interesting problems.
This patch implements a generic table to describe dependencies
between CPUID features, to be used
20 matches
Mail list logo