[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1272814375.2173.75.camel@edumazet-laptop>
Date: Sun, 02 May 2010 17:32:55 +0200
From: Eric Dumazet <eric.dumazet@...il.com>
To: Arjan van de Ven <arjan@...radead.org>
Cc: Andi Kleen <andi@...stfloor.org>,
David Miller <davem@...emloft.net>, hadi@...erus.ca,
xiaosuo@...il.com, therbert@...gle.com, shemminger@...tta.com,
netdev@...r.kernel.org, lenb@...nel.org
Subject: Re: [PATCH v6] net: batch skb dequeueing from softnet
input_pkt_queue
Le dimanche 02 mai 2010 à 16:27 +0200, Eric Dumazet a écrit :
> Le dimanche 02 mai 2010 à 07:13 -0700, Arjan van de Ven a écrit :
> > >
> > > Cn Avg residency P-states (frequencies)
> > > C0 (cpu running) (68.9%) 2.93 Ghz 46.5%
> > > polling 0.0ms ( 0.0%) 2.80 Ghz 5.1%
> > > C1 mwait 0.0ms ( 0.0%) 2.53 Ghz 3.0%
> > > C2 mwait 0.0ms (31.1%) 2.13 Ghz 2.8%
> > > 1.60 Ghz 38.2%
> >
> > I bet your system advertizes C2 with the same latency as C1,
> > but with lower power... which means Linux will pretty much never
> > pick C1.... no matter how much you take Andi's patch.
> >
> > this is a bios thing... and until we put in the patch to override the
> > bios values (I can dust it off but it might need a bit of tweaking
> > since it was against .31) Andi's patch alone won't cut it... you also
> > need a non-lying bios ;)
> >
> >
> >
> # pwd
> /sys/devices/system/cpu/cpu15/cpuidle
> # grep . */*
> state0/desc:CPUIDLE CORE POLL IDLE
> state0/latency:0
> state0/name:C0
> state0/power:4294967295
> state0/time:0
> state0/usage:0
> state1/desc:ACPI FFH INTEL MWAIT 0x0
> state1/latency:1
> state1/name:C1
> state1/power:1000
> state1/time:433855186
> state1/usage:126869
> state2/desc:ACPI FFH INTEL MWAIT 0x10
> state2/latency:64
> state2/name:C2
> state2/power:500
> state2/time:198095020416
> state2/usage:76287744
>
> C2 latency seems to be 64 (us ?), while C1 seems to be 1
>
> BIOS Information
> Vendor: HP
> Version: I24
> Release Date: 10/01/2009
>
> # powertop
> PowerTOP 1.11 (C) 2007, 2008 Intel Corporation
>
> Collecting data for 5 seconds
>
>
> Your CPU supports the following C-states : C1 C2 C3
> Your BIOS reports the following C-states : C1 C2
>
> C3 seems to be disabled in BIOS
>
I took a look at BIOS settings and enabled the minimum sleep state to be
C6 (instead of C3, the default). Now we see C3 being available...
No changes, only more IPI delivered during the test, and more overhead
in clockevents_notify()
# grep . */*
state0/desc:CPUIDLE CORE POLL IDLE
state0/latency:0
state0/name:C0
state0/power:4294967295
state0/time:0
state0/usage:0
state1/desc:ACPI FFH INTEL MWAIT 0x0
state1/latency:1
state1/name:C1
state1/power:1000
state1/time:39432
state1/usage:119
state2/desc:ACPI FFH INTEL MWAIT 0x10
state2/latency:64
state2/name:C2
state2/power:500
state2/time:3170745
state2/usage:11177
state3/desc:ACPI FFH INTEL MWAIT 0x20
state3/latency:96
state3/name:C3
state3/power:350
state3/time:1030987453
state3/usage:14047019
---------------------------------------------------------------------------------------------------------------------------
PerfTop: 15984 irqs/sec kernel:98.5% [1000Hz cycles], (all, 16 CPUs)
---------------------------------------------------------------------------------------------------------------------------
samples pcnt function DSO
_______ _____ ______________________________ _______
23822.00 40.2% _raw_spin_lock_irqsave vmlinux
4413.00 7.4% acpi_os_read_port vmlinux
1426.00 2.4% _raw_spin_lock vmlinux
1284.00 2.2% _raw_spin_unlock_irqrestore vmlinux
1247.00 2.1% schedule vmlinux
1137.00 1.9% bnx2x_rx_int vmlinux
643.00 1.1% tick_broadcast_oneshot_control vmlinux
597.00 1.0% copy_user_generic_string vmlinux
595.00 1.0% __napi_complete vmlinux
550.00 0.9% call_function_single_interrupt vmlinux
548.00 0.9% bnx2x_msix_fp_int vmlinux
486.00 0.8% __netif_receive_skb vmlinux
461.00 0.8% bnx2x_poll vmlinux
433.00 0.7% eth_type_trans vmlinux
428.00 0.7% acpi_idle_enter_bm vmlinux
422.00 0.7% sock_recv_ts_and_drops vmlinux
382.00 0.6% __udp4_lib_lookup vmlinux
369.00 0.6% __slab_free vmlinux
357.00 0.6% ip_route_input vmlinux
341.00 0.6% kfree vmlinux
335.00 0.6% ipt_do_table vmlinux
334.00 0.6% ip_rcv vmlinux
332.00 0.6% udp_recvmsg vmlinux
317.00 0.5% __kmalloc_node_track_caller vmlinux
37.46% init [kernel.kallsyms] [k] _raw_spin_lock_irqsave
|
--- _raw_spin_lock_irqsave
|
|--95.58%-- clockevents_notify
| lapic_timer_state_broadcast
| acpi_idle_enter_bm
| cpuidle_idle_call
| cpu_idle
| start_secondary
|
|--3.27%-- tick_broadcast_oneshot_control
| tick_notify
| notifier_call_chain
| __raw_notifier_call_chain
| raw_notifier_call_chain
| clockevents_do_notify
| clockevents_notify
| lapic_timer_state_broadcast
| acpi_idle_enter_bm
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists