All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [patch] voluntary-preempt-2.6.9-rc1-bk4-Q7
@ 2004-09-02 13:18 Mark_H_Johnson
  2004-09-02 13:37 ` Ingo Molnar
  0 siblings, 1 reply; 15+ messages in thread
From: Mark_H_Johnson @ 2004-09-02 13:18 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: K.R. Foley, linux-kernel, Lee Revell, Thomas Charbonnel

>(you mean 500+ usec, correct?)
>
>there's no way the scheduler can have 500 usecs of overhead going from
>dequeue_task() to __switch_to(): we have all interrupts disabled and
>take zero locks! This is almost certainly some hardware effect (i
>described some possibilities and tests a couple of mails earlier).
>
>In any case, please enable nmi_watchdog=1 so that we can see (in -Q7)
>what happens on the other CPUs during such long delays.

Booted with nmi_watchdog=1, saw the kernel message indicating that
NMI was checked OK.

The first trace looks something like this...

latency 518 us, entries: 79
...
started at schedule+0x51/0x740
ended at schedule+0x337/0x740

00000001 0.000ms (+0.000ms): schedule (io_schedule)
00000001 0.000ms (+0.000ms): sched_clock (schedule)
00010001 0.478ms (+0.478ms): do_nmi (sched_clock)
00010001 0.478ms (+0.000ms): do_nmi (<08049b21>)
00010001 0.482ms (+0.003ms): profile_tick (nmi_watchdog_tick)
...
and a few entries later ends up at do_IRQ (sched_clock).

The second trace goes from dequeue_task to __switch_to with a
similar pattern - the line with do_nmi has +0.282ms duration and
the line notifier_call_chain (profile_hook) as +0.135ms duration.

I don't see how this provides any additional information but will
provide several additional traces when the test gets done in a
few minutes.


--Mark H Johnson
  <mailto:Mark_H_Johnson@raytheon.com>


^ permalink raw reply	[flat|nested] 15+ messages in thread
[parent not found: <OF3E3C1690.FD6E285E-ON86256F03.004CDD15-86256F03.004CDD4F@raytheon.com>]
* Re: [patch] voluntary-preempt-2.6.9-rc1-bk4-Q7
@ 2004-09-02 13:33 Mark_H_Johnson
  0 siblings, 0 replies; 15+ messages in thread
From: Mark_H_Johnson @ 2004-09-02 13:33 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: K.R. Foley, linux-kernel, Lee Revell, Thomas Charbonnel

>> I also looked briefly at find_first_bit since it appears in a number
>> of traces. Just curious, but the coding for the i386 version is MUCH
>> different in style than several other architectures (e.g, PPC64,
>> SPARC). Is there some reason why it is recursive on the x86 and a loop
>> in the others?
>
>what do you mean by recursive? It uses the SCAS (scan string) x86
>instruction.

Never mind. In bitops.c I misread "find_first_bit" (the call near the end)
as "find_next_bit" and thought there was recursion here.

--Mark H Johnson
  <mailto:Mark_H_Johnson@raytheon.com>


^ permalink raw reply	[flat|nested] 15+ messages in thread
* Re: [patch] voluntary-preempt-2.6.9-rc1-bk4-Q7
@ 2004-09-01 22:56 Mark_H_Johnson
  2004-09-02  5:34 ` Ingo Molnar
  0 siblings, 1 reply; 15+ messages in thread
From: Mark_H_Johnson @ 2004-09-01 22:56 UTC (permalink / raw)
  To: Thomas Charbonnel; +Cc: K.R. Foley, linux-kernel, Ingo Molnar, Lee Revell

>With Q7 I still get rx latency issues (> 130 us non-preemptible section
>from rtl8139_poll). Moreover network connections were extremely slow
>(almost hung) until I set /proc/sys/net/core/netdev_backlog_granularity
>to 2.

The default of 1 caused a couple services to fail start up - most
annoying failure was NIS. I changed netdev_backlog_granularity to
eight (8) in /etc/sysctl.conf and came up fine. The system is under
test right now, though will probably tomorrow before I get full
results.

It appears to have fewer > 500 usec traces than previous
tests so the -Q7 stuff appears to work (though has not made it to
the disk tests where I generally have more problems yet).

One place where we may need to consider more mcount() calls is in
the scheduler. I got another 500+ msec trace going from dequeue_task
to __switch_to.

I also looked briefly at find_first_bit since it appears in a number
of traces. Just curious, but the coding for the i386 version is MUCH
different in style than several other architectures (e.g, PPC64, SPARC).
Is there some reason why it is recursive on the x86 and a loop in the
others?

--Mark H Johnson
  <mailto:Mark_H_Johnson@raytheon.com>


^ permalink raw reply	[flat|nested] 15+ messages in thread
* Re: [patch] voluntary-preempt-2.6.9-rc1-bk4-Q2
@ 2004-08-28 20:10 Daniel Schmitt
  2004-08-28 20:31 ` [patch] voluntary-preempt-2.6.9-rc1-bk4-Q3 Ingo Molnar
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel Schmitt @ 2004-08-28 20:10 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Lee Revell, K.R. Foley, Felipe Alfaro Solana, linux-kernel,
	Mark_H_Johnson

On Saturday 28 August 2004 21:44, Ingo Molnar wrote:
>
> there's a Kconfig chunk missing from the Q0/Q1 patches, i've uploaded Q2
> that fixes this:
>
This breaks here unless CONFIG_SMP is defined, with the following error:

  CC      arch/i386/kernel/asm-offsets.s
In file included from arch/i386/kernel/asm-offsets.c:7:
include/linux/sched.h: In function `lock_need_resched':
include/linux/sched.h:983: error: structure has no member named `break_lock'

Probably missing a check for CONFIG_SMP around the need_lockbreak defines in 
sched.h, and maybe also in cond_resched_lock().

Daniel.


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2004-09-02 18:03 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-02 13:18 [patch] voluntary-preempt-2.6.9-rc1-bk4-Q7 Mark_H_Johnson
2004-09-02 13:37 ` Ingo Molnar
2004-09-02 18:01   ` Lee Revell
     [not found] <OF3E3C1690.FD6E285E-ON86256F03.004CDD15-86256F03.004CDD4F@raytheon.com>
2004-09-02 14:43 ` Ingo Molnar
  -- strict thread matches above, loose matches on Subject: below --
2004-09-02 13:33 Mark_H_Johnson
2004-09-01 22:56 Mark_H_Johnson
2004-09-02  5:34 ` Ingo Molnar
2004-08-28 20:10 [patch] voluntary-preempt-2.6.9-rc1-bk4-Q2 Daniel Schmitt
2004-08-28 20:31 ` [patch] voluntary-preempt-2.6.9-rc1-bk4-Q3 Ingo Molnar
2004-08-28 21:10   ` Lee Revell
2004-08-28 21:13     ` Ingo Molnar
2004-08-28 21:16       ` Lee Revell
2004-08-28 23:51         ` Lee Revell
2004-08-29  2:35           ` Lee Revell
2004-08-29  5:43             ` [patch] voluntary-preempt-2.6.9-rc1-bk4-Q4 Ingo Molnar
2004-08-30  9:06               ` [patch] voluntary-preempt-2.6.9-rc1-bk4-Q5 Ingo Molnar
2004-09-01  8:29                 ` [patch] voluntary-preempt-2.6.9-rc1-bk4-Q6 Ingo Molnar
2004-09-01 13:51                   ` [patch] voluntary-preempt-2.6.9-rc1-bk4-Q7 Ingo Molnar
2004-09-01 17:09                     ` Thomas Charbonnel
2004-09-01 19:03                       ` K.R. Foley
2004-09-01 20:11                       ` Peter Zijlstra
2004-09-01 20:16                         ` Lee Revell
2004-09-01 20:53                         ` K.R. Foley
     [not found]                     ` <41367E5D.3040605@cybsft.com>
2004-09-02  5:37                       ` Ingo Molnar
2004-09-02  5:40                         ` Ingo Molnar

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.