NUMA

Non-Uniform Memory Access

Supplemental Response 23 October 2003 (63-A)

Pages 7-19: Linux kernel 2.5.69

This document, dated the 23rd day of October 20003 (sic), listed 591 files "which may, on information and belief, include information (including methods) that IBM was required to maintain as confidential or proprietary pursuant to contract with SCO and/or which constitute trade secrets misused by IBM are found within Linux 2.4 and/or Linux 2.5 kernels under the following source file headings". There followed what was apparently a lightly filtered list of every file in the Linux 2.5.69 kernel [download] that contain the words "SMP", "RCU" and "NUMA", plus all the JFS files. See Frank Sorenson's superb analysis. Of those 591 files, the 39 files listed below are those that contain the word "NUMA".

arch/i386/mm/discontig.c
arch/i386/pci/common.c, numa.c
arch/ia64/kernel/acpi.c, ia64_ksyms.c, smpboot.c
arch/ia64/mm/numa.c
arch/ia64/sn/io/alenlist.c
arch/mips64/sgi-ip27/ip27-memory.c
arch/ppc64/kernel/prom.c
arch/ppc64/mm/numa.c
arch/x86_64/kernel/e820.c, head64.c
arch/x86_64/mm/k8topology.c, numa.c
arch/x86_64/pci/common.c
include/asm-arm/arch-clps711x/memory.h
include/asm-arm/arch-sa1100/memory.h
include/asm-i386/mach-numaq/mach_apic.h, mach_mpparse.h
include/asm-i386/mach-numaq
include/asm-i386/mmzone.h, mpspec.h
include/asm-ia64/acpi.h, mmzone.h, nodedata.h, numa.h, topology.h
include/asm-ia64/sn/nodepda.h, pda.h, types.h
include/asm-mips64/mmzone.h, processor.h
include/asm-mips64/sn/types.h
include/asm-ppc64/mmzone.h
include/asm-x86_64/e820.h, mmzone.h
include/linux/mmzone.h
kernel/sched.c
mm/slab.c

Hatch letter 19 April 2004 (157-28-C)

Exhibit C: Linux kernel 2.6.5

Curiously, the Revised Supplemental Response of 15 January 2004 (103-1) did not list any NUMA files at all. By the time of the Hatch letter, NUMA was back, but the list had shrunk from 39 files to 16. The files listed are from Linux 2.6.5 [download] [copying]. It was released on 4 April 2004. The next release was 2.6.6 on 10 May 2004. The Hatch letter (157-28), to which this document is an exhibit, was dated 19 April 2004. Although Linux 2.6.5 is singled out for attention, the code objected to had been part of Linux 2.6 from the outset, having been contributed during the 2.5 cycle.

The document says, explicitly, "Lines of code derived from Dynix/ptx contributed to Linux 2.6.5 by IBM", though no Dynix/ptx files are named, and examination of the contents of the Linux files seem to call this alleged derivation into question.

arch/i386/kernel/numaq.c1-112100%
arch/i386/kernel/srat.c1-450100%
arch/i386/mach-default/topology.c35-4923%
arch/i386/mach-es7000/topology.c35-4923%
arch/i386/mm/discontig.c1-434100%
arch/i386/pci/numa.c1-129100%
arch/ppc64/kernel/smp.c733-754 7833%
arch/ppc64/mm/numa.c1-374100%
include/asm-i386/mmzone.h1-154100%
include/asm-i386/numaq.h1-164100%
include/asm-i386/topology.h1-85100%
include/asm-ppc64/mmzone.h1-95100%
include/asm-ppc64/topology.h1-49100%
include/linux/mmzone.h350-3623%
include/linux/numa.h1-16100%
kernel/sched.c44 212-213 239-272 1002-1126
1390-1401 1407 1421-1422 1432-1433
6%
mm/page_alloc.c[694]-726 737-738 827-835
889-892 983-992 1137-1238
12%

Total 16 files, 2537 lines

For mm/page_alloc.c, there is a typographical error in the document; 794 should read 694, though Professor Davis thinks it should read 724 (235-C page 6).

Final Disclosure 22 December 2005

Item 3 (dismissed): NUMA/ptx locking routines contributed to Linux. The December Submission states (at 5) that the "code in the 4 associated source code files appeared in a patch for the 2.4.6 kernel" and provides an internet address for the patch [SCO 724 p.35].

Item 22 (dismissed): "Port of ptx NUMA code to Linux". The language relates to the alleged misuse of code [IBM 672 p.9 decloaked].

Item 93 (dismissed): For some of the Items (e.g., Item 93), the Final Disclosures reveal little more than the minimal description found in SCO's Complaint [IBM 672 p.8]. It says IBM made NUMA contributions [Hearing 662 p.66].

Item 112 (dismissed): Misappropriation in the form of non-literal transfers of methods, structures and sequences from System V contributed to Linux [SCO 724 Appx A p.3]. It says IBM made NUMA contributions. [Hearing 662 p.66].