From: Andrew Morton <akpm@osdl.org>
To: Ravikiran G Thirumalai <kiran@scalex86.org>
Cc: nickpiggin@yahoo.com.au, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, ak@suse.de, shai@scalex86.org,
pravin.shelar@calsoftinc.com
Subject: Re: High lock spin time for zone->lru_lock under extreme conditions
Date: Sat, 13 Jan 2007 00:00:17 -0800 [thread overview]
Message-ID: <20070113000017.2ad2df12.akpm@osdl.org> (raw)
In-Reply-To: <20070113073643.GA4234@localhost.localdomain>
> On Fri, 12 Jan 2007 23:36:43 -0800 Ravikiran G Thirumalai <kiran@scalex86.org> wrote:
> On Sat, Jan 13, 2007 at 03:39:45PM +1100, Nick Piggin wrote:
> > Ravikiran G Thirumalai wrote:
> > >Hi,
> > >We noticed high interrupt hold off times while running some memory
> > >intensive
> > >tests on a Sun x4600 8 socket 16 core x86_64 box. We noticed softlockups,
> >
> > [...]
> >
> > >We did not use any lock debugging options and used plain old rdtsc to
> > >measure cycles. (We disable cpu freq scaling in the BIOS). All we did was
> > >this:
> > >
> > >void __lockfunc _spin_lock_irq(spinlock_t *lock)
> > >{
> > > local_irq_disable();
> > > ------------------------> rdtsc(t1);
> > > preempt_disable();
> > > spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
> > > _raw_spin_lock(lock);
> > > ------------------------> rdtsc(t2);
> > > if (lock->spin_time < (t2 - t1))
> > > lock->spin_time = t2 - t1;
> > >}
> > >
> > >On some runs, we found that the zone->lru_lock spun for 33 seconds or more
> > >while the maximal CS time was 3 seconds or so.
> >
> > What is the "CS time"?
>
> Critical Section :). This is the maximal time interval I measured from
> t2 above to the time point we release the spin lock. This is the hold
> time I guess.
By no means. The theory here is that CPUA is taking and releasing the
lock at high frequency, but CPUB never manages to get in and take it. In
which case the maximum-acquisition-time is much larger than the
maximum-hold-time.
I'd suggest that you use a similar trick to measure the maximum hold time:
start the timer after we got the lock, stop it just before we release the
lock (assuming that the additional rdtsc delay doesn't "fix" things, of
course...)
next prev parent reply other threads:[~2007-01-13 8:00 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-12 16:01 High lock spin time for zone->lru_lock under extreme conditions Ravikiran G Thirumalai
2007-01-12 17:03 ` Peter Zijlstra
2007-01-12 19:46 ` Christoph Lameter
2007-01-12 21:25 ` Andrew Morton
2007-01-12 21:40 ` Ravikiran G Thirumalai
2007-01-12 21:45 ` Christoph Lameter
2007-01-13 1:00 ` Ravikiran G Thirumalai
2007-01-13 1:11 ` Andrew Morton
2007-01-13 7:42 ` Ravikiran G Thirumalai
2007-01-13 4:39 ` Nick Piggin
2007-01-13 7:36 ` Ravikiran G Thirumalai
2007-01-13 7:53 ` Nick Piggin
2007-01-13 8:00 ` Andrew Morton [this message]
2007-01-13 19:53 ` Ravikiran G Thirumalai
2007-01-13 21:20 ` Andrew Morton
2007-01-16 2:56 ` Ravikiran G Thirumalai
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=20070113000017.2ad2df12.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=ak@suse.de \
--cc=kiran@scalex86.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=nickpiggin@yahoo.com.au \
--cc=pravin.shelar@calsoftinc.com \
--cc=shai@scalex86.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox