All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Greg KH <gregkh@suse.de>
Cc: linux-kernel@vger.kernel.org, andi@firstfloor.org,
	ak@linux.intel.com, mingo@elte.hu, tiwai@suse.de,
	linux-next@vger.kernel.org
Subject: Re: [PATCH 72/79] sysdev: Pass the attribute to the low level sysdev show/store function
Date: Tue, 22 Jul 2008 14:03:01 -0700	[thread overview]
Message-ID: <20080722140301.2a334f8c.akpm@linux-foundation.org> (raw)
In-Reply-To: <20080722204939.GA3028@suse.de>

On Tue, 22 Jul 2008 13:49:39 -0700
Greg KH <gregkh@suse.de> wrote:

> On Tue, Jul 22, 2008 at 01:40:45PM -0700, Andrew Morton wrote:
> > On Mon, 21 Jul 2008 22:19:36 -0700
> > Greg Kroah-Hartman <gregkh@suse.de> wrote:
> > 
> > > From: Andi Kleen <andi@firstfloor.org>
> > > 
> > > This allow to dynamically generate attributes and share show/store
> > > functions between attributes. Right now most attributes are generated
> > > by special macros and lots of duplicated code. With the attribute
> > > passed it's instead possible to attach some data to the attribute
> > > and then use that in shared low level functions to do different things.
> > > 
> > > I need this for the dynamically generated bank attributes in the x86
> > > machine check code, but it'll allow some further cleanups.
> > > 
> > > I converted all users in tree to the new show/store prototype. It's a single
> > > huge patch to avoid unbisectable sections.
> > > 
> > > Runtime tested: x86-32, x86-64
> > > Compiled only: ia64, powerpc
> > > Not compile tested/only grep converted: sh, arm, avr32
> > > 
> > > Signed-off-by: Andi Kleen <ak@linux.intel.com>
> > > Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
> > >
> > > ...
> > >
> > >  kernel/sched.c                            |    8 ++++-
> > 
> > This wrecks use-sysdev_class-in-schedc.patch (below), which I merged a
> > week ago and will now drop.
> > 
> > Why did this patch from Andi just turn up in linux-next now, halfway
> > through the merge window?  It has a commit date of July 1 yet it has
> > never before been sighted in linux-next.
> 
> What?  It's been in linux-next for a while now as it's been in my tree
> for quite some time.  Unless it somehow got reverted in -next and I
> didn't realize it?  Which I kind of doubt as it was causing problems
> with the sparc build and I got reports of that.
> 
> This should be a simple merge, the show/store functions of sysdev now
> just got an additional parameter, like we've done for a while with other
> types of attributes.
> 

Well the changelog for yesterday's linux-next lists this change, but
the diff to kernel/sched.c (below) does not contain it.  No idea what
caused that.

A whole pile of greggish stuff just turned up in linux-next and I'm
fixing and dropping stuff left, right and centre over here.

diff -puN kernel/sched.c~linux-next kernel/sched.c
--- a/kernel/sched.c~linux-next
+++ a/kernel/sched.c
@@ -2108,7 +2108,7 @@ find_idlest_group(struct sched_domain *s
 		/* Tally up the load of all CPUs in the group */
 		avg_load = 0;
 
-		for_each_cpu_mask(i, group->cpumask) {
+		for_each_cpu_mask_nr(i, group->cpumask) {
 			/* Bias balancing toward cpus of our domain */
 			if (local_group)
 				load = source_load(i, load_idx);
@@ -2150,7 +2150,7 @@ find_idlest_cpu(struct sched_group *grou
 	/* Traverse only the allowed CPUs */
 	cpus_and(*tmp, group->cpumask, p->cpus_allowed);
 
-	for_each_cpu_mask(i, *tmp) {
+	for_each_cpu_mask_nr(i, *tmp) {
 		load = weighted_cpuload(i);
 
 		if (load < min_load || (load == min_load && i == this_cpu)) {
@@ -3168,7 +3168,7 @@ find_busiest_group(struct sched_domain *
 		max_cpu_load = 0;
 		min_cpu_load = ~0UL;
 
-		for_each_cpu_mask(i, group->cpumask) {
+		for_each_cpu_mask_nr(i, group->cpumask) {
 			struct rq *rq;
 
 			if (!cpu_isset(i, *cpus))
@@ -3447,7 +3447,7 @@ find_busiest_queue(struct sched_group *g
 	unsigned long max_load = 0;
 	int i;
 
-	for_each_cpu_mask(i, group->cpumask) {
+	for_each_cpu_mask_nr(i, group->cpumask) {
 		unsigned long wl;
 
 		if (!cpu_isset(i, *cpus))
@@ -3989,7 +3989,7 @@ static void run_rebalance_domains(struct
 		int balance_cpu;
 
 		cpu_clear(this_cpu, cpus);
-		for_each_cpu_mask(balance_cpu, cpus) {
+		for_each_cpu_mask_nr(balance_cpu, cpus) {
 			/*
 			 * If this cpu gets work to do, stop the load balancing
 			 * work being done for other cpus. Next load
@@ -5663,12 +5663,7 @@ void sched_show_task(struct task_struct 
 		printk(KERN_CONT " %016lx ", thread_saved_pc(p));
 #endif
 #ifdef CONFIG_DEBUG_STACK_USAGE
-	{
-		unsigned long *n = end_of_stack(p);
-		while (!*n)
-			n++;
-		free = (unsigned long)n - (unsigned long)end_of_stack(p);
-	}
+	free = stack_not_used(p);
 #endif
 	printk(KERN_CONT "%5lu %5d %6d\n", free,
 		task_pid_nr(p), task_pid_nr(p->real_parent));
@@ -6802,7 +6797,7 @@ init_sched_build_groups(const cpumask_t 
 
 	cpus_clear(*covered);
 
-	for_each_cpu_mask(i, *span) {
+	for_each_cpu_mask_nr(i, *span) {
 		struct sched_group *sg;
 		int group = group_fn(i, cpu_map, &sg, tmpmask);
 		int j;
@@ -6813,7 +6808,7 @@ init_sched_build_groups(const cpumask_t 
 		cpus_clear(sg->cpumask);
 		sg->__cpu_power = 0;
 
-		for_each_cpu_mask(j, *span) {
+		for_each_cpu_mask_nr(j, *span) {
 			if (group_fn(j, cpu_map, NULL, tmpmask) != group)
 				continue;
 
@@ -7013,7 +7008,7 @@ static void init_numa_sched_groups_power
 	if (!sg)
 		return;
 	do {
-		for_each_cpu_mask(j, sg->cpumask) {
+		for_each_cpu_mask_nr(j, sg->cpumask) {
 			struct sched_domain *sd;
 
 			sd = &per_cpu(phys_domains, j);
@@ -7038,7 +7033,7 @@ static void free_sched_groups(const cpum
 {
 	int cpu, i;
 
-	for_each_cpu_mask(cpu, *cpu_map) {
+	for_each_cpu_mask_nr(cpu, *cpu_map) {
 		struct sched_group **sched_group_nodes
 			= sched_group_nodes_bycpu[cpu];
 
@@ -7277,7 +7272,7 @@ static int __build_sched_domains(const c
 	/*
 	 * Set up domains for cpus specified by the cpu_map.
 	 */
-	for_each_cpu_mask(i, *cpu_map) {
+	for_each_cpu_mask_nr(i, *cpu_map) {
 		struct sched_domain *sd = NULL, *p;
 		SCHED_CPUMASK_VAR(nodemask, allmasks);
 
@@ -7344,7 +7339,7 @@ static int __build_sched_domains(const c
 
 #ifdef CONFIG_SCHED_SMT
 	/* Set up CPU (sibling) groups */
-	for_each_cpu_mask(i, *cpu_map) {
+	for_each_cpu_mask_nr(i, *cpu_map) {
 		SCHED_CPUMASK_VAR(this_sibling_map, allmasks);
 		SCHED_CPUMASK_VAR(send_covered, allmasks);
 
@@ -7361,7 +7356,7 @@ static int __build_sched_domains(const c
 
 #ifdef CONFIG_SCHED_MC
 	/* Set up multi-core groups */
-	for_each_cpu_mask(i, *cpu_map) {
+	for_each_cpu_mask_nr(i, *cpu_map) {
 		SCHED_CPUMASK_VAR(this_core_map, allmasks);
 		SCHED_CPUMASK_VAR(send_covered, allmasks);
 
@@ -7428,7 +7423,7 @@ static int __build_sched_domains(const c
 			goto error;
 		}
 		sched_group_nodes[i] = sg;
-		for_each_cpu_mask(j, *nodemask) {
+		for_each_cpu_mask_nr(j, *nodemask) {
 			struct sched_domain *sd;
 
 			sd = &per_cpu(node_domains, j);
@@ -7474,21 +7469,21 @@ static int __build_sched_domains(const c
 
 	/* Calculate CPU power for physical packages and nodes */
 #ifdef CONFIG_SCHED_SMT
-	for_each_cpu_mask(i, *cpu_map) {
+	for_each_cpu_mask_nr(i, *cpu_map) {
 		struct sched_domain *sd = &per_cpu(cpu_domains, i);
 
 		init_sched_groups_power(i, sd);
 	}
 #endif
 #ifdef CONFIG_SCHED_MC
-	for_each_cpu_mask(i, *cpu_map) {
+	for_each_cpu_mask_nr(i, *cpu_map) {
 		struct sched_domain *sd = &per_cpu(core_domains, i);
 
 		init_sched_groups_power(i, sd);
 	}
 #endif
 
-	for_each_cpu_mask(i, *cpu_map) {
+	for_each_cpu_mask_nr(i, *cpu_map) {
 		struct sched_domain *sd = &per_cpu(phys_domains, i);
 
 		init_sched_groups_power(i, sd);
@@ -7508,7 +7503,7 @@ static int __build_sched_domains(const c
 #endif
 
 	/* Attach the domains */
-	for_each_cpu_mask(i, *cpu_map) {
+	for_each_cpu_mask_nr(i, *cpu_map) {
 		struct sched_domain *sd;
 #ifdef CONFIG_SCHED_SMT
 		sd = &per_cpu(cpu_domains, i);
@@ -7603,7 +7598,7 @@ static void detach_destroy_domains(const
 
 	unregister_sched_domain_sysctl();
 
-	for_each_cpu_mask(i, *cpu_map)
+	for_each_cpu_mask_nr(i, *cpu_map)
 		cpu_attach_domain(NULL, &def_root_domain, i);
 	synchronize_sched();
 	arch_destroy_sched_domains(cpu_map, &tmpmask);

  reply	other threads:[~2008-07-22 21:03 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-22  5:18 [GIT PATCH] driver core patches against 2.6.26 Greg KH
2008-07-22  5:18 ` [PATCH 01/79] sysfs: add /sys/dev/{char,block} to lookup sysfs path by major:minor Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 02/79] kobject: replace '/' with '!' in name Greg Kroah-Hartman
2008-07-22  7:12   ` Kari Hurtta
2008-07-22 18:12   ` Ingo Oeser
2008-07-22 20:50     ` Greg KH
2008-07-22 23:25       ` [PATCH] kobject: Replace ALL occurrences of '/' with '!' instead of only the first one Ingo Oeser
2008-07-22  5:18 ` [PATCH 03/79] debugfs: Add a reference to the debugfs API documentation Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 04/79] Firmware: fix typo in example code Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 05/79] device create: block: convert device_create to device_create_drvdata Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 06/79] device create: char: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 07/79] device create: coda: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 08/79] device create: dca: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 09/79] device create: dvb: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 10/79] device create: framebuffer: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 11/79] device create: hid: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 12/79] device create: hwmon: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 13/79] device create: i2c: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 14/79] device create: ide: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 15/79] device create: ieee1394: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 16/79] device create: infiniband: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 17/79] device create: isdn: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 18/79] device create: macintosh: " Greg Kroah-Hartman
2008-07-22 22:00   ` Benjamin Herrenschmidt
2008-07-22  5:18 ` [PATCH 19/79] device create: mips: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 20/79] device create: misc: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 21/79] device create: mtd: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 22/79] device create: net: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 23/79] device create: s390: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 24/79] device create: scsi: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 25/79] device create: sound: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 26/79] device create: spi: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 27/79] device create: usb: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 28/79] device create: x86: " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 29/79] driver core: remove device_create() Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 30/79] device create: convert device_create_drvdata to device_create Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 31/79] Driver Core: add ability for class_for_each_device to start in middle of list Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 32/79] Driver Core: add ability for class_find_device " Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 33/79] block: fix compiler warning in genhd.c Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 34/79] block: make printk_partition use the class iterator function Greg Kroah-Hartman
2008-07-22  5:18 ` [PATCH 35/79] block: make blk_lookup_devt " Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 36/79] block: make /proc/diskstats only build if CONFIG_PROC_FS is enabled Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 37/79] block: make proc files seq_start use the class_find_device() Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 38/79] block: move header for /proc/partitions to seq_start Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 39/79] block: make /proc/partitions and /proc/diskstats use class_find_device() Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 40/79] infiniband: rename "device" to "ib_device" in cm_device Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 41/79] infiniband: make cm_device use a struct device and not a kobject Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 42/79] bluetooth: remove improper bluetooth class symlinks Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 43/79] class: move driver core specific parts to a private structure Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 44/79] class: rename "devices" to "class_devices" in internal class structure Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 45/79] class: rename "interfaces" to "class_interfaces" " Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 46/79] class: rename "subsys" to "class_subsys" " Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 47/79] class: rename "sem" to "class_sem" " Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 48/79] class: fix docbook comments for class_private structure Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 49/79] class: add lockdep infrastructure Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 50/79] class: change internal semaphore to a mutex Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 51/79] driver core: remove KOBJ_NAME_LEN define Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 52/79] driver core: remove DEVICE_NAME_SIZE define Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 53/79] driver core: remove DEVICE_ID_SIZE define Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 54/79] driver core: fix a lot of printk usages of bus_id Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 55/79] pnp: add acpi:* modalias entries Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 56/79] UIO: fix UIO Kconfig dependencies Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 57/79] UIO: Add write function to allow irq masking Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 58/79] UIO: add generic UIO platform driver Greg Kroah-Hartman
2008-07-22 11:34   ` Uwe Kleine-König
2008-07-22 17:13     ` Greg KH
2008-07-22  5:19 ` [PATCH 59/79] UIO: minor style and comment fixes Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 60/79] kobject: reorder kobject to save space on 64 bit builds Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 61/79] kobject: should use kobject_put() in kset-example Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 62/79] sysdev: fix debugging statements in registration code Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 63/79] sysfs: don't call notify_change Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 64/79] uio-howto.tmpl: use standard copyright/legal markings Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 65/79] uio-howto.tmpl: use unique output names Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 66/79] always enable FW_LOADER unless EMBEDDED=y Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 67/79] HOWTO: change email addresses of James in HOWTO Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 68/79] debugfs: Implement debugfs_remove_recursive() Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 69/79] sysfs-rules.txt: reword API stability statement Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 70/79] kobject: Transmit return value of call_usermodehelper() to caller Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 71/79] driver core: Suppress sysfs warnings for device_rename() Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 72/79] sysdev: Pass the attribute to the low level sysdev show/store function Greg Kroah-Hartman
2008-07-22 20:40   ` Andrew Morton
2008-07-22 20:49     ` Greg KH
2008-07-22 21:03       ` Andrew Morton [this message]
2008-07-22 21:19         ` Greg KH
2008-07-23  3:04           ` Stephen Rothwell
2008-07-23  4:22             ` Greg KH
2008-07-23  9:03               ` Ingo Molnar
2008-07-23 14:03                 ` Greg KH
2008-07-22  5:19 ` [PATCH 73/79] sysdev: Add utility functions for simple int/ulong variable sysdev attributes Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 74/79] sysdev: Convert the x86 mce tolerant sysdev attribute to generic attribute Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 75/79] HP iLO driver Greg Kroah-Hartman
2008-07-22 17:11   ` Altobelli, David
2008-07-22 17:16     ` Greg KH
2008-07-22  5:19 ` [PATCH 76/79] MTD: handle pci_name() being const Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 77/79] 3c59x: " Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 78/79] sparc64: fix up bus_id changes in sparc core code Greg Kroah-Hartman
2008-07-22  5:19 ` [PATCH 79/79] arm: bus_id -> dev_name() and dev_set_name() conversions Greg Kroah-Hartman

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=20080722140301.2a334f8c.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=ak@linux.intel.com \
    --cc=andi@firstfloor.org \
    --cc=gregkh@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tiwai@suse.de \
    /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.