mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: stable-review@kernel.org, torvalds@linux-foundation.org,
	akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
	Venkatesh Pallipadi <venki@google.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Ingo Molnar <mingo@elte.hu>, Mike Galbraith <efault@gmx.de>
Subject: [103/115] x86: Add IRQ_TIME_ACCOUNTING
Date: Tue, 15 Feb 2011 17:46:09 -0800	[thread overview]
Message-ID: <20110216014704.554772585@clark.kroah.org> (raw)
In-Reply-To: <20110216014741.GA24678@kroah.com>

2.6.32-longterm review patch.  If anyone has any objections, please let us know.

------------------

Commit: e82b8e4ea4f3dffe6e7939f90e78da675fcc450e upstream

This patch adds IRQ_TIME_ACCOUNTING option on x86 and runtime enables it
when TSC is enabled.

This change just enables fine grained irq time accounting, isn't used yet.
Following patches use it for different purposes.

Signed-off-by: Venkatesh Pallipadi <venki@google.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1286237003-12406-6-git-send-email-venki@google.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Mike Galbraith <efault@gmx.de>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 Documentation/kernel-parameters.txt |    4 ++++
 arch/x86/Kconfig                    |   11 +++++++++++
 arch/x86/kernel/tsc.c               |    8 ++++++++
 3 files changed, 23 insertions(+)

--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -2578,6 +2578,10 @@ and is between 256 and 4096 characters.
 			disables clocksource verification at runtime.
 			Used to enable high-resolution timer mode on older
 			hardware, and in virtualized environment.
+			[x86] noirqtime: Do not use TSC to do irq accounting.
+			Used to run time disable IRQ_TIME_ACCOUNTING on any
+			platforms where RDTSC is slow and this accounting
+			can add overhead.
 
 	turbografx.map[2|3]=	[HW,JOY]
 			TurboGraFX parallel port interface
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -753,6 +753,17 @@ config SCHED_MC
 	  making when dealing with multi-core CPU chips at a cost of slightly
 	  increased overhead in some places. If unsure say N here.
 
+config IRQ_TIME_ACCOUNTING
+	bool "Fine granularity task level IRQ time accounting"
+	default n
+	---help---
+	  Select this option to enable fine granularity task irq time
+	  accounting. This is done by reading a timestamp on each
+	  transitions between softirq and hardirq state, so there can be a
+	  small performance impact.
+
+	  If in doubt, say N here.
+
 source "kernel/Kconfig.preempt"
 
 config X86_UP_APIC
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -104,10 +104,14 @@ int __init notsc_setup(char *str)
 
 __setup("notsc", notsc_setup);
 
+static int no_sched_irq_time;
+
 static int __init tsc_setup(char *str)
 {
 	if (!strcmp(str, "reliable"))
 		tsc_clocksource_reliable = 1;
+	if (!strncmp(str, "noirqtime", 9))
+		no_sched_irq_time = 1;
 	return 1;
 }
 
@@ -802,6 +806,7 @@ void mark_tsc_unstable(char *reason)
 	if (!tsc_unstable) {
 		tsc_unstable = 1;
 		sched_clock_stable = 0;
+		disable_sched_clock_irqtime();
 		printk(KERN_INFO "Marking TSC unstable due to %s\n", reason);
 		/* Change only the rating, when not registered */
 		if (clocksource_tsc.mult)
@@ -990,6 +995,9 @@ void __init tsc_init(void)
 	/* now allow native_sched_clock() to use rdtsc */
 	tsc_disabled = 0;
 
+	if (!no_sched_irq_time)
+		enable_sched_clock_irqtime();
+
 	lpj = ((u64)tsc_khz * 1000);
 	do_div(lpj, HZ);
 	lpj_fine = lpj;



  parent reply	other threads:[~2011-02-16  1:52 UTC|newest]

Thread overview: 137+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-16  1:47 [000/115] 2.6.32.29-longterm review Greg KH
2011-02-16  1:44 ` [001/115] staging: usbip: remove double giveback of URB Greg KH
2011-02-16  1:44 ` [002/115] USB: EHCI: ASPM quirk of ISOC on AMD SB800 Greg KH
2011-02-16  1:44 ` [003/115] rt2x00: add device id for windy31 usb device Greg KH
2011-02-16  1:44 ` [004/115] ALSA: snd-usb-us122l: Fix missing NULL checks Greg KH
2011-02-16  1:44 ` [005/115] hwmon: (via686a) Initialize fan_div values Greg KH
2011-02-16  1:44 ` [006/115] USB: serial: handle Data Carrier Detect changes Greg KH
2011-02-16  1:44 ` [007/115] USB: CP210x Add two device IDs Greg KH
2011-02-16  1:44 ` [008/115] USB: CP210x Removed incorrect device ID Greg KH
2011-02-16  1:44 ` [009/115] USB: usb-storage: unusual_devs update for Cypress ATACB Greg KH
2011-02-16  1:44 ` [010/115] USB: usb-storage: unusual_devs update for TrekStor DataStation maxi g.u external hard drive enclosure Greg KH
2011-02-16  1:44 ` [011/115] USB: usb-storage: unusual_devs entry for CamSport Evo Greg KH
2011-02-16  1:44 ` [012/115] USB: usb-storage: unusual_devs entry for Coby MP3 player Greg KH
2011-02-16  1:44 ` [013/115] USB: serial: Updated support for ICOM devices Greg KH
2011-02-16  1:44 ` [014/115] USB: adding USB support for Cinterions HC2x, EU3 and PH8 products Greg KH
2011-02-16  1:44 ` [015/115] USB: EHCI: ASPM quirk of ISOC on AMD Hudson Greg KH
2011-02-16  1:44 ` [016/115] USB: EHCI: fix DMA deallocation bug Greg KH
2011-02-16  1:44 ` [017/115] USB: g_printer: fix bug in module parameter definitions Greg KH
2011-02-16  1:44 ` [018/115] USB: io_edgeport: fix the reported firmware major and minor Greg KH
2011-02-16  1:44 ` [019/115] USB: ti_usb: fix module removal Greg KH
2011-02-16  1:44 ` [020/115] USB: Storage: Add unusual_devs entry for VTech Kidizoom Greg KH
2011-02-16  1:44 ` [021/115] USB: ftdi_sio: add ST Micro Connect Lite uart support Greg KH
2011-02-16  1:44 ` [022/115] USB: cdc-acm: Adding second ACM channel support for Nokia N8 Greg KH
2011-02-16  1:44 ` [023/115] USB: ftdi_sio: Add VID=0x0647, PID=0x0100 for Acton Research spectrograph Greg KH
2011-02-16  1:44 ` [024/115] USB: prevent buggy hubs from crashing the USB stack Greg KH
2011-02-23  8:06   ` Alexander Holler
2011-02-23  8:40     ` Alexander Holler
2011-02-23 15:26       ` Alan Stern
2011-02-24  8:57         ` Felipe Balbi
2011-02-24  9:15           ` Alexander Holler
2011-02-24  9:16             ` Felipe Balbi
2011-02-24 17:18               ` Greg KH
2011-02-24 17:23                 ` Felipe Balbi
2011-02-24 17:57                   ` Alan Stern
2011-02-24 18:11                     ` Alexander Holler
2011-02-24 18:24                       ` Greg KH
2011-02-24 18:12                     ` Greg KH
2011-02-24 18:16                       ` Greg KH
2011-02-24  9:53           ` Michael Jones
2011-02-16  1:44 ` [025/115] staging: comedi: add support for newer jr3 1-channel pci board Greg KH
2011-02-16  1:44 ` [026/115] staging: comedi: ni_labpc: Use shared IRQ for PCMCIA card Greg KH
2011-02-16  1:44 ` [027/115] Staging: hv: fix sysfs symlink on hv block device Greg KH
2011-02-16  1:44 ` [028/115] staging: hv: Enable sending GARP packet after live migration Greg KH
2011-02-16  1:44 ` [029/115] [S390] hvc_iucv: allocate memory buffers for IUCV in zone DMA Greg KH
2011-02-16  1:44 ` [030/115] iwlagn: enable only rfkill interrupt when device is down Greg KH
2011-02-16  1:44 ` [031/115] ath9k: Fix bug in delimiter padding computation Greg KH
2011-02-16  1:44 ` [032/115] [S390] correct vdso version string Greg KH
2011-02-16  1:44 ` [033/115] [SCSI] fix medium error problems with some arrays which can cause data corruption Greg KH
2011-02-16  1:45 ` [034/115] [SCSI] libsas: fix runaway error handler problem Greg KH
2011-02-16  1:45 ` [035/115] [SCSI] mpt2sas: Fix device removal handshake for zoned devices Greg KH
2011-02-16  1:45 ` [036/115] [SCSI] mpt2sas: Correct resizing calculation for max_queue_depth Greg KH
2011-02-16  1:45 ` [037/115] [SCSI] mpt2sas: Kernel Panic during Large Topology discovery Greg KH
2011-02-16  1:45 ` [038/115] [media] radio-aimslab.c: Fix gcc 4.5+ bug Greg KH
2011-02-16  1:45 ` [039/115] [media] em28xx: Fix audio input for Terratec Grabby Greg KH
2011-02-16  1:45 ` [040/115] ALSA : au88x0 - Limit number of channels to fix Oops via OSS emu Greg KH
2011-02-16  1:45 ` [041/115] ALSA: HDA: Fix dmesg output of HDMI supported bits Greg KH
2011-02-16  1:45 ` [042/115] ALSA: hda - Fix memory leaks in conexant jack arrays Greg KH
2011-02-16  1:45 ` [043/115] Input: i8042 - introduce notimeout blacklist for Dell Vostro V13 Greg KH
2011-02-16  1:45 ` [044/115] input: bcm5974: Add support for MacBookAir3 Greg KH
2011-02-16  1:45 ` [045/115] ALSA: hrtimer: handle delayed timer interrupts Greg KH
2011-02-16  1:45 ` [046/115] ASoC: WM8990: msleep() takes milliseconds not jiffies Greg KH
2011-02-16  1:45 ` [047/115] ASoC: Blackfin AC97: fix build error after multi-component update Greg KH
2011-02-16  1:45 ` [048/115] NFS: Fix "kernel BUG at fs/aio.c:554!" Greg KH
2011-02-16  1:45 ` [049/115] rtc-cmos: fix suspend/resume Greg KH
2011-02-16  1:45 ` [050/115] iwlagn: Re-enable RF_KILL interrupt when down Greg KH
2011-02-16  1:45 ` [051/115] rapidio: fix hang on RapidIO doorbell queue full condition Greg KH
2011-02-16  1:45 ` [052/115] PCI: pci-stub: ignore zero-length id parameters Greg KH
2011-02-16  1:45 ` [053/115] virtio: remove virtio-pci root device Greg KH
2011-02-16  1:45 ` [054/115] ds2760_battery: Fix calculation of time_to_empty_now Greg KH
2011-02-16  1:45 ` [055/115] p54: fix sequence no. accounting off-by-one error Greg KH
2011-02-16  1:45 ` [056/115] i2c: Unregister dummy devices last on adapter removal Greg KH
2011-02-16  1:45 ` [057/115] serial: unbreak billionton CF card Greg KH
2011-02-16  1:45 ` [058/115] ptrace: use safer wake up on ptrace_detach() Greg KH
2011-02-16  1:45 ` [059/115] x86, mtrr: Avoid MTRR reprogramming on BP during boot on UP platforms Greg KH
2011-02-16  1:45 ` [060/115] fix jiffy calculations in calibrate_delay_direct to handle overflow Greg KH
2011-02-16  1:45 ` [061/115] USB: serial: pl2303: Hybrid reader Uniform HCR331 Greg KH
2011-02-16  1:45 ` [062/115] drivers: update to pl2303 usb-serial to support Motorola cables Greg KH
2011-02-16  1:45 ` [063/115] klist: Fix object alignment on 64-bit Greg KH
2011-02-16  1:45 ` [064/115] powerpc: Fix some 6xx/7xxx CPU setup functions Greg KH
2011-02-16  1:45 ` [065/115] parisc : Remove broken line wrapping handling pdc_iodc_print() Greg KH
2011-02-16  1:45 ` [066/115] kernel/smp.c: fix smp_call_function_many() SMP race Greg KH
2011-02-16  1:45 ` [067/115] hostap_cs: fix sleeping function called from invalid context Greg KH
2011-02-16  1:45 ` [068/115] md: fix regression with re-adding devices to arrays with no metadata Greg KH
2011-02-16  1:45 ` [069/115] pata_mpc52xx: inherit from ata_bmdma_port_ops Greg KH
2011-02-16  1:45 ` [070/115] TPM: Long default timeout fix Greg KH
2011-02-16  1:45 ` [071/115] tpm_tis: Use timeouts returned from TPM Greg KH
2011-02-16  1:45 ` [072/115] SELinux: define permissions for DCB netlink messages Greg KH
2011-02-16  1:45 ` [073/115] SELinux: do not compute transition labels on mountpoint labeled filesystems Greg KH
2011-02-16  1:45 ` [074/115] ieee80211: correct IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK macro Greg KH
2011-02-16  1:45 ` [075/115] dm: dont take i_mutex to change device size Greg KH
2011-02-16  1:45 ` [076/115] dm mpath: disable blk_abort_queue Greg KH
2011-02-16  1:45 ` [077/115] drm/radeon/kms: add quirk for Mac Radeon HD 2600 card Greg KH
2011-02-16  1:45 ` [078/115] drm/radeon/kms: make the mac rv630 quirk generic Greg KH
2011-02-16  1:45 ` [079/115] drm/radeon/kms: add pll debugging output Greg KH
2011-02-16  1:45 ` [080/115] drm/radeon: remove 0x4243 pci id Greg KH
2011-02-16  1:45 ` [081/115] drm/radeon/kms: fix s/r issues with bios scratch regs Greg KH
2011-02-16  1:45 ` [082/115] drm/i915/lvds: Add AOpen i915GMm-HFS to the list of false-positive LVDS Greg KH
2011-02-16  1:45 ` [083/115] drm/i915: Add dependency on CONFIG_TMPFS Greg KH
2011-02-16  1:45 ` [084/115] x86, mm: avoid possible bogus tlb entries by clearing prev mm_cpumask after switching mm Greg KH
2011-02-16  1:45 ` [085/115] usb: Realloc xHCI structures after a hub is verified Greg KH
2011-02-16  1:45 ` [086/115] sched: Remove USER_SCHED Greg KH
2011-02-16  1:45 ` [087/115] sched: Remove remaining USER_SCHED code Greg KH
2011-02-16  1:45 ` [088/115] sched: Move sched_avg_update() to update_cpu_load() Greg KH
2011-02-16  1:45 ` [089/115] sched: Increment cache_nice_tries only on periodic lb Greg KH
2011-02-16  1:45 ` [090/115] sched: Try not to migrate higher priority RT tasks Greg KH
2011-02-16  1:45 ` [091/115] sched: Give CPU bound RT tasks preference Greg KH
2011-02-16  1:45 ` [092/115] sched: suppress RCU lockdep splat in task_fork_fair Greg KH
2011-02-16  1:45 ` [093/115] sched: fix RCU lockdep splat from task_group() Greg KH
2011-02-16  1:46 ` [094/115] sched: Do not consider SCHED_IDLE tasks to be cache hot Greg KH
2011-02-16  1:46 ` [095/115] sched: Set group_imb only a task can be pulled from the busiest cpu Greg KH
2011-02-16  1:46 ` [096/115] sched: Force balancing on newidle balance if local group has capacity Greg KH
2011-02-16  1:46 ` [097/115] sched: Drop group_capacity to 1 only if local group has extra capacity Greg KH
2011-02-16  1:46 ` [098/115] sched: Fix softirq time accounting Greg KH
2011-02-16  1:46 ` [099/115] sched: Consolidate account_system_vtime extern declaration Greg KH
2011-02-16  1:46 ` [100/115] sched: Remove unused PF_ALIGNWARN flag Greg KH
2011-02-16  1:46 ` [101/115] sched: Add a PF flag for ksoftirqd identification Greg KH
2011-02-16  1:46 ` [102/115] sched: Add IRQ_TIME_ACCOUNTING, finer accounting of irq time Greg KH
2011-02-16  1:46 ` Greg KH [this message]
2011-02-16  1:46 ` [104/115] sched: Do not account irq time to current task Greg KH
2011-02-16  1:46 ` [105/115] sched: Remove irq time from available CPU power Greg KH
2011-02-16  1:46 ` [106/115] sched: Call tick_check_idle before __irq_enter Greg KH
2011-02-16  1:46 ` [107/115] sched: Export account_system_vtime() Greg KH
2011-02-16  1:46 ` [108/115] sched, cgroup: Fixup broken cgroup movement Greg KH
2011-02-16  1:46 ` [109/115] sched: Use group weight, idle cpu metrics to fix imbalances during idle Greg KH
2011-02-16  1:46 ` [110/115] sched: Fix cross-sched-class wakeup preemption Greg KH
2011-02-16  1:46 ` [111/115] sched: Fix volanomark performance regression Greg KH
2011-02-16  1:46 ` [112/115] sched: Fix idle balancing Greg KH
2011-02-16  1:46 ` [113/115] sched: Fix wake_affine() vs RT tasks Greg KH
2011-02-16  1:46 ` [114/115] sched: Remove some dead code Greg KH
2011-02-16  7:37   ` Dan Carpenter
2011-02-16  7:56     ` Mike Galbraith
2011-02-16  8:30       ` Ingo Molnar
2011-02-16  9:24         ` [Stable-review] " Willy Tarreau
2011-02-16  1:46 ` [115/115] kernel/user.c: add lock release annotation on free_user() Greg KH
2011-02-16 13:51 ` [000/115] 2.6.32.29-longterm review Ian Campbell
2011-02-17  0:35   ` Greg KH
2011-02-17  9:22     ` Ian Campbell

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=20110216014704.554772585@clark.kroah.org \
    --to=gregkh@suse.de \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=efault@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=stable-review@kernel.org \
    --cc=stable@kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=venki@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®