All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: "Luis R. Rodriguez" <mcgrof@suse.com>
Cc: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>,
	bp@suse.de, andy@silverblocksystems.net, mchehab@osg.samsung.com,
	dledford@redhat.com, fengguang.wu@intel.com,
	linux-media@vger.kernel.org, linux-rdma@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/2] x86/mm/pat, drivers/infiniband/ipath: replace WARN() with pr_warn()
Date: Fri, 26 Jun 2015 10:44:39 +0200	[thread overview]
Message-ID: <20150626084438.GC26303@gmail.com> (raw)
In-Reply-To: <20150625171549.GG3005@wotan.suse.de>


* Luis R. Rodriguez <mcgrof@suse.com> wrote:

> On Thu, Jun 25, 2015 at 08:49:22AM +0200, Ingo Molnar wrote:
> > 
> > * Luis R. Rodriguez <mcgrof@do-not-panic.com> wrote:
> > 
> > > From: "Luis R. Rodriguez" <mcgrof@suse.com>
> > > 
> > > WARN() may confuse users, fix that. ipath_init_one() is part the
> > > device's probe so this would only be triggered if a corresponding
> > > device was found.
> > > 
> > > Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
> > > ---
> > >  drivers/infiniband/hw/ipath/ipath_driver.c | 6 ++++--
> > >  1 file changed, 4 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/infiniband/hw/ipath/ipath_driver.c b/drivers/infiniband/hw/ipath/ipath_driver.c
> > > index 2d7e503..871dbe5 100644
> > > --- a/drivers/infiniband/hw/ipath/ipath_driver.c
> > > +++ b/drivers/infiniband/hw/ipath/ipath_driver.c
> > > @@ -31,6 +31,8 @@
> > >   * SOFTWARE.
> > >   */
> > >  
> > > +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> > > +
> > >  #include <linux/sched.h>
> > >  #include <linux/spinlock.h>
> > >  #include <linux/idr.h>
> > > @@ -399,8 +401,8 @@ static int ipath_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
> > >  	u32 bar0 = 0, bar1 = 0;
> > >  
> > >  #ifdef CONFIG_X86_64
> > > -	if (WARN(pat_enabled(),
> > > -		 "ipath needs PAT disabled, boot with nopat kernel parameter\n")) {
> > > +	if (pat_enabled()) {
> > > +		pr_warn("ipath needs PAT disabled, boot with nopat kernel parameter\n");
> > >  		ret = -ENODEV;
> > >  		goto bail;
> > >  	}
> > 
> > So driver init will always fail with this on modern kernels.
> 
> Nope, I double checked this, ipath_init_one() is the PCI probe routine,
> not the module init call. It should probably be renamed.
> 
> > Btw., on a second thought, ipath uses MTRRs to enable WC:
> > 
> >         ret = ipath_enable_wc(dd);
> >         if (ret)
> >                 ret = 0;
> > 
> > Note how it ignores any failures - the driver still works even if WC was not 
> > enabled.
> 
> Ah, well WC strategy requires a split of the MMIO registers and the desired
> WC area, right now they are combined for some type of ipath devices. There
> are two things to consider when thinking about whether or not we want to
> do the work required to do the split:

But ... why doing the 'split'?

With my suggested approach the driver will behave in two ways:

  - if booted with 'nopat' it will behave as always and have the WC MTRR entries 
    added

  - if booted with a modern kernel without 'nopat' then instead of getting WC MTRR 
    entries it will not get them - we'll fall back to UC. No 'split' or any other 
    change is needed to the driver AFAICS: it might be slower, but it will still 
    be functional. It will _not_ get PAT WC mappings - it will fall back to UC - 
    which is still much better for any potential user than not working at all.

Same suggestion for the other affected driver.

what am I missing?

Thanks,

	Ingo

  reply	other threads:[~2015-06-26  8:44 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-24 17:23 [PATCH v2 0/2] x86/mm/pat: modify nopat requirement warning Luis R. Rodriguez
     [not found] ` <1435166600-11956-1-git-send-email-mcgrof-3uybbJdB1yH774rrrx3eTA@public.gmane.org>
2015-06-24 17:23   ` [PATCH v2 1/2] x86/mm/pat, drivers/infiniband/ipath: replace WARN() with pr_warn() Luis R. Rodriguez
2015-06-24 17:23     ` Luis R. Rodriguez
2015-06-25  6:49     ` Ingo Molnar
     [not found]       ` <20150625064922.GA5339-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-06-25 17:15         ` Luis R. Rodriguez
2015-06-25 17:15           ` Luis R. Rodriguez
2015-06-26  8:44           ` Ingo Molnar [this message]
2015-06-24 17:23 ` [PATCH v2 2/2] x86/mm/pat, drivers/media/ivtv: move pat warn and " Luis R. Rodriguez
2015-06-25  6:51   ` Ingo Molnar
     [not found]     ` <20150625065147.GB5339-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-06-25 17:38       ` Luis R. Rodriguez
2015-06-25 17:38         ` Luis R. Rodriguez
     [not found]         ` <20150625173847.GH3005-B4tOwbsTzaBolqkO4TVVkw@public.gmane.org>
2015-06-26  8:45           ` Ingo Molnar
2015-06-26  8:45             ` Ingo Molnar
2015-06-26 12:36             ` Andy Walls
2015-06-29  6:55               ` Ingo Molnar
     [not found]                 ` <57337D5A-7486-4D01-8316-DFAF4CAF3DA7@md.metrocast.net>
2015-07-07  0:44                   ` Luis R. Rodriguez
2015-07-07  6:53                     ` Luis R. Rodriguez
     [not found]                       ` <CAB=NE6WzpSLREPkLt0k1_42V5DGKYQx3cqMnGeOFwv1-wkxVhg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-07  7:03                         ` Ingo Molnar
2015-07-07  7:03                           ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150626084438.GC26303@gmail.com \
    --to=mingo@kernel.org \
    --cc=andy@silverblocksystems.net \
    --cc=bp@suse.de \
    --cc=dledford@redhat.com \
    --cc=fengguang.wu@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=mcgrof@do-not-panic.com \
    --cc=mcgrof@suse.com \
    --cc=mchehab@osg.samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.