All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Safonov via iommu <iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>
To: Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
Cc: 0x7f454c46-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	Ingo Molnar <mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Subject: Re: [PATCHv3] iommu/intel: Ratelimit each dmar fault printing
Date: Thu, 15 Mar 2018 14:42:00 +0000	[thread overview]
Message-ID: <1521124920.2686.20.camel@arista.com> (raw)
In-Reply-To: <1521124490.2686.16.camel-nzgTgzXrdUbQT0dZR+AlfA@public.gmane.org>

On Thu, 2018-03-15 at 14:34 +0000, Dmitry Safonov wrote:
> On Thu, 2018-03-15 at 15:22 +0100, Joerg Roedel wrote:
> > On Thu, Mar 15, 2018 at 02:13:03PM +0000, Dmitry Safonov wrote:
> > > So, you suggest to remove ratelimit at all?
> > > Do we really need printk flood for each happened fault?
> > > Imagine, you've hundreds of mappings and then PCI link flapped..
> > > Wouldn't it be better to keep ratelimiting?
> > > I don't mind, just it looks a bit strange to me.
> > 
> > I never said you should remove the ratelimiting, after all you are
> > trying to fix a soft-lockup, no?
> > 
> > And that should not be fixed by changes to the ratelimiting, but
> > with
> > proper irq handling.
> 
> Uh, I'm a bit confused then.
> - Isn't it better to ratelimit each printk() instead of bunch of
> printks inside irq handler?
> - I can limit the number of loops, but the most of the time is spent
> in
> the loop on printk() (on my machine ~170msec per loop), while
> everything else takes much lesser time (on my machine < 1 usec per
> loop). So, if I will limit number of loops per-irq, that cycle-limit
> will be based on limiting time spent on printk (e.g., how many
> printks
> to do in atomic context so that node will not lockup). It smells like
> ratelimiting, no?
> 
> I must be misunderstanding something, but why introducing another
> limit
> for number of printk() called when there is ratelimit which may be
> tuned..
> 

So I agree, that maybe better to have another limit to the cycle
*also*, because if we clean faults with the same speed as they're
generated by hw, we may stuck in the loop..
By on my measures clearing fault is so fast (< 1 usec), that I'm not
sure that it may happen with hw. By that reason I didn't introduce
loop-limit.

But even with loop-limit we will need ratelimit each printk() *also*.
Otherwise loop-limit will be based on time spent printing, not on
anything else..
The patch makes sense even with loop-limit in my opinion.

-- 
Thanks,
             Dmitry

WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Safonov <dima@arista.com>
To: Joerg Roedel <joro@8bytes.org>
Cc: linux-kernel@vger.kernel.org, 0x7f454c46@gmail.com,
	Alex Williamson <alex.williamson@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Ingo Molnar <mingo@kernel.org>,
	Lu Baolu <baolu.lu@linux.intel.com>,
	iommu@lists.linux-foundation.org
Subject: Re: [PATCHv3] iommu/intel: Ratelimit each dmar fault printing
Date: Thu, 15 Mar 2018 14:42:00 +0000	[thread overview]
Message-ID: <1521124920.2686.20.camel@arista.com> (raw)
In-Reply-To: <1521124490.2686.16.camel@arista.com>

On Thu, 2018-03-15 at 14:34 +0000, Dmitry Safonov wrote:
> On Thu, 2018-03-15 at 15:22 +0100, Joerg Roedel wrote:
> > On Thu, Mar 15, 2018 at 02:13:03PM +0000, Dmitry Safonov wrote:
> > > So, you suggest to remove ratelimit at all?
> > > Do we really need printk flood for each happened fault?
> > > Imagine, you've hundreds of mappings and then PCI link flapped..
> > > Wouldn't it be better to keep ratelimiting?
> > > I don't mind, just it looks a bit strange to me.
> > 
> > I never said you should remove the ratelimiting, after all you are
> > trying to fix a soft-lockup, no?
> > 
> > And that should not be fixed by changes to the ratelimiting, but
> > with
> > proper irq handling.
> 
> Uh, I'm a bit confused then.
> - Isn't it better to ratelimit each printk() instead of bunch of
> printks inside irq handler?
> - I can limit the number of loops, but the most of the time is spent
> in
> the loop on printk() (on my machine ~170msec per loop), while
> everything else takes much lesser time (on my machine < 1 usec per
> loop). So, if I will limit number of loops per-irq, that cycle-limit
> will be based on limiting time spent on printk (e.g., how many
> printks
> to do in atomic context so that node will not lockup). It smells like
> ratelimiting, no?
> 
> I must be misunderstanding something, but why introducing another
> limit
> for number of printk() called when there is ratelimit which may be
> tuned..
> 

So I agree, that maybe better to have another limit to the cycle
*also*, because if we clean faults with the same speed as they're
generated by hw, we may stuck in the loop..
By on my measures clearing fault is so fast (< 1 usec), that I'm not
sure that it may happen with hw. By that reason I didn't introduce
loop-limit.

But even with loop-limit we will need ratelimit each printk() *also*.
Otherwise loop-limit will be based on time spent printing, not on
anything else..
The patch makes sense even with loop-limit in my opinion.

-- 
Thanks,
             Dmitry

  parent reply	other threads:[~2018-03-15 14:42 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-15 19:17 [PATCHv3] iommu/intel: Ratelimit each dmar fault printing Dmitry Safonov via iommu
2018-02-15 19:17 ` Dmitry Safonov
2018-03-05 15:00 ` Dmitry Safonov
     [not found]   ` <1520262026.2743.4.camel-nzgTgzXrdUbQT0dZR+AlfA@public.gmane.org>
2018-03-13 16:21     ` Dmitry Safonov via iommu
2018-03-13 16:21       ` Dmitry Safonov
     [not found] ` <20180215191729.15777-1-dima-nzgTgzXrdUbQT0dZR+AlfA@public.gmane.org>
2018-03-15 13:46   ` Joerg Roedel
2018-03-15 13:46     ` Joerg Roedel
     [not found]     ` <20180315134649.skh2aukcmg5ud74y-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2018-03-15 14:13       ` Dmitry Safonov via iommu
2018-03-15 14:13         ` Dmitry Safonov
     [not found]         ` <1521123183.2686.7.camel-nzgTgzXrdUbQT0dZR+AlfA@public.gmane.org>
2018-03-15 14:22           ` Joerg Roedel
2018-03-15 14:22             ` Joerg Roedel
     [not found]             ` <20180315142253.GC5259-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2018-03-15 14:34               ` Dmitry Safonov via iommu
2018-03-15 14:34                 ` Dmitry Safonov
     [not found]                 ` <1521124490.2686.16.camel-nzgTgzXrdUbQT0dZR+AlfA@public.gmane.org>
2018-03-15 14:42                   ` Dmitry Safonov via iommu [this message]
2018-03-15 14:42                     ` Dmitry Safonov
     [not found]                     ` <1521124920.2686.20.camel-nzgTgzXrdUbQT0dZR+AlfA@public.gmane.org>
2018-03-15 15:28                       ` Joerg Roedel
2018-03-15 15:28                         ` Joerg Roedel
     [not found]                         ` <20180315152828.GA11365-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2018-03-15 15:54                           ` Dmitry Safonov via iommu
2018-03-15 15:54                             ` Dmitry Safonov
2018-03-20 20:50                           ` Dmitry Safonov via iommu
2018-03-20 20:50                             ` Dmitry Safonov
     [not found]                             ` <1521579013.2686.83.camel-nzgTgzXrdUbQT0dZR+AlfA@public.gmane.org>
2018-03-29  8:50                               ` Joerg Roedel
2018-03-29  8:50                                 ` Joerg Roedel
2018-03-29 13:52                                 ` Dmitry Safonov

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=1521124920.2686.20.camel@arista.com \
    --to=iommu-cuntk1mwbs9qetfly7kem3xjstq8ys+chz5vsktnxna@public.gmane.org \
    --cc=0x7f454c46-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=dima-nzgTgzXrdUbQT0dZR+AlfA@public.gmane.org \
    --cc=dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    /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.