On Wed 15-04-20 20:32:00, Verma, Vishal L wrote:
> On Wed, 2020-04-15 at 12:43 +0200, Michal Hocko wrote:
> > On Tue 14-04-20 17:58:12, Vishal Verma wrote:
> > [...]
> > > +static int check_hotplug_node(int nid)
> > > +{
> > > + int alt_nid;
> > > +
> > > + if (node_possible(nid))
> > > + return nid;
> > > +
> > > + alt_nid = numa_map_to_online_node(nid);
> > > + if (alt_nid == NUMA_NO_NODE)
> > > + alt_nid = first_online_node;
> > > + WARN_TAINT(1, TAINT_FIRMWARE_WORKAROUND,
> > > + "node %d expected, but was absent from the
> > > node_possible_map, using %d instead\n",
> > > + nid, alt_nid);
> >
> > I really do not like this. Why should we try to be clever and change the
> > node id requested by the caller? I would just stick with node_possible
> > check and be done with this.
>
> Hi Michal,
>
> Being clever allows us to still use the memory even if it is in a non-
> optimal configuration. Failing here leaves the user no path to add this
> memory until the firmware is fixed. It is the tradeoff between some
> usability vs. how loud we want to be for the failure.
Doing that papers over something that is clearly a FW issue and makes
it "my performance is suboptimal" deal with it OS problem. Really, is
this something we have to care about. Your changelog talks about a Qemu
misconfiguration which is trivial to fix. Has this ever been observed
with a real HW?
--
Michal Hocko
SUSE Labs
_______________________________________________
Linux-nvdimm mailing list -- [email protected]
To unsubscribe send an email to [email protected]