Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] update sn2 defconfig
[IA64] Add mca recovery failure messages
[IA64-SGI] fix SGI Altix tioce_reserve_m32() bug
[IA64] enable dumps to capture second page of kernel stack
[IA64-SGI] - Reduce overhead of reading sn_topology
[IA64-SGI] - Fix discover of nearest cpu node to IO node
[IA64] IOC4 config option ordering
[IA64] Setup an IA64 specific reclaim distance
[IA64] eliminate compile time warnings
[IA64] eliminate compile time warnings
[IA64-SGI] SN SAL call to inject memory errors
[IA64] - Fix MAX_PXM_DOMAINS for systems with > 256 nodes
[IA64] Remove unused variable in sn_sal.h
[IA64] Remove redundant NULL checks before kfree
[IA64] wire up compat_sys_adjtimex()

+128 -80
+2
arch/ia64/Kconfig
··· 413 413 config SGI_SN 414 414 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC) 415 415 416 + source "drivers/sn/Kconfig" 417 + 416 418 source "drivers/firmware/Kconfig" 417 419 418 420 source "fs/Kconfig.binfmt"
+45 -31
arch/ia64/configs/sn2_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.16-rc5 4 - # Mon Feb 27 16:06:38 2006 3 + # Linux kernel version: 2.6.17-rc3 4 + # Thu Apr 27 11:48:23 2006 5 5 # 6 6 7 7 # ··· 24 24 # CONFIG_AUDIT is not set 25 25 # CONFIG_IKCONFIG is not set 26 26 CONFIG_CPUSETS=y 27 + CONFIG_RELAY=y 27 28 CONFIG_INITRAMFS_SOURCE="" 28 29 CONFIG_CC_OPTIMIZE_FOR_SIZE=y 29 30 # CONFIG_EMBEDDED is not set ··· 39 38 CONFIG_FUTEX=y 40 39 CONFIG_EPOLL=y 41 40 CONFIG_SHMEM=y 42 - CONFIG_CC_ALIGN_FUNCTIONS=0 43 - CONFIG_CC_ALIGN_LABELS=0 44 - CONFIG_CC_ALIGN_LOOPS=0 45 - CONFIG_CC_ALIGN_JUMPS=0 46 41 CONFIG_SLAB=y 47 42 # CONFIG_TINY_SHMEM is not set 48 43 CONFIG_BASE_SMALL=0 ··· 50 53 CONFIG_MODULES=y 51 54 CONFIG_MODULE_UNLOAD=y 52 55 # CONFIG_MODULE_FORCE_UNLOAD is not set 53 - CONFIG_OBSOLETE_MODPARM=y 54 56 # CONFIG_MODVERSIONS is not set 55 57 # CONFIG_MODULE_SRCVERSION_ALL is not set 56 58 CONFIG_KMOD=y ··· 58 62 # 59 63 # Block layer 60 64 # 65 + # CONFIG_BLK_DEV_IO_TRACE is not set 61 66 62 67 # 63 68 # IO Schedulers ··· 81 84 CONFIG_MMU=y 82 85 CONFIG_SWIOTLB=y 83 86 CONFIG_RWSEM_XCHGADD_ALGORITHM=y 87 + CONFIG_GENERIC_FIND_NEXT_BIT=y 84 88 CONFIG_GENERIC_CALIBRATE_DELAY=y 85 89 CONFIG_TIME_INTERPOLATION=y 90 + CONFIG_DMI=y 86 91 CONFIG_EFI=y 87 92 CONFIG_GENERIC_IOMAP=y 88 93 CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y ··· 115 116 CONFIG_FORCE_MAX_ZONEORDER=17 116 117 CONFIG_SMP=y 117 118 CONFIG_NR_CPUS=1024 118 - CONFIG_IA64_NR_NODES=256 119 119 # CONFIG_HOTPLUG_CPU is not set 120 120 CONFIG_SCHED_SMT=y 121 121 CONFIG_PREEMPT=y ··· 134 136 CONFIG_ARCH_SPARSEMEM_ENABLE=y 135 137 CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y 136 138 CONFIG_NUMA=y 139 + CONFIG_NODES_SHIFT=8 137 140 CONFIG_VIRTUAL_MEM_MAP=y 138 141 CONFIG_HOLES_IN_ZONE=y 139 142 CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y ··· 186 187 CONFIG_PCI=y 187 188 CONFIG_PCI_DOMAINS=y 188 189 # CONFIG_PCI_MSI is not set 189 - CONFIG_PCI_LEGACY_PROC=y 190 190 # CONFIG_PCI_DEBUG is not set 191 191 192 192 # ··· 229 231 # CONFIG_INET_AH is not set 230 232 # CONFIG_INET_ESP is not set 231 233 # CONFIG_INET_IPCOMP is not set 234 + # CONFIG_INET_XFRM_TUNNEL is not set 232 235 # CONFIG_INET_TUNNEL is not set 233 236 CONFIG_INET_DIAG=m 234 237 CONFIG_INET_TCP_DIAG=m ··· 237 238 CONFIG_TCP_CONG_BIC=y 238 239 CONFIG_IPV6=m 239 240 # CONFIG_IPV6_PRIVACY is not set 241 + # CONFIG_IPV6_ROUTER_PREF is not set 240 242 # CONFIG_INET6_AH is not set 241 243 # CONFIG_INET6_ESP is not set 242 244 # CONFIG_INET6_IPCOMP is not set 245 + # CONFIG_INET6_XFRM_TUNNEL is not set 243 246 # CONFIG_INET6_TUNNEL is not set 244 247 # CONFIG_IPV6_TUNNEL is not set 245 248 # CONFIG_NETFILTER is not set ··· 469 468 # CONFIG_SCSI_INIA100 is not set 470 469 # CONFIG_SCSI_SYM53C8XX_2 is not set 471 470 # CONFIG_SCSI_IPR is not set 472 - # CONFIG_SCSI_QLOGIC_FC is not set 473 471 CONFIG_SCSI_QLOGIC_1280=y 474 - # CONFIG_SCSI_QLA_FC is not set 472 + CONFIG_SCSI_QLA_FC=y 473 + CONFIG_SCSI_QLA2XXX_EMBEDDED_FIRMWARE=y 474 + # CONFIG_SCSI_QLA21XX is not set 475 + CONFIG_SCSI_QLA22XX=y 476 + CONFIG_SCSI_QLA2300=y 477 + CONFIG_SCSI_QLA2322=y 478 + # CONFIG_SCSI_QLA24XX is not set 475 479 # CONFIG_SCSI_LPFC is not set 476 480 # CONFIG_SCSI_DC395x is not set 477 481 # CONFIG_SCSI_DC390T is not set ··· 492 486 CONFIG_MD_RAID1=y 493 487 # CONFIG_MD_RAID10 is not set 494 488 CONFIG_MD_RAID5=y 489 + # CONFIG_MD_RAID5_RESHAPE is not set 495 490 # CONFIG_MD_RAID6 is not set 496 491 CONFIG_MD_MULTIPATH=y 497 492 # CONFIG_MD_FAULTY is not set ··· 701 694 # Ftape, the floppy tape device driver 702 695 # 703 696 CONFIG_AGP=y 697 + # CONFIG_AGP_VIA is not set 704 698 CONFIG_AGP_SGI_TIOCA=y 705 699 # CONFIG_DRM is not set 706 700 CONFIG_RAW_DRIVER=m ··· 743 735 # 744 736 745 737 # 746 - # Multimedia Capabilities Port drivers 747 - # 748 - 749 - # 750 738 # Multimedia devices 751 739 # 752 740 # CONFIG_VIDEO_DEV is not set ··· 751 747 # Digital Video Broadcasting Devices 752 748 # 753 749 # CONFIG_DVB is not set 750 + # CONFIG_USB_DABUSB is not set 754 751 755 752 # 756 753 # Graphics support ··· 762 757 # Console display driver support 763 758 # 764 759 CONFIG_VGA_CONSOLE=y 760 + # CONFIG_VGACON_SOFT_SCROLLBACK is not set 765 761 CONFIG_DUMMY_CONSOLE=y 766 762 767 763 # ··· 775 769 # 776 770 CONFIG_USB_ARCH_HAS_HCD=y 777 771 CONFIG_USB_ARCH_HAS_OHCI=y 772 + CONFIG_USB_ARCH_HAS_EHCI=y 778 773 CONFIG_USB=m 779 774 # CONFIG_USB_DEBUG is not set 780 775 ··· 836 829 # CONFIG_USB_ACECAD is not set 837 830 # CONFIG_USB_KBTAB is not set 838 831 # CONFIG_USB_POWERMATE is not set 839 - # CONFIG_USB_MTOUCH is not set 840 - # CONFIG_USB_ITMTOUCH is not set 841 - # CONFIG_USB_EGALAX is not set 832 + # CONFIG_USB_TOUCHSCREEN is not set 842 833 # CONFIG_USB_YEALINK is not set 843 834 # CONFIG_USB_XPAD is not set 844 835 # CONFIG_USB_ATI_REMOTE is not set ··· 849 844 # 850 845 # CONFIG_USB_MDC800 is not set 851 846 # CONFIG_USB_MICROTEK is not set 852 - 853 - # 854 - # USB Multimedia devices 855 - # 856 - # CONFIG_USB_DABUSB is not set 857 - 858 - # 859 - # Video4Linux support is needed for USB Multimedia device support 860 - # 861 847 862 848 # 863 849 # USB Network Adapters ··· 901 905 # CONFIG_MMC is not set 902 906 903 907 # 908 + # LED devices 909 + # 910 + # CONFIG_NEW_LEDS is not set 911 + 912 + # 913 + # LED drivers 914 + # 915 + 916 + # 917 + # LED Triggers 918 + # 919 + 920 + # 904 921 # InfiniBand support 905 922 # 906 923 CONFIG_INFINIBAND=m 907 924 # CONFIG_INFINIBAND_USER_MAD is not set 908 925 CONFIG_INFINIBAND_USER_ACCESS=m 909 926 CONFIG_INFINIBAND_MTHCA=m 910 - # CONFIG_INFINIBAND_MTHCA_DEBUG is not set 927 + CONFIG_INFINIBAND_MTHCA_DEBUG=y 911 928 CONFIG_INFINIBAND_IPOIB=m 912 - # CONFIG_INFINIBAND_IPOIB_DEBUG is not set 929 + CONFIG_INFINIBAND_IPOIB_DEBUG=y 930 + # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set 913 931 CONFIG_INFINIBAND_SRP=m 914 932 915 933 # ··· 933 923 CONFIG_SGI_IOC3=y 934 924 935 925 # 936 - # EDAC - error detection and reporting (RAS) 926 + # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) 937 927 # 928 + 929 + # 930 + # Real Time Clock 931 + # 932 + # CONFIG_RTC_CLASS is not set 938 933 939 934 # 940 935 # File systems ··· 1012 997 CONFIG_HUGETLBFS=y 1013 998 CONFIG_HUGETLB_PAGE=y 1014 999 CONFIG_RAMFS=y 1015 - CONFIG_RELAYFS_FS=m 1016 1000 # CONFIG_CONFIGFS_FS is not set 1017 1001 1018 1002 #
+3
arch/ia64/ia32/binfmt_elf32.c
··· 35 35 36 36 static void elf32_set_personality (void); 37 37 38 + static unsigned long __attribute ((unused)) 39 + randomize_stack_top(unsigned long stack_top); 40 + 38 41 #define setup_arg_pages(bprm,tos,exec) ia32_setup_arg_pages(bprm,exec) 39 42 #define elf_map elf32_map 40 43
+1 -1
arch/ia64/ia32/ia32_entry.S
··· 334 334 data8 sys_setdomainname 335 335 data8 sys32_newuname 336 336 data8 sys32_modify_ldt 337 - data8 sys_ni_syscall /* adjtimex */ 337 + data8 compat_sys_adjtimex 338 338 data8 sys32_mprotect /* 125 */ 339 339 data8 compat_sys_sigprocmask 340 340 data8 sys_ni_syscall /* create_module */
+36 -18
arch/ia64/kernel/mca_drv.c
··· 62 62 ISOLATE_NONE 63 63 } isolate_status_t; 64 64 65 + typedef enum { 66 + MCA_NOT_RECOVERED = 0, 67 + MCA_RECOVERED = 1 68 + } recovery_status_t; 69 + 65 70 /* 66 71 * This pool keeps pointers to the section part of SAL error record 67 72 */ ··· 75 70 int cur_idx; /* Current index of section pointer list pool */ 76 71 int max_idx; /* Maximum index of section pointer list pool */ 77 72 } slidx_pool; 73 + 74 + static int 75 + fatal_mca(const char *fmt, ...) 76 + { 77 + va_list args; 78 + 79 + va_start(args, fmt); 80 + vprintk(fmt, args); 81 + va_end(args); 82 + 83 + return MCA_NOT_RECOVERED; 84 + } 78 85 79 86 /** 80 87 * mca_page_isolate - isolate a poisoned page in order not to use it later ··· 441 424 442 425 /* Is target address valid? */ 443 426 if (!pbci->tv) 444 - return 0; 427 + return fatal_mca(KERN_ALERT "MCA: target address not valid\n"); 445 428 446 429 /* 447 430 * cpu read or memory-mapped io read ··· 459 442 460 443 /* Is minstate valid? */ 461 444 if (!peidx_bottom(peidx) || !(peidx_bottom(peidx)->valid.minstate)) 462 - return 0; 445 + return fatal_mca(KERN_ALERT "MCA: minstate not valid\n"); 463 446 psr1 =(struct ia64_psr *)&(peidx_minstate_area(peidx)->pmsa_ipsr); 464 447 psr2 =(struct ia64_psr *)&(peidx_minstate_area(peidx)->pmsa_xpsr); 465 448 ··· 493 476 psr2->bn = 1; 494 477 psr2->i = 0; 495 478 496 - return 1; 479 + return MCA_RECOVERED; 497 480 } 498 481 499 482 } 500 483 501 - return 0; 484 + return fatal_mca(KERN_ALERT "MCA: kernel context not recovered," 485 + " iip 0x%lx\n", pmsa->pmsa_iip); 502 486 } 503 487 504 488 /** ··· 585 567 * The machine check is corrected. 586 568 */ 587 569 if (psp->cm == 1) 588 - return 1; 570 + return MCA_RECOVERED; 589 571 590 572 /* 591 573 * The error was not contained. Software must be reset. 592 574 */ 593 575 if (psp->us || psp->ci == 0) 594 - return 0; 576 + return fatal_mca(KERN_ALERT "MCA: error not contained\n"); 595 577 596 578 /* 597 579 * The cache check and bus check bits have four possible states ··· 602 584 * 1 1 Memory error, attempt recovery 603 585 */ 604 586 if (psp->bc == 0 || pbci == NULL) 605 - return 0; 587 + return fatal_mca(KERN_ALERT "MCA: No bus check\n"); 606 588 607 589 /* 608 590 * Sorry, we cannot handle so many. 609 591 */ 610 592 if (peidx_bus_check_num(peidx) > 1) 611 - return 0; 593 + return fatal_mca(KERN_ALERT "MCA: Too many bus checks\n"); 612 594 /* 613 595 * Well, here is only one bus error. 614 596 */ 615 - if (pbci->ib || pbci->cc) 616 - return 0; 597 + if (pbci->ib) 598 + return fatal_mca(KERN_ALERT "MCA: Internal Bus error\n"); 599 + if (pbci->cc) 600 + return fatal_mca(KERN_ALERT "MCA: Cache-cache error\n"); 617 601 if (pbci->eb && pbci->bsi > 0) 618 - return 0; 602 + return fatal_mca(KERN_ALERT "MCA: External bus check fatal status\n"); 619 603 620 604 /* 621 605 * This is a local MCA and estimated as recoverble external bus error. ··· 629 609 /* 630 610 * On account of strange SAL error record, we cannot recover. 631 611 */ 632 - return 0; 612 + return fatal_mca(KERN_ALERT "MCA: Strange SAL record\n"); 633 613 } 634 614 635 615 /** ··· 658 638 659 639 /* Now, OS can recover when there is one processor error section */ 660 640 if (n_proc_err > 1) 661 - return 0; 662 - else if (n_proc_err == 0) { 641 + return fatal_mca(KERN_ALERT "MCA: Too Many Errors\n"); 642 + else if (n_proc_err == 0) 663 643 /* Weird SAL record ... We need not to recover */ 664 - 665 - return 1; 666 - } 644 + return fatal_mca(KERN_ALERT "MCA: Weird SAL record\n"); 667 645 668 646 /* Make index of processor error section */ 669 647 mca_make_peidx((sal_log_processor_info_t*) ··· 672 654 673 655 /* Check whether MCA is global or not */ 674 656 if (is_mca_global(&peidx, &pbci, sos)) 675 - return 0; 657 + return fatal_mca(KERN_ALERT "MCA: global MCA\n"); 676 658 677 659 /* Try to recover a processor error */ 678 660 return recover_from_processor_error(platform_err, &slidx, &peidx,
+2 -5
arch/ia64/kernel/topology.c
··· 305 305 306 306 static void __cpuinit cpu_cache_sysfs_exit(unsigned int cpu) 307 307 { 308 - if (all_cpu_cache_info[cpu].cache_leaves) { 309 - kfree(all_cpu_cache_info[cpu].cache_leaves); 310 - all_cpu_cache_info[cpu].cache_leaves = NULL; 311 - } 308 + kfree(all_cpu_cache_info[cpu].cache_leaves); 309 + all_cpu_cache_info[cpu].cache_leaves = NULL; 312 310 all_cpu_cache_info[cpu].num_cache_leaves = 0; 313 311 memset(&all_cpu_cache_info[cpu].kobj, 0, sizeof(struct kobject)); 314 - 315 312 return; 316 313 } 317 314
+1 -2
arch/ia64/pci/pci.c
··· 31 31 #include <asm/irq.h> 32 32 #include <asm/hw_irq.h> 33 33 34 - 35 34 /* 36 35 * Low-level SAL-based PCI configuration access functions. Note that SAL 37 36 * calls are already serialized (via sal_lock), so we don't need another ··· 706 707 * 707 708 * Simply writes @size bytes of @val to @port. 708 709 */ 709 - int ia64_pci_legacy_write(struct pci_dev *bus, u16 port, u32 val, u8 size) 710 + int ia64_pci_legacy_write(struct pci_bus *bus, u16 port, u32 val, u8 size) 710 711 { 711 712 int ret = size; 712 713
+4 -4
arch/ia64/sn/kernel/sn2/sn_hwperf.c
··· 284 284 /* find nearest node with cpus and nearest memory */ 285 285 for (router=NULL, j=0; j < op->ports; j++) { 286 286 dest = sn_hwperf_findobj_id(objbuf, nobj, ptdata[j].conn_id); 287 + if (dest && SN_HWPERF_IS_ROUTER(dest)) 288 + router = dest; 287 289 if (!dest || SN_HWPERF_FOREIGN(dest) || 288 290 !SN_HWPERF_IS_NODE(dest) || SN_HWPERF_IS_IONODE(dest)) { 289 291 continue; ··· 301 299 *near_mem_node = c; 302 300 found_mem++; 303 301 } 304 - if (SN_HWPERF_IS_ROUTER(dest)) 305 - router = dest; 306 302 } 307 303 308 304 if (router && (!found_cpu || !found_mem)) { ··· 493 493 * numalink ports 494 494 */ 495 495 sz = obj->ports * sizeof(struct sn_hwperf_port_info); 496 - if ((ptdata = vmalloc(sz)) == NULL) 496 + if ((ptdata = kmalloc(sz, GFP_KERNEL)) == NULL) 497 497 return -ENOMEM; 498 498 e = ia64_sn_hwperf_op(sn_hwperf_master_nasid, 499 499 SN_HWPERF_ENUM_PORTS, obj->id, sz, ··· 541 541 (SN_HWPERF_IS_NL3ROUTER(obj) || 542 542 SN_HWPERF_IS_NL3ROUTER(p)) ? "LLP3" : "LLP4"); 543 543 } 544 - vfree(ptdata); 544 + kfree(ptdata); 545 545 } 546 546 547 547 return 0;
+2 -6
arch/ia64/sn/kernel/xpc_partition.c
··· 136 136 } 137 137 138 138 if (L1_CACHE_ALIGN(len) > buf_len) { 139 - if (buf_base != NULL) { 140 - kfree(buf_base); 141 - } 139 + kfree(buf_base); 142 140 buf_len = L1_CACHE_ALIGN(len); 143 141 buf = (u64) xpc_kmalloc_cacheline_aligned(buf_len, 144 142 GFP_KERNEL, &buf_base); ··· 157 159 } 158 160 } 159 161 160 - if (buf_base != NULL) { 161 - kfree(buf_base); 162 - } 162 + kfree(buf_base); 163 163 164 164 if (status != SALRET_OK) { 165 165 rp_pa = 0;
+3 -3
arch/ia64/sn/pci/tioce_provider.c
··· 682 682 int ate_index, last_ate, ps; 683 683 struct tioce *ce_mmr; 684 684 685 - if (!TIOCE_M32_ADDR(base)) 686 - return; 687 - 688 685 ce_mmr = (struct tioce *)ce_kern->ce_common->ce_pcibus.bs_base; 689 686 ps = ce_kern->ce_ate3240_pagesize; 690 687 ate_index = ATE_PAGE(base, ps); ··· 689 692 690 693 if (ate_index < 64) 691 694 ate_index = 64; 695 + 696 + if (last_ate >= TIOCE_NUM_M3240_ATES) 697 + last_ate = TIOCE_NUM_M3240_ATES - 1; 692 698 693 699 while (ate_index <= last_ate) { 694 700 u64 ate;
-2
drivers/Kconfig
··· 68 68 69 69 source "drivers/infiniband/Kconfig" 70 70 71 - source "drivers/sn/Kconfig" 72 - 73 71 source "drivers/edac/Kconfig" 74 72 75 73 source "drivers/rtc/Kconfig"
+2 -3
include/asm-ia64/acpi.h
··· 110 110 extern int additional_cpus; 111 111 112 112 #ifdef CONFIG_ACPI_NUMA 113 - /* Proximity bitmap length; _PXM is at most 255 (8 bit)*/ 114 - #ifdef CONFIG_IA64_NR_NODES 115 - #define MAX_PXM_DOMAINS CONFIG_IA64_NR_NODES 113 + #if MAX_NUMNODES > 256 114 + #define MAX_PXM_DOMAINS MAX_NUMNODES 116 115 #else 117 116 #define MAX_PXM_DOMAINS (256) 118 117 #endif
+2
include/asm-ia64/machvec.h
··· 347 347 #endif 348 348 #ifndef platform_pci_legacy_read 349 349 # define platform_pci_legacy_read ia64_pci_legacy_read 350 + extern int ia64_pci_legacy_read(struct pci_bus *bus, u16 port, u32 *val, u8 size); 350 351 #endif 351 352 #ifndef platform_pci_legacy_write 352 353 # define platform_pci_legacy_write ia64_pci_legacy_write 354 + extern int ia64_pci_legacy_write(struct pci_bus *bus, u16 port, u32 val, u8 size); 353 355 #endif 354 356 #ifndef platform_inb 355 357 # define platform_inb __ia64_inb
+5 -1
include/asm-ia64/sn/sn2/sn_hwperf.h
··· 45 45 #define SN_HWPERF_IS_NODE(x) ((x) && strstr((x)->name, "SHub")) 46 46 #define SN_HWPERF_IS_NODE_SHUB2(x) ((x) && strstr((x)->name, "SHub 2.")) 47 47 #define SN_HWPERF_IS_IONODE(x) ((x) && strstr((x)->name, "TIO")) 48 - #define SN_HWPERF_IS_ROUTER(x) ((x) && strstr((x)->name, "Router")) 49 48 #define SN_HWPERF_IS_NL3ROUTER(x) ((x) && strstr((x)->name, "NL3Router")) 49 + #define SN_HWPERF_IS_NL4ROUTER(x) ((x) && strstr((x)->name, "NL4Router")) 50 + #define SN_HWPERF_IS_OLDROUTER(x) ((x) && strstr((x)->name, "Router")) 51 + #define SN_HWPERF_IS_ROUTER(x) (SN_HWPERF_IS_NL3ROUTER(x) || \ 52 + SN_HWPERF_IS_NL4ROUTER(x) || \ 53 + SN_HWPERF_IS_OLDROUTER(x)) 50 54 #define SN_HWPERF_FOREIGN(x) ((x) && !(x)->sn_hwp_this_part && !(x)->sn_hwp_is_shared) 51 55 #define SN_HWPERF_SAME_OBJTYPE(x,y) ((SN_HWPERF_IS_NODE(x) && SN_HWPERF_IS_NODE(y)) ||\ 52 56 (SN_HWPERF_IS_IONODE(x) && SN_HWPERF_IS_IONODE(y)) ||\
+14 -3
include/asm-ia64/sn/sn_sal.h
··· 8 8 * License. See the file "COPYING" in the main directory of this archive 9 9 * for more details. 10 10 * 11 - * Copyright (c) 2000-2005 Silicon Graphics, Inc. All rights reserved. 11 + * Copyright (c) 2000-2006 Silicon Graphics, Inc. All rights reserved. 12 12 */ 13 13 14 14 ··· 85 85 86 86 #define SN_SAL_GET_PROM_FEATURE_SET 0x02000065 87 87 #define SN_SAL_SET_OS_FEATURE_SET 0x02000066 88 + #define SN_SAL_INJECT_ERROR 0x02000067 88 89 89 90 /* 90 91 * Service-specific constants ··· 706 705 sn_change_memprotect(u64 paddr, u64 len, u64 perms, u64 *nasid_array) 707 706 { 708 707 struct ia64_sal_retval ret_stuff; 709 - int cnodeid; 710 708 unsigned long irq_flags; 711 709 712 - cnodeid = nasid_to_cnodeid(get_node_number(paddr)); 713 710 local_irq_save(irq_flags); 714 711 ia64_sal_oemcall_nolock(&ret_stuff, SN_SAL_MEMPROTECT, paddr, len, 715 712 (u64)nasid_array, perms, 0, 0, 0); ··· 1139 1140 return rv.status; 1140 1141 } 1141 1142 1143 + static inline int 1144 + sn_inject_error(u64 paddr, u64 *data, u64 *ecc) 1145 + { 1146 + struct ia64_sal_retval ret_stuff; 1147 + unsigned long irq_flags; 1148 + 1149 + local_irq_save(irq_flags); 1150 + ia64_sal_oemcall_nolock(&ret_stuff, SN_SAL_INJECT_ERROR, paddr, (u64)data, 1151 + (u64)ecc, 0, 0, 0, 0); 1152 + local_irq_restore(irq_flags); 1153 + return ret_stuff.status; 1154 + } 1142 1155 #endif /* _ASM_IA64_SN_SN_SAL_H */
+1 -1
include/asm-ia64/thread_info.h
··· 67 67 #define end_of_stack(p) (unsigned long *)((void *)(p) + IA64_RBS_OFFSET) 68 68 69 69 #define __HAVE_ARCH_TASK_STRUCT_ALLOCATOR 70 - #define alloc_task_struct() ((task_t *)__get_free_pages(GFP_KERNEL, KERNEL_STACK_SIZE_ORDER)) 70 + #define alloc_task_struct() ((task_t *)__get_free_pages(GFP_KERNEL | __GFP_COMP, KERNEL_STACK_SIZE_ORDER)) 71 71 #define free_task_struct(tsk) free_pages((unsigned long) (tsk), KERNEL_STACK_SIZE_ORDER) 72 72 73 73 #endif /* !__ASSEMBLY */
+5
include/asm-ia64/topology.h
··· 23 23 #define PENALTY_FOR_NODE_WITH_CPUS 255 24 24 25 25 /* 26 + * Distance above which we begin to use zone reclaim 27 + */ 28 + #define RECLAIM_DISTANCE 15 29 + 30 + /* 26 31 * Returns the number of the node containing CPU 'cpu' 27 32 */ 28 33 #define cpu_to_node(cpu) (int)(cpu_to_node_map[cpu])