Преглед на файлове

Merge commit 'v2.6.26' into sched/devel

Ingo Molnar преди 17 години
родител
ревизия
873a6ed628
променени са 4 файла, в които са добавени 23 реда и са изтрити 11 реда
  1. 1 1
      Documentation/HOWTO
  2. 1 1
      Makefile
  3. 18 6
      kernel/cpuset.c
  4. 3 3
      security/device_cgroup.c

+ 1 - 1
Documentation/HOWTO

@@ -377,7 +377,7 @@ Bug Reporting
 bugzilla.kernel.org is where the Linux kernel developers track kernel
 bugzilla.kernel.org is where the Linux kernel developers track kernel
 bugs.  Users are encouraged to report all bugs that they find in this
 bugs.  Users are encouraged to report all bugs that they find in this
 tool.  For details on how to use the kernel bugzilla, please see:
 tool.  For details on how to use the kernel bugzilla, please see:
-	http://test.kernel.org/bugzilla/faq.html
+	http://bugzilla.kernel.org/page.cgi?id=faq.html
 
 
 The file REPORTING-BUGS in the main kernel source directory has a good
 The file REPORTING-BUGS in the main kernel source directory has a good
 template for how to report a possible kernel bug, and details what kind
 template for how to report a possible kernel bug, and details what kind

+ 1 - 1
Makefile

@@ -1,7 +1,7 @@
 VERSION = 2
 VERSION = 2
 PATCHLEVEL = 6
 PATCHLEVEL = 6
 SUBLEVEL = 26
 SUBLEVEL = 26
-EXTRAVERSION = -rc9
+EXTRAVERSION =
 NAME = Rotary Wombat
 NAME = Rotary Wombat
 
 
 # *DOCUMENTATION*
 # *DOCUMENTATION*

+ 18 - 6
kernel/cpuset.c

@@ -1894,7 +1894,7 @@ static void scan_for_empty_cpusets(const struct cpuset *root)
  * in order to minimize text size.
  * in order to minimize text size.
  */
  */
 
 
-static void common_cpu_mem_hotplug_unplug(void)
+static void common_cpu_mem_hotplug_unplug(int rebuild_sd)
 {
 {
 	cgroup_lock();
 	cgroup_lock();
 
 
@@ -1906,7 +1906,8 @@ static void common_cpu_mem_hotplug_unplug(void)
 	 * Scheduler destroys domains on hotplug events.
 	 * Scheduler destroys domains on hotplug events.
 	 * Rebuild them based on the current settings.
 	 * Rebuild them based on the current settings.
 	 */
 	 */
-	rebuild_sched_domains();
+	if (rebuild_sd)
+		rebuild_sched_domains();
 
 
 	cgroup_unlock();
 	cgroup_unlock();
 }
 }
@@ -1924,11 +1925,22 @@ static void common_cpu_mem_hotplug_unplug(void)
 static int cpuset_handle_cpuhp(struct notifier_block *unused_nb,
 static int cpuset_handle_cpuhp(struct notifier_block *unused_nb,
 				unsigned long phase, void *unused_cpu)
 				unsigned long phase, void *unused_cpu)
 {
 {
-	if (phase == CPU_DYING || phase == CPU_DYING_FROZEN)
+	switch (phase) {
+	case CPU_UP_CANCELED:
+	case CPU_UP_CANCELED_FROZEN:
+	case CPU_DOWN_FAILED:
+	case CPU_DOWN_FAILED_FROZEN:
+	case CPU_ONLINE:
+	case CPU_ONLINE_FROZEN:
+	case CPU_DEAD:
+	case CPU_DEAD_FROZEN:
+		common_cpu_mem_hotplug_unplug(1);
+		break;
+	default:
 		return NOTIFY_DONE;
 		return NOTIFY_DONE;
+	}
 
 
-	common_cpu_mem_hotplug_unplug();
-	return 0;
+	return NOTIFY_OK;
 }
 }
 
 
 #ifdef CONFIG_MEMORY_HOTPLUG
 #ifdef CONFIG_MEMORY_HOTPLUG
@@ -1941,7 +1953,7 @@ static int cpuset_handle_cpuhp(struct notifier_block *unused_nb,
 
 
 void cpuset_track_online_nodes(void)
 void cpuset_track_online_nodes(void)
 {
 {
-	common_cpu_mem_hotplug_unplug();
+	common_cpu_mem_hotplug_unplug(0);
 }
 }
 #endif
 #endif
 
 

+ 3 - 3
security/device_cgroup.c

@@ -222,7 +222,7 @@ static void devcgroup_destroy(struct cgroup_subsys *ss,
 #define DEVCG_DENY 2
 #define DEVCG_DENY 2
 #define DEVCG_LIST 3
 #define DEVCG_LIST 3
 
 
-#define MAJMINLEN 10
+#define MAJMINLEN 13
 #define ACCLEN 4
 #define ACCLEN 4
 
 
 static void set_access(char *acc, short access)
 static void set_access(char *acc, short access)
@@ -254,7 +254,7 @@ static void set_majmin(char *str, unsigned m)
 	if (m == ~0)
 	if (m == ~0)
 		sprintf(str, "*");
 		sprintf(str, "*");
 	else
 	else
-		snprintf(str, MAJMINLEN, "%d", m);
+		snprintf(str, MAJMINLEN, "%u", m);
 }
 }
 
 
 static int devcgroup_seq_read(struct cgroup *cgroup, struct cftype *cft,
 static int devcgroup_seq_read(struct cgroup *cgroup, struct cftype *cft,
@@ -300,7 +300,7 @@ static int may_access_whitelist(struct dev_cgroup *c,
 			continue;
 			continue;
 		if (whitem->minor != ~0 && whitem->minor != refwh->minor)
 		if (whitem->minor != ~0 && whitem->minor != refwh->minor)
 			continue;
 			continue;
-		if (refwh->access & (~(whitem->access | ACC_MASK)))
+		if (refwh->access & (~whitem->access))
 			continue;
 			continue;
 		return 1;
 		return 1;
 	}
 	}