> 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 DEC
> > 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
> s
* 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
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 cpuid_dep {
> > + un
* 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 depends;
> +};
Why a
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 desc
9 matches
Mail list logo