1. 25 3月, 2009 7 次提交
  2. 11 3月, 2009 1 次提交
    • R
      mm: get_nid_for_pfn() returns int · 47504980
      Roel Kluin 提交于
      get_nid_for_pfn() returns int
      
      Presumably the (nid < 0) case has never happened.
      
      We do know that it is happening on one system while creating a symlink for
      a memory section so it should also happen on the same system if
      unregister_mem_sect_under_nodes() were called to remove the same symlink.
      
      The test was actually added in response to a problem with an earlier
      version reported by Yasunori Goto where one or more of the leading pages
      of a memory section on the 2nd node of one of his systems was
      uninitialized because I believe they coincided with a memory hole.
      
      That earlier version did not ignore uninitialized pages and determined
      the nid by considering only the 1st page of each memory section.  This
      caused the symlink to the 1st memory section on the 2nd node to be
      incorrectly created in /sys/devices/system/node/node0 instead of
      /sys/devices/system/node/node1.  The problem was fixed by adding the
      test to skip over uninitialized pages.
      
      I suspect we have not seen any reports of the non-removal
      of a symlink due to the incorrect declaration of the nid
      variable in unregister_mem_sect_under_nodes() because
        - systems where a memory section could have an uninitialized
          range of leading pages are probably rare.
        - memory remove is probably not done very frequently on the
          systems that are capable of demonstrating the problem.
        - lingering symlink(s) that should have been removed may
          have simply gone unnoticed.
      
      [garyhade@us.ibm.com: wrote changelog]
      Signed-off-by: NRoel Kluin <roel.kluin@gmail.com>
      Cc: Gary Hade <garyhade@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      47504980
  3. 23 2月, 2009 2 次提交
  4. 22 2月, 2009 1 次提交
  5. 29 1月, 2009 1 次提交
  6. 21 1月, 2009 1 次提交
    • R
      driver core: Convert '/' to '!' in dev_set_name() · 7143f7a1
      Roland Dreier 提交于
      Commit 3ada8b7e ("block: struct device - replace bus_id with dev_name(),
      dev_set_name()") deleted the code in register_disk() that changed a '/'
      to a '!' in the device name when registering a disk, but dev_set_name()
      does not perform this conversion.
      
      This leads to amusing problems with disks that have '/' in their names:
      for example a failure to boot with the root partition on a cciss device,
      even though the kernel says it knows about the root device:
      
          VFS: Cannot open root device "cciss/c0d0p6" or unknown-block(0,0)
          Please append a correct "root=" boot option; here are the available partitions:
          6800        71652960 cciss/c0d0 driver: cciss
            6802               1 cciss/c0d0p2
            6805         2931831 cciss/c0d0p5
            6806        34354908 cciss/c0d0p6
          6810        71652960 cciss/c0d1 driver: cciss
      
      Fix this by adding code to change '/' to '!' in dev_set_name() to handle
      this until dev_set_name() is converted to use kobject_set_name().
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      Acked-by: NKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7143f7a1
  7. 10 1月, 2009 4 次提交
  8. 08 1月, 2009 1 次提交
    • D
      topology: Fix sparc64 build. · b13d3720
      David Miller 提交于
      Due to changeset ba84be23 ("remove
      linux/hardirq.h from asm-generic/local.h") the sparc64 build started
      failing on drivers/base/topology.c:
      
        drivers/base/topology.c: In function ‘show_physical_package_id’:
        drivers/base/topology.c:103: error: implicit declaration of function ‘cpu_data’
        drivers/base/topology.c:103: error: request for member ‘proc_id’ in something not a structure or union
        drivers/base/topology.c: In function ‘show_core_id’:
        drivers/base/topology.c:106: error: request for member ‘core_id’ in something not a structure or union
      
      Adding the obvious fix of including asm/cpudata.h into asm/topology.h on
      sparc64 doesn't fix it, in fact it makes things worse because of the
      header file dependency chain:
      
      	linux/gfp.h --> linux/mmzone.h --> linux/topology.h -->
      	asm/topology.h --> asm/cpudata.h --> linux/percpu.h -->
      	linux/slab.h
      
      which results in:
      
        include/linux/slub_def.h: In function ‘kmalloc_large’:
        include/linux/slub_def.h:209: error: implicit declaration of function ‘__get_free_pages’
        include/linux/slub_def.h:209: error: ‘__GFP_COMP’ undeclared (first use in this function)
        include/linux/slub_def.h:209: error: (Each undeclared identifier is reported only once
        include/linux/slub_def.h:209: error: for each function it appears in.)
        include/linux/slub_def.h:209: warning: cast to pointer from integer of different size
      
      The simplest thing to do is to add yet another one-off hack like parts
      of the guilty changeset did, by putting an explicit linux/hardirq.h
      include into drivers/base/topology.c
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b13d3720
  9. 07 1月, 2009 10 次提交
  10. 06 1月, 2009 1 次提交
  11. 04 1月, 2009 1 次提交
  12. 03 1月, 2009 2 次提交
  13. 19 12月, 2008 1 次提交
    • M
      cpumask: add sysfs displays for configured and disabled cpu maps · e057d7ae
      Mike Travis 提交于
      Impact: add new sysfs files.
      
      Add sysfs files "kernel_max" and "offline" to display the max CPU index
      allowed (NR_CPUS-1), and the map of cpus that are offline.
      
      Cpus can be offlined via HOTPLUG, disabled by the BIOS ACPI tables, or
      if they exceed the number of cpus allowed by the NR_CPUS config option,
      or the "maxcpus=NUM" kernel start parameter.
      
      The "possible_cpus=NUM" parameter can also extend the number of possible
      cpus allowed, in which case the cpus not present at startup will be
      in the offline state.  (These cpus can be HOTPLUGGED ON after system
      startup [pending a follow-on patch to provide the capability via the
      /sys/devices/sys/cpu/cpuN/online mechanism to bring them online.])
      
      By design, the "offlined cpus > possible cpus" display will always
      use the following formats:
      
        * all possible cpus online:   "x$"    or "x-y$"
        * some possible cpus offline: ".*,x$" or ".*,x-y$"
      
      where:
        x == number of possible cpus (nr_cpu_ids); and
        y == number of cpus >= NR_CPUS or maxcpus (if y > x).
      
      One use of this feature is for distros to select (or configure) the
      appropriate kernel to install for the resident system.
      
      Notes:
        * cpus offlined <= possible cpus will be printed for all architectures.
        * cpus offlined >  possible cpus will only be printed for arches that
        	set 'total_cpus' [X86 only in this patch].
      
      Based on tip/cpus4096 + .../rusty/linux-2.6-for-ingo.git/master +
      	 x86-only-patches sent 12/15.
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      e057d7ae
  14. 13 12月, 2008 1 次提交
    • R
      cpumask: change cpumask_scnprintf, cpumask_parse_user, cpulist_parse, and... · 29c0177e
      Rusty Russell 提交于
      cpumask: change cpumask_scnprintf, cpumask_parse_user, cpulist_parse, and cpulist_scnprintf to take pointers.
      
      Impact: change calling convention of existing cpumask APIs
      
      Most cpumask functions started with cpus_: these have been replaced by
      cpumask_ ones which take struct cpumask pointers as expected.
      
      These four functions don't have good replacement names; fortunately
      they're rarely used, so we just change them over.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NMike Travis <travis@sgi.com>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Cc: paulus@samba.org
      Cc: mingo@redhat.com
      Cc: tony.luck@intel.com
      Cc: ralf@linux-mips.org
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      Cc: cl@linux-foundation.org
      Cc: srostedt@redhat.com
      29c0177e
  15. 30 10月, 2008 2 次提交
  16. 20 10月, 2008 4 次提交