2.6.23-rc8-mm2 - Kernel

This is a discussion on 2.6.23-rc8-mm2 - Kernel ; On Thu, 2007-09-27 at 14:51 -0700, Andrew Morton wrote: > So your stuff becomes dependent on Nick's stuff, and Nick's stuff is still > failing on NFS, I think. It worked today, it turned out to be a UML bug. ...

+ Reply to Thread
Page 2 of 3 FirstFirst 1 2 3 LastLast
Results 21 to 40 of 56

Thread: 2.6.23-rc8-mm2

  1. Re: [RFC][PATCH] make reiserfs stop using 'struct file' for internal xattr operations


    On Thu, 2007-09-27 at 14:51 -0700, Andrew Morton wrote:

    > So your stuff becomes dependent on Nick's stuff, and Nick's stuff is still
    > failing on NFS, I think.


    It worked today, it turned out to be a UML bug. Real hardware seemed to
    work properly, but will test a bit more tomorrow.

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()

    On Thu, Sep 27, 2007 at 02:22:20AM -0700, Andrew Morton wrote:
    >
    > ftp://ftp.kernel.org/pub/linux/kerne....6.23-rc8-mm2/


    Laurent,

    It triggered a WARNING on first run in qemu:

    [ 0.310000] WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()
    [ 0.310000]
    [ 0.310000] Call Trace:
    [ 0.310000] [] dump_trace+0x3ee/0x4a0
    [ 0.310000] [] show_trace+0x43/0x70
    [ 0.310000] [] dump_stack+0x15/0x20
    [ 0.310000] [] smp_call_function_mask+0x94/0xa0
    [ 0.310000] [] smp_call_function+0x19/0x20
    [ 0.310000] [] on_each_cpu+0x1f/0x50
    [ 0.310000] [] global_flush_tlb+0x8c/0x110
    [ 0.310000] [] free_init_pages+0xe5/0xf0
    [ 0.310000] [] alternative_instructions+0x7e/0x150
    [ 0.310000] [] check_bugs+0x1a/0x20
    [ 0.310000] [] start_kernel+0x2da/0x380
    [ 0.310000] [] _sinittext+0x132/0x140


    Here is the more complete log:

    [ 0.000000] Linux version 2.6.23-rc8-mm2 (wfg@intel) (gcc version 4.2.1 (Debian 4.2.1-5)) #3 SMP Fri Sep 28 10:29:34 CST 2007
    [ 0.000000] Command line: root=/dev/hda rw console=ttyS0 clock=pit init=/bin/bash
    [ 0.000000] BIOS-provided physical RAM map:
    [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
    [ 0.000000] BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
    [ 0.000000] BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
    [ 0.000000] BIOS-e820: 0000000000100000 - 0000000039ff0000 (usable)
    [ 0.000000] BIOS-e820: 0000000039ff0000 - 000000003a000000 (ACPI data)
    [ 0.000000] BIOS-e820: 00000000fffc0000 - 0000000100000000 (reserved)
    [ 0.000000] end_pfn_map = 1048576
    [ 0.000000] DMI not present or invalid.
    [ 0.000000] ACPI: RSDP 000FAA30, 0014 (r0 BOCHS )
    [ 0.000000] ACPI: RSDT 39FF0000, 002C (r0 BOCHS BXPCRSDT 1 BXPC 1)
    [ 0.000000] ACPI: FACP 39FF002C, 0074 (r0 BOCHS BXPCFACP 1 BXPC 1)
    [ 0.000000] ACPI: DSDT 39FF0100, 0832 (r1 BXPC BXDSDT 1 INTL 20060912)
    [ 0.000000] ACPI: FACS 39FF00C0, 0040
    [ 0.000000] ACPI: APIC 39FF0938, 0040 (r0 BOCHS BXPCAPIC 1 BXPC 1)
    [ 0.000000] No NUMA configuration found
    [ 0.000000] Faking a node at 0000000000000000-0000000039ff0000
    [ 0.000000] Bootmem setup node 0 0000000000000000-0000000039ff0000
    [ 0.000000] Zone PFN ranges:
    [ 0.000000] DMA 0 -> 4096
    [ 0.000000] DMA32 4096 -> 1048576
    [ 0.000000] Normal 1048576 -> 1048576
    [ 0.000000] Movable zone start PFN for each node
    [ 0.000000] early_node_map[2] active PFN ranges
    [ 0.000000] 0: 0 -> 159
    [ 0.000000] 0: 256 -> 237552
    [ 0.000000] ACPI: PM-Timer IO Port: 0xb008
    [ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
    [ 0.000000] Processor #0 (Bootup-CPU)
    [ 0.000000] ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
    [ 0.000000] IOAPIC[0]: apic_id 1, address 0xfec00000, GSI 0-23
    [ 0.000000] Setting APIC routing to flat
    [ 0.000000] Using ACPI (MADT) for SMP configuration information
    [ 0.000000] Allocating PCI resources starting at 40000000 (gap: 3a000000:c5fc0000)
    [ 0.000000] .eh_frame_hdr for 'kernel' present but unusable
    [ 0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs
    [ 0.000000] PERCPU: Allocating 429480 bytes of per cpu data
    [ 0.000000] Built 1 zonelists in Node order, mobility grouping on. Total pages: 231879
    [ 0.000000] Policy zone: DMA32
    [ 0.000000] Kernel command line: root=/dev/hda rw console=ttyS0 clock=pit init=/bin/bash
    [ 0.000000] Warning! clock= boot option is deprecated. Use clocksource=xyz
    [ 0.000000] Initializing CPU#0
    [ 0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
    [ 0.000000] TSC calibrated against PM_TIMER
    [ 0.000000] time.c: Detected 2932.892 MHz processor.
    [ 0.020000] console [kgdb0] enabled
    [ 0.030000] Console: colour VGA+ 80x25
    [ 0.040000] console [ttyS0] enabled
    [ 0.050000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
    [ 0.050000] ... MAX_LOCKDEP_SUBCLASSES: 8
    [ 0.050000] ... MAX_LOCK_DEPTH: 30
    [ 0.050000] ... MAX_LOCKDEP_KEYS: 2048
    [ 0.050000] ... CLASSHASH_SIZE: 1024
    [ 0.050000] ... MAX_LOCKDEP_ENTRIES: 8192
    [ 0.050000] ... MAX_LOCKDEP_CHAINS: 16384
    [ 0.050000] ... CHAINHASH_SIZE: 8192
    [ 0.050000] memory used by lock dependency info: 1712 kB
    [ 0.050000] per task-struct memory footprint: 2160 bytes
    [ 0.050000] Checking aperture...
    [ 0.100000] Memory: 905832k/950208k available (3018k kernel code, 43988k reserved, 2171k data, 720k init)
    [ 0.100000] SLUB: Genslabs=12, HWalign=64, Order=0-3, MinObjects=16, CPUs=1, Nodes=1
    [ 0.250000] Calibrating delay using timer specific routine.. 5880.64 BogoMIPS (lpj=29403242)
    [ 0.250000] kswapd reclaim order set to 3
    [ 0.250000] Security Framework initialized
    [ 0.250000] SELinux: Initializing.
    [ 0.250000] selinux_register_security: Registering secondary module capability
    [ 0.250000] Capability LSM initialized as secondary
    [ 0.260000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
    [ 0.260000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
    [ 0.260000] Mount-cache hash table entries: 256
    [ 0.310000] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
    [ 0.310000] CPU: L2 Cache: 512K (64 bytes/line)
    [ 0.310000] CPU 0/0 -> Node 0
    [ 0.310000] SMP alternatives: switching to UP code
    [ 0.310000] Freeing SMP alternatives: 25k freed
    [ 0.310000] WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()
    [ 0.310000]
    [ 0.310000] Call Trace:
    [ 0.310000] [] dump_trace+0x3ee/0x4a0
    [ 0.310000] [] show_trace+0x43/0x70
    [ 0.310000] [] dump_stack+0x15/0x20
    [ 0.310000] [] smp_call_function_mask+0x94/0xa0
    [ 0.310000] [] smp_call_function+0x19/0x20
    [ 0.310000] [] on_each_cpu+0x1f/0x50
    [ 0.310000] [] global_flush_tlb+0x8c/0x110
    [ 0.310000] [] free_init_pages+0xe5/0xf0
    [ 0.310000] [] alternative_instructions+0x7e/0x150
    [ 0.310000] [] check_bugs+0x1a/0x20
    [ 0.310000] [] start_kernel+0x2da/0x380
    [ 0.310000] [] _sinittext+0x132/0x140
    [ 0.310000]
    [ 0.320000] ACPI: Core revision 20070126
    [ 0.570000] Using local APIC timer interrupts.
    [ 0.590000] Detected 62.496 MHz APIC timer.
    [ 0.590000] Brought up 1 CPUs
    [ 0.610000] khelper used greatest stack depth: 5040 bytes left
    [ 0.620000] net_namespace: 144 bytes
    [ 0.633319] NET: Registered protocol family 16
    [ 0.646198] ACPI: bus type pci registered
    [ 0.646757] PCI: Using configuration type 1
    [ 0.666362] khelper used greatest stack depth: 4528 bytes left

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. Re: [RFC][PATCH] make reiserfs stop using 'struct file' for internal xattr operations

    On Thu, Sep 27, 2007 at 02:51:25PM -0700, Andrew Morton wrote:
    > That'll be because reiserfs-convert-to-new-aops.patch witched reiserfs over
    > to ->write_begin() and ->write_end().


    Yeah, I was looking at mainline.

    > So your stuff becomes dependent on Nick's stuff, and Nick's stuff is still
    > failing on NFS, I think.


    I'd rather avoid the paramater removal for now, that makes it less
    entangle, and it's an unrelated cleanup anyway.

    Btw, there's more abuse of this sort in reiserfs. Various other places
    in xattr.c call dentry_open directly without the vfsmount aswell. And
    handling of an external journal uses filp_open which is similarly stupid,
    it should use open_bdev_excl like xfs or the generic code to open the
    main filesystem blockdevice.

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  4. [RFC][PATCH] stop abusing filp_open in reiserfs journal code

    And here's a patch to stop the filp abuse in the journal code. An additional
    benefit is that the block device is now properly claimed when opened by
    device number.


    Index: linux-2.6/fs/reiserfs/journal.c
    ================================================== =================
    --- linux-2.6.orig/fs/reiserfs/journal.c 2007-09-28 09:18:50.000000000 +0200
    +++ linux-2.6/fs/reiserfs/journal.c 2007-09-28 09:28:36.000000000 +0200
    @@ -2544,11 +2544,9 @@ static int release_journal_dev(struct su

    result = 0;

    - if (journal->j_dev_file != NULL) {
    - result = filp_close(journal->j_dev_file, NULL);
    - journal->j_dev_file = NULL;
    - journal->j_dev_bd = NULL;
    - } else if (journal->j_dev_bd != NULL) {
    + if (journal->j_dev_bd != NULL) {
    + if (journal->j_dev_bd->bd_dev != super->s_dev)
    + bd_release(journal->j_dev_bd);
    result = blkdev_put(journal->j_dev_bd);
    journal->j_dev_bd = NULL;
    }
    @@ -2573,7 +2571,6 @@ static int journal_init_dev(struct super
    result = 0;

    journal->j_dev_bd = NULL;
    - journal->j_dev_file = NULL;
    jdev = SB_ONDISK_JOURNAL_DEVICE(super) ?
    new_decode_dev(SB_ONDISK_JOURNAL_DEVICE(super)) : super->s_dev;

    @@ -2590,35 +2587,34 @@ static int journal_init_dev(struct super
    "cannot init journal device '%s': %i",
    __bdevname(jdev, b), result);
    return result;
    - } else if (jdev != super->s_dev)
    + } else if (jdev != super->s_dev) {
    + result = bd_claim(journal->j_dev_bd, journal);
    + if (result) {
    + blkdev_put(journal->j_dev_bd);
    + return result;
    + }
    +
    set_blocksize(journal->j_dev_bd, super->s_blocksize);
    + }
    +
    return 0;
    }

    - journal->j_dev_file = filp_open(jdev_name, 0, 0);
    - if (!IS_ERR(journal->j_dev_file)) {
    - struct inode *jdev_inode = journal->j_dev_file->f_mapping->host;
    - if (!S_ISBLK(jdev_inode->i_mode)) {
    - reiserfs_warning(super, "journal_init_dev: '%s' is "
    - "not a block device", jdev_name);
    - result = -ENOTBLK;
    - release_journal_dev(super, journal);
    - } else {
    - /* ok */
    - journal->j_dev_bd = I_BDEV(jdev_inode);
    - set_blocksize(journal->j_dev_bd, super->s_blocksize);
    - reiserfs_info(super,
    - "journal_init_dev: journal device: %s\n",
    - bdevname(journal->j_dev_bd, b));
    - }
    - } else {
    - result = PTR_ERR(journal->j_dev_file);
    - journal->j_dev_file = NULL;
    + journal->j_dev_bd = open_bdev_excl(jdev_name, 0, journal);
    + if (IS_ERR(journal->j_dev_bd)) {
    + result = PTR_ERR(journal->j_dev_bd);
    + journal->j_dev_bd = NULL;
    reiserfs_warning(super,
    "journal_init_dev: Cannot open '%s': %i",
    jdev_name, result);
    + return result;
    }
    - return result;
    +
    + set_blocksize(journal->j_dev_bd, super->s_blocksize);
    + reiserfs_info(super,
    + "journal_init_dev: journal device: %s\n",
    + bdevname(journal->j_dev_bd, b));
    + return 0;
    }

    /*
    Index: linux-2.6/include/linux/reiserfs_fs_sb.h
    ================================================== =================
    --- linux-2.6.orig/include/linux/reiserfs_fs_sb.h 2007-09-28 09:24:27.000000000 +0200
    +++ linux-2.6/include/linux/reiserfs_fs_sb.h 2007-09-28 09:24:31.000000000 +0200
    @@ -177,7 +177,6 @@ struct reiserfs_journal {
    struct reiserfs_journal_cnode *j_last; /* newest journal block */
    struct reiserfs_journal_cnode *j_first; /* oldest journal block. start here for traverse */

    - struct file *j_dev_file;
    struct block_device *j_dev_bd;
    int j_1st_reserved_block; /* first block on s_dev of reserved area journal */



    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  5. Re: WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()

    Fengguang Wu wrote:
    > On Thu, Sep 27, 2007 at 02:22:20AM -0700, Andrew Morton wrote:
    >> ftp://ftp.kernel.org/pub/linux/kerne....6.23-rc8-mm2/

    >
    > Laurent,
    >
    > It triggered a WARNING on first run in qemu:


    Thank you to report it.

    >
    > [ 0.310000] WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()
    > [ 0.310000]
    > [ 0.310000] Call Trace:
    > [ 0.310000] [] dump_trace+0x3ee/0x4a0
    > [ 0.310000] [] show_trace+0x43/0x70
    > [ 0.310000] [] dump_stack+0x15/0x20
    > [ 0.310000] [] smp_call_function_mask+0x94/0xa0
    > [ 0.310000] [] smp_call_function+0x19/0x20
    > [ 0.310000] [] on_each_cpu+0x1f/0x50
    > [ 0.310000] [] global_flush_tlb+0x8c/0x110
    > [ 0.310000] [] free_init_pages+0xe5/0xf0
    > [ 0.310000] [] alternative_instructions+0x7e/0x15

    0
    > [ 0.310000] [] check_bugs+0x1a/0x20
    > [ 0.310000] [] start_kernel+0x2da/0x380
    > [ 0.310000] [] _sinittext+0x132/0x140



    the reason is the WARN_ON():

    390 int smp_call_function_mask(cpumask_t mask,
    391 void (*func)(void *), void *info,
    392 int wait)
    393 {
    394 int ret;
    395
    396 /* Can deadlock when called with interrupts disabled */
    397 WARN_ON(irqs_disabled());
    398
    399 spin_lock(&call_lock);
    400 ret = __smp_call_function_mask(mask, func, info, wait);
    401 spin_unlock(&call_lock);
    402 return ret;
    403 }

    The patch I sent to Andi didn't include this WARN_ON() and it's why I didn't
    find this issue. (see http://lkml.org/lkml/2007/8/24/101)

    smp_call_function_mask() is called by smp_call_function() which calls a function
    on all CPU except current.
    The comment of smp_call_function() specifies:
    ...
    * You must not call this function with disabled interrupts or from a
    * hardware interrupt handler or from a bottom half handler.
    * Actually there are a few legal cases, like panic.
    */

    So this WARN_ON() is correct, and the caller (global_flush_tlb()) doesn'tfollow
    this rule.

    I guess this WARN_ON() is only needed when we have current CPU in provided mask.
    So I think we should change:

    int smp_call_function (void (*func) (void *info), void *info, int nonatomic,
    int wait)
    {
    return smp_call_function_mask(cpu_online_map, func, info, wait);
    }
    ("cpu_online_map" is a bad choice, comment also specifies: "run a function on
    all other CPU")

    to

    int smp_call_function (void (*func) (void *info), void *info, int nonatomic,
    int wait)
    {
    int ret;
    cpumask_t allbutself;

    allbutself = cpu_online_map;
    cpu_clear(smp_processor_id(), allbutself);

    spin_lock(&call_lock);
    ret = __smp_call_function_mask(allbutself, func, info, wait);
    spin_unlock(&call_lock);
    return ret;
    }
    (which is smp_call_function_mask() without the WARN_ON() and without current cpu
    in the mask)

    Andi, is this correct ?
    Andrew, should I send a patch implementing this change ?

    Regards,
    Laurent
    --
    ------------- Laurent.Vivier@bull.net --------------
    "Software is hard" - Donald Knuth


    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.2.7 (GNU/Linux)

    iD8DBQFG/MC89Kffa9pFVzwRAkyQAKDYp3+RExaTVTeIqhhkYvlEYbXahwC gl8pT
    SU7fYTM+nC5VMhMIHBEaJu4=
    =Qg6F
    -----END PGP SIGNATURE-----


  6. Re: WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()

    Andrew Morton wrote:
    > On Fri, 28 Sep 2007 10:52:08 +0200 Laurent Vivier wrote:
    >
    >> Fengguang Wu wrote:
    >>> On Thu, Sep 27, 2007 at 02:22:20AM -0700, Andrew Morton wrote:
    >>>> ftp://ftp.kernel.org/pub/linux/kerne....6.23-rc8-mm2/
    >>>
    >>> Laurent,
    >>>
    >>> It triggered a WARNING on first run in qemu:

    >> Thank you to report it.
    >>
    >>> [ 0.310000] WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()
    >>> [ 0.310000]
    >>> [ 0.310000] Call Trace:
    >>> [ 0.310000] [] dump_trace+0x3ee/0x4a0
    >>> [ 0.310000] [] show_trace+0x43/0x70
    >>> [ 0.310000] [] dump_stack+0x15/0x20
    >>> [ 0.310000] [] smp_call_function_mask+0x94/0xa0
    >>> [ 0.310000] [] smp_call_function+0x19/0x20
    >>> [ 0.310000] [] on_each_cpu+0x1f/0x50
    >>> [ 0.310000] [] global_flush_tlb+0x8c/0x110
    >>> [ 0.310000] [] free_init_pages+0xe5/0xf0
    >>> [ 0.310000] [] alternative_instructions+0x7e/0x150
    >>> [ 0.310000] [] check_bugs+0x1a/0x20
    >>> [ 0.310000] [] start_kernel+0x2da/0x380
    >>> [ 0.310000] [] _sinittext+0x132/0x140

    >>
    >> the reason is the WARN_ON():
    >>
    >> 390 int smp_call_function_mask(cpumask_t mask,
    >> 391 void (*func)(void *), void *info,
    >> 392 int wait)
    >> 393 {
    >> 394 int ret;
    >> 395
    >> 396 /* Can deadlock when called with interrupts disabled */
    >> 397 WARN_ON(irqs_disabled());
    >> 398
    >> 399 spin_lock(&call_lock);
    >> 400 ret = __smp_call_function_mask(mask, func, info, wait);
    >> 401 spin_unlock(&call_lock);
    >> 402 return ret;
    >> 403 }
    >>
    >> The patch I sent to Andi didn't include this WARN_ON() and it's why I didn't
    >> find this issue. (see http://lkml.org/lkml/2007/8/24/101)
    >>
    >> smp_call_function_mask() is called by smp_call_function() which calls a function
    >> on all CPU except current.
    >> The comment of smp_call_function() specifies:
    >> ...
    >> * You must not call this function with disabled interrupts or from a
    >> * hardware interrupt handler or from a bottom half handler.
    >> * Actually there are a few legal cases, like panic.
    >> */
    >>
    >> So this WARN_ON() is correct, and the caller (global_flush_tlb()) doesn't follow
    >> this rule.
    >>
    >> I guess this WARN_ON() is only needed when we have current CPU in provided mask.
    >> So I think we should change:
    >>
    >> int smp_call_function (void (*func) (void *info), void *info, int nonatomic,
    >> int wait)
    >> {
    >> return smp_call_function_mask(cpu_online_map, func, info, wait);
    >> }
    >> ("cpu_online_map" is a bad choice, comment also specifies: "run a function on
    >> all other CPU")
    >>
    >> to
    >>
    >> int smp_call_function (void (*func) (void *info), void *info, int nonatomic,
    >> int wait)
    >> {
    >> int ret;
    >> cpumask_t allbutself;
    >>
    >> allbutself = cpu_online_map;
    >> cpu_clear(smp_processor_id(), allbutself);
    >>
    >> spin_lock(&call_lock);
    >> ret = __smp_call_function_mask(allbutself, func, info, wait);
    >> spin_unlock(&call_lock);
    >> return ret;
    >> }
    >> (which is smp_call_function_mask() without the WARN_ON() and without current cpu
    >> in the mask)
    >>
    >> Andi, is this correct ?
    >> Andrew, should I send a patch implementing this change ?

    >
    > umm, I think all the smp_call_function fucntions are deadlocky if called
    > with local interrupts disabled, regardless of whether the calling CPU is in
    > the mask.
    >
    > If CPU A is sending a cross-cpu call to CPU B and CPU B is sending a
    > cross-cpu call to CPU A, and they both have local interrupts disabled...


    OK, so there are two errors:

    1- one I introduce myself (without any help from anyone) where
    smp_call_function() calls all online CPUs instead of calling all CPUs except itself.

    2- one in global_flush_tlb() which calls smp_call_function() with irqs disabled.

    I think I should at least correct #1 ?

    Laurent
    --
    ------------- Laurent.Vivier@bull.net --------------
    "Software is hard" - Donald Knuth


    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.2.7 (GNU/Linux)

    iD8DBQFG/Mb49Kffa9pFVzwRAl3gAJ4tLIR8z9RhQAwqNrs8va303O7wHAC eIJv1
    XU6aaCsnLqje6r4RD1hFVKY=
    =oa4y
    -----END PGP SIGNATURE-----


  7. Re: WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()

    On Fri, 28 Sep 2007 10:52:08 +0200 Laurent Vivier wrote:

    > Fengguang Wu wrote:
    > > On Thu, Sep 27, 2007 at 02:22:20AM -0700, Andrew Morton wrote:
    > >> ftp://ftp.kernel.org/pub/linux/kerne....6.23-rc8-mm2/

    > >
    > > Laurent,
    > >
    > > It triggered a WARNING on first run in qemu:

    >
    > Thank you to report it.
    >
    > >
    > > [ 0.310000] WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()
    > > [ 0.310000]
    > > [ 0.310000] Call Trace:
    > > [ 0.310000] [] dump_trace+0x3ee/0x4a0
    > > [ 0.310000] [] show_trace+0x43/0x70
    > > [ 0.310000] [] dump_stack+0x15/0x20
    > > [ 0.310000] [] smp_call_function_mask+0x94/0xa0
    > > [ 0.310000] [] smp_call_function+0x19/0x20
    > > [ 0.310000] [] on_each_cpu+0x1f/0x50
    > > [ 0.310000] [] global_flush_tlb+0x8c/0x110
    > > [ 0.310000] [] free_init_pages+0xe5/0xf0
    > > [ 0.310000] [] alternative_instructions+0x7e/0x150
    > > [ 0.310000] [] check_bugs+0x1a/0x20
    > > [ 0.310000] [] start_kernel+0x2da/0x380
    > > [ 0.310000] [] _sinittext+0x132/0x140

    >
    >
    > the reason is the WARN_ON():
    >
    > 390 int smp_call_function_mask(cpumask_t mask,
    > 391 void (*func)(void *), void *info,
    > 392 int wait)
    > 393 {
    > 394 int ret;
    > 395
    > 396 /* Can deadlock when called with interrupts disabled */
    > 397 WARN_ON(irqs_disabled());
    > 398
    > 399 spin_lock(&call_lock);
    > 400 ret = __smp_call_function_mask(mask, func, info, wait);
    > 401 spin_unlock(&call_lock);
    > 402 return ret;
    > 403 }
    >
    > The patch I sent to Andi didn't include this WARN_ON() and it's why I didn't
    > find this issue. (see http://lkml.org/lkml/2007/8/24/101)
    >
    > smp_call_function_mask() is called by smp_call_function() which calls a function
    > on all CPU except current.
    > The comment of smp_call_function() specifies:
    > ...
    > * You must not call this function with disabled interrupts or from a
    > * hardware interrupt handler or from a bottom half handler.
    > * Actually there are a few legal cases, like panic.
    > */
    >
    > So this WARN_ON() is correct, and the caller (global_flush_tlb()) doesn't follow
    > this rule.
    >
    > I guess this WARN_ON() is only needed when we have current CPU in provided mask.
    > So I think we should change:
    >
    > int smp_call_function (void (*func) (void *info), void *info, int nonatomic,
    > int wait)
    > {
    > return smp_call_function_mask(cpu_online_map, func, info, wait);
    > }
    > ("cpu_online_map" is a bad choice, comment also specifies: "run a function on
    > all other CPU")
    >
    > to
    >
    > int smp_call_function (void (*func) (void *info), void *info, int nonatomic,
    > int wait)
    > {
    > int ret;
    > cpumask_t allbutself;
    >
    > allbutself = cpu_online_map;
    > cpu_clear(smp_processor_id(), allbutself);
    >
    > spin_lock(&call_lock);
    > ret = __smp_call_function_mask(allbutself, func, info, wait);
    > spin_unlock(&call_lock);
    > return ret;
    > }
    > (which is smp_call_function_mask() without the WARN_ON() and without current cpu
    > in the mask)
    >
    > Andi, is this correct ?
    > Andrew, should I send a patch implementing this change ?


    umm, I think all the smp_call_function fucntions are deadlocky if called
    with local interrupts disabled, regardless of whether the calling CPU is in
    the mask.

    If CPU A is sending a cross-cpu call to CPU B and CPU B is sending a
    cross-cpu call to CPU A, and they both have local interrupts disabled...

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  8. Re: WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()

    On Fri, 28 Sep 2007 11:18:45 +0200 Laurent Vivier wrote:

    > Andrew Morton wrote:
    > > On Fri, 28 Sep 2007 10:52:08 +0200 Laurent Vivier wrote:
    > >>
    > >> Andi, is this correct ?
    > >> Andrew, should I send a patch implementing this change ?

    > >
    > > umm, I think all the smp_call_function fucntions are deadlocky if called
    > > with local interrupts disabled, regardless of whether the calling CPU is in
    > > the mask.
    > >
    > > If CPU A is sending a cross-cpu call to CPU B and CPU B is sending a
    > > cross-cpu call to CPU A, and they both have local interrupts disabled...

    >
    > OK, so there are two errors:
    >
    > 1- one I introduce myself (without any help from anyone) where
    > smp_call_function() calls all online CPUs instead of calling all CPUs except itself.


    I'd be pretty surprised if one was able to write a bug like that. You mean
    the CPU sends an IPI to itself and then loops around until it has serviced
    that IPI? And this works? Wow.

    And on_each_cpu() can call the handler function twice?

    hm

    > 2- one in global_flush_tlb() which calls smp_call_function() with irqs disabled.


    That would be a big bug, and surely we would already have picked it up.



    argh, mainline's x86_64 smp_call_function() doesn't do the check. We've
    had *heaps* of bugs in i386 where people were running smp_call_foo() under
    local_irq_disable(). I wonder how many there are in x86_64?

    > I think I should at least correct #1 ?


    I think we should correct all bugs
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  9. Re: 2.6.23-rc8-mm2 - tcp_fastretrans_alert() WARNING

    Hello !

    Andrew Morton wrote:
    > ftp://ftp.kernel.org/pub/linux/kerne....6.23-rc8-mm2/


    I just found that warning in my logs. It seems that it's been
    happening since rc7-mm1 at least.

    Thanks !

    C.

    WARNING: at /home/legoater/linux/2.6.23-rc8-mm2/net/ipv4/tcp_input.c:2314 tcp_fastretrans_alert()

    Call Trace:
    [] tcp_ack+0xcd6/0x1894
    [] tcp_data_queue+0x5be/0xae7
    [] tcp_rcv_established+0x61f/0x6df
    [] __lock_acquire+0x8a1/0xf1b
    [] tcp_v4_do_rcv+0x3e/0x394
    [] tcp_v4_rcv+0x61c/0x9a9
    [] ip_local_deliver+0x1da/0x2a4
    [] ip_rcv+0x583/0x5c9
    [] packet_rcv_spkt+0x19a/0x1a8
    [] netif_receive_skb+0x2cf/0x2f5
    [] :tg3:tg3_poll+0x65d/0x8a4
    [] net_rx_action+0xb8/0x191
    [] __do_softirq+0x5f/0xe0
    [] call_softirq+0x1c/0x28
    [] do_softirq+0x3b/0xb8
    [] irq_exit+0x4e/0x50
    [] do_IRQ+0xbd/0xd7
    [] mwait_idle+0x0/0x4d
    [] ret_from_intr+0x0/0xf
    [] mwait_idle+0x43/0x4d
    [] enter_idle+0x22/0x24
    [] cpu_idle+0x9d/0xc0
    [] rest_init+0x55/0x57
    [] start_kernel+0x2d6/0x2e2
    [] _sinittext+0x134/0x13b
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  10. /proc/net/ bad hard links count [Was: 2.6.23-rc8-mm2]

    On 09/27/2007 11:22 AM, Andrew Morton wrote:
    > ftp://ftp.kernel.org/pub/linux/kerne....6.23-rc8-mm2/


    # find /proc >/dev/null
    find: WARNING: Hard link count is wrong for /proc/net: this may be a bug in your
    filesystem driver. Automatically turning on find's -noleaf option. Earlier
    results may have failed to include directories that should have been searched.
    # stat net
    File: `net'
    Size: 0 Blocks: 0 IO Block: 1024 directory
    Device: 3h/3d Inode: 4026531864 Links: 2
    Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
    Access: 2007-09-28 18:21:24.651209759 +0200
    Modify: 2007-09-28 18:21:24.651209759 +0200
    Change: 2007-09-28 18:21:24.651209759 +0200
    # stat net/
    File: `net/'
    Size: 0 Blocks: 0 IO Block: 1024 directory
    Device: 3h/3d Inode: 4026531909 Links: 4
    Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
    Access: 2007-09-28 18:26:48.813048220 +0200
    Modify: 2007-09-28 18:26:48.813048220 +0200
    Change: 2007-09-28 18:26:48.813048220 +0200

    hmm, this is some kind of weirdness

    regards,
    --
    Jiri Slaby (jirislaby@gmail.com)
    Faculty of Informatics, Masaryk University

    --
    Jiri Slaby (jirislaby@gmail.com)
    Faculty of Informatics, Masaryk University
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  11. Re: /proc/net/ bad hard links count [Was: 2.6.23-rc8-mm2]

    Jiri Slaby writes:

    > On 09/27/2007 11:22 AM, Andrew Morton wrote:
    >>

    > ftp://ftp.kernel.org/pub/linux/kerne....6.23-rc8-mm2/


    Yep.

    > # find /proc >/dev/null
    > find: WARNING: Hard link count is wrong for /proc/net: this may be a bug in your
    > filesystem driver. Automatically turning on find's -noleaf option. Earlier
    > results may have failed to include directories that should have been searched.
    > # stat net
    > File: `net'
    > Size: 0 Blocks: 0 IO Block: 1024 directory
    > Device: 3h/3d Inode: 4026531864 Links: 2
    > Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
    > Access: 2007-09-28 18:21:24.651209759 +0200
    > Modify: 2007-09-28 18:21:24.651209759 +0200
    > Change: 2007-09-28 18:21:24.651209759 +0200
    > # stat net/
    > File: `net/'
    > Size: 0 Blocks: 0 IO Block: 1024 directory
    > Device: 3h/3d Inode: 4026531909 Links: 4
    > Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
    > Access: 2007-09-28 18:26:48.813048220 +0200
    > Modify: 2007-09-28 18:26:48.813048220 +0200
    > Change: 2007-09-28 18:26:48.813048220 +0200
    >
    > hmm, this is some kind of weirdness


    Yes.

    I can explain it. For the network namespace stuff we need special handling
    of /proc/net so that depending on the network namespace we are resolving
    against you see a different behavior. So you actually are observing
    two different directories, one being a magic invisible symlink to the
    other.

    Currently I am resolving against current (which has a number of
    limitations) and the weird ugly effect you are current seeing.

    So it looks like I need to either make /proc/net a symlink to
    /proc/self/net or make the network namespace something that we capture
    at mount time of /proc.

    This was my don't get hung up on this implementation detail version.
    Thanks for pointing out it has user visible problems. I will see
    what I can do to resolve this.

    Eric
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  12. Re: 2.6.23-rc8-mm2 - tcp_fastretrans_alert() WARNING

    On Fri, 28 Sep 2007, Cedric Le Goater wrote:

    > Hello !
    >
    > Andrew Morton wrote:
    > > ftp://ftp.kernel.org/pub/linux/kerne....6.23-rc8-mm2/

    >
    > I just found that warning in my logs. It seems that it's been
    > happening since rc7-mm1 at least.
    >
    > Thanks !
    >
    > C.
    >
    > WARNING: at /home/legoater/linux/2.6.23-rc8-mm2/net/ipv4/tcp_input.c:2314 tcp_fastretrans_alert()
    >
    > Call Trace:
    > [] tcp_ack+0xcd6/0x1894
    > ...snip...


    ....Thanks for the report, I'll have look what could still break
    fackets_out...

    --
    i.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  13. Re: 2.6.23-rc8-mm2: problems on HP nx6325

    On Thursday, 27 September 2007 17:49, Thomas Gleixner wrote:
    > On Thu, 2007-09-27 at 17:59 +0200, Rafael J. Wysocki wrote:
    > > > 2) CPU hotplug is busted (onlining of CPU1 kills the kernel), probably due to
    > > > the same issue that I'm having with the -hrt version of 2.6.23-rc8 (we're
    > > > debugging it right now)

    > >
    > > This one is fixed by the following patch:
    > >
    > > ---
    > > From: Rafael J. Wysocki
    > >
    > > Fix CPU hotplug breakage on HP nx6325 and similar boxes caused by a reference
    > > to disable_apic_timer (labeled as __initdata) from the CPU initialization code.
    > >
    > > Signed-off-by: Rafael J. Wysocki

    >
    > Doh, I knew I blew it.
    >
    > Good catch, thanks,


    Some good news from here. :-)

    WIth the patch below applied 2.6.23-rc8-mm2 works fine on the nx6325 _with_ NO_HZ
    and HIGH_RES_TIMERS set. Suspend and hibernation work as well, happy me.

    NO_HZ and HIGH_RES_TIMERS also work on this box with the hrt patch plus the
    C1E-related fix on top of 2.6.23-rc8.

    Does it make sense to test CPU_IDLE too at this point?

    Greetings,
    Rafael


    > > ---
    > > arch/x86_64/kernel/apic.c | 2 +-
    > > 1 file changed, 1 insertion(+), 1 deletion(-)
    > >
    > > Index: linux-2.6.23-rc8-mm2/arch/x86_64/kernel/apic.c
    > > ================================================== =================
    > > --- linux-2.6.23-rc8-mm2.orig/arch/x86_64/kernel/apic.c
    > > +++ linux-2.6.23-rc8-mm2/arch/x86_64/kernel/apic.c
    > > @@ -42,7 +42,7 @@
    > >
    > > int apic_verbosity;
    > > static int apic_calibrate_pmtmr __initdata;
    > > -int disable_apic_timer __initdata;
    > > +int disable_apic_timer __cpuinitdata;
    > >
    > > /* Local APIC timer works in C2? */
    > > int local_apic_timer_c2_ok;

    >
    >
    >


    --
    "Premature optimization is the root of all evil." - Donald Knuth
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  14. Re: WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()

    On Fri, Sep 28, 2007 at 02:07:54PM +0200, Laurent Vivier wrote:
    > Fengguang could you send me your .config and your qemu command line parameters ?


    OK. I applied your patch and reran it.
    Here are the qemu cmdline, warning messages and .config:

    qemu-system-x86_64 -m 928 -hda /dev/sdb5 -kernel ./arch/x86_64/boot/bzImage -nographic -append "root=/dev/hda rw console=ttyS0 clock=pit init=/bin/bash"


    [ 0.310000] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
    [ 0.310000] CPU: L2 Cache: 512K (64 bytes/line)
    [ 0.310000] CPU 0/0 -> Node 0
    [ 0.310000] SMP alternatives: switching to UP code
    [ 0.310000] Freeing SMP alternatives: 25k freed
    [ 0.310000] WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()
    [ 0.310000]
    [ 0.310000] Call Trace:
    [ 0.310000] [] dump_trace+0x3ee/0x4a0
    [ 0.310000] [] show_trace+0x43/0x70
    [ 0.310000] [] dump_stack+0x15/0x20
    [ 0.310000] [] smp_call_function_mask+0x94/0xa0
    [ 0.310000] [] smp_call_function+0x32/0x40
    [ 0.310000] [] on_each_cpu+0x1f/0x50
    [ 0.310000] [] global_flush_tlb+0x8c/0x110
    [ 0.310000] [] free_init_pages+0xe5/0xf0
    [ 0.310000] [] alternative_instructions+0x7e/0x150
    [ 0.310000] [] check_bugs+0x1a/0x20
    [ 0.310000] [] start_kernel+0x2da/0x380
    [ 0.310000] [] _sinittext+0x132/0x140
    [ 0.310000]
    [ 0.320000] ACPI: Core revision 20070126
    [ 0.560000] Using local APIC timer interrupts.
    [ 0.590000] Detected 62.496 MHz APIC timer.
    [ 0.590000] Brought up 1 CPUs

    #
    # Automatically generated make config: don't edit
    # Linux kernel version: 2.6.23-rc8-mm2
    # Fri Sep 28 10:26:40 2007
    #
    CONFIG_X86_64=y
    CONFIG_64BIT=y
    CONFIG_X86=y
    CONFIG_GENERIC_TIME=y
    CONFIG_GENERIC_CLOCKEVENTS=y
    CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
    CONFIG_NONIRQ_WAKEUP=y
    CONFIG_GENERIC_TIME_VSYSCALL=y
    CONFIG_GENERIC_CMOS_UPDATE=y
    CONFIG_ZONE_DMA32=y
    CONFIG_LOCKDEP_SUPPORT=y
    CONFIG_STACKTRACE_SUPPORT=y
    CONFIG_SEMAPHORE_SLEEPERS=y
    CONFIG_MMU=y
    CONFIG_ZONE_DMA=y
    CONFIG_RWSEM_GENERIC_SPINLOCK=y
    CONFIG_GENERIC_HWEIGHT=y
    CONFIG_GENERIC_CALIBRATE_DELAY=y
    CONFIG_X86_CMPXCHG=y
    CONFIG_EARLY_PRINTK=y
    CONFIG_GENERIC_ISA_DMA=y
    CONFIG_GENERIC_IOMAP=y
    CONFIG_ARCH_MAY_HAVE_PC_FDC=y
    CONFIG_ARCH_POPULATES_NODE_MAP=y
    CONFIG_DMI=y
    CONFIG_AUDIT_ARCH=y
    CONFIG_GENERIC_BUG=y
    # CONFIG_ARCH_HAS_ILOG2_U32 is not set
    # CONFIG_ARCH_HAS_ILOG2_U64 is not set
    CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

    #
    # General setup
    #
    CONFIG_EXPERIMENTAL=y
    CONFIG_LOCK_KERNEL=y
    CONFIG_INIT_ENV_ARG_LIMIT=32
    CONFIG_LOCALVERSION=""
    # CONFIG_LOCALVERSION_AUTO is not set
    # CONFIG_SWAP is not set
    CONFIG_SYSVIPC=y
    CONFIG_SYSVIPC_SYSCTL=y
    CONFIG_POSIX_MQUEUE=y
    CONFIG_BSD_PROCESS_ACCT=y
    CONFIG_BSD_PROCESS_ACCT_V3=y
    CONFIG_TASKSTATS=y
    CONFIG_TASK_DELAY_ACCT=y
    CONFIG_TASK_XACCT=y
    CONFIG_TASK_IO_ACCOUNTING=y
    # CONFIG_USER_NS is not set
    CONFIG_AUDIT=y
    # CONFIG_AUDITSYSCALL is not set
    CONFIG_IKCONFIG=y
    CONFIG_IKCONFIG_PROC=y
    CONFIG_LOG_BUF_SHIFT=18
    # CONFIG_CGROUPS is not set
    CONFIG_FAIR_GROUP_SCHED=y
    CONFIG_FAIR_USER_SCHED=y
    # CONFIG_SYSFS_DEPRECATED is not set
    CONFIG_RELAY=y
    CONFIG_BLK_DEV_INITRD=y
    CONFIG_INITRAMFS_SOURCE=""
    # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
    CONFIG_SYSCTL=y
    CONFIG_EMBEDDED=y
    CONFIG_UID16=y
    CONFIG_SYSCTL_SYSCALL=y
    CONFIG_KALLSYMS=y
    CONFIG_KALLSYMS_ALL=y
    # CONFIG_KALLSYMS_EXTRA_PASS is not set
    CONFIG_HOTPLUG=y
    CONFIG_PRINTK=y
    CONFIG_BUG=y
    CONFIG_ELF_CORE=y
    CONFIG_BASE_FULL=y
    CONFIG_FUTEX=y
    CONFIG_ANON_INODES=y
    CONFIG_EPOLL=y
    CONFIG_SIGNALFD=y
    CONFIG_EVENTFD=y
    CONFIG_SHMEM=y
    CONFIG_VM_EVENT_COUNTERS=y
    CONFIG_SLUB_DEBUG=y
    # CONFIG_SLAB is not set
    CONFIG_SLUB=y
    # CONFIG_SLOB is not set
    CONFIG_PROC_PAGE_MONITOR=y
    CONFIG_PROC_KPAGEMAP=y
    CONFIG_RT_MUTEXES=y
    # CONFIG_TINY_SHMEM is not set
    CONFIG_BASE_SMALL=0
    CONFIG_MODULES=y
    CONFIG_MODULE_UNLOAD=y
    CONFIG_MODULE_FORCE_UNLOAD=y
    CONFIG_MODVERSIONS=y
    # CONFIG_MODULE_SRCVERSION_ALL is not set
    CONFIG_KMOD=y
    CONFIG_STOP_MACHINE=y
    CONFIG_BLOCK=y
    CONFIG_BLK_DEV_IO_TRACE=y
    # CONFIG_BLK_DEV_BSG is not set

    #
    # IO Schedulers
    #
    CONFIG_IOSCHED_NOOP=y
    CONFIG_IOSCHED_AS=m
    CONFIG_IOSCHED_DEADLINE=m
    CONFIG_IOSCHED_CFQ=y
    # CONFIG_DEFAULT_AS is not set
    # CONFIG_DEFAULT_DEADLINE is not set
    CONFIG_DEFAULT_CFQ=y
    # CONFIG_DEFAULT_NOOP is not set
    CONFIG_DEFAULT_IOSCHED="cfq"
    CONFIG_PREEMPT_NOTIFIERS=y

    #
    # Processor type and features
    #
    # CONFIG_TICK_ONESHOT is not set
    # CONFIG_NO_HZ is not set
    # CONFIG_HIGH_RES_TIMERS is not set
    CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
    CONFIG_X86_PC=y
    # CONFIG_X86_VSMP is not set
    # CONFIG_MK8 is not set
    # CONFIG_MPSC is not set
    CONFIG_MCORE2=y
    # CONFIG_GENERIC_CPU is not set
    CONFIG_X86_L1_CACHE_BYTES=64
    CONFIG_X86_L1_CACHE_SHIFT=6
    CONFIG_X86_INTERNODE_CACHE_BYTES=64
    CONFIG_X86_TSC=y
    CONFIG_X86_GOOD_APIC=y
    CONFIG_MICROCODE=m
    CONFIG_MICROCODE_OLD_INTERFACE=y
    CONFIG_X86_MSR=m
    CONFIG_X86_CPUID=m
    CONFIG_X86_HT=y
    CONFIG_X86_IO_APIC=y
    CONFIG_X86_LOCAL_APIC=y
    CONFIG_MTRR=y
    CONFIG_SMP=y
    CONFIG_SCHED_SMT=y
    CONFIG_SCHED_MC=y
    CONFIG_PREEMPT_NONE=y
    # CONFIG_PREEMPT_VOLUNTARY is not set
    # CONFIG_PREEMPT is not set
    # CONFIG_PREEMPT_BKL is not set
    CONFIG_NUMA=y
    # CONFIG_K8_NUMA is not set
    CONFIG_NODES_SHIFT=6
    CONFIG_X86_64_ACPI_NUMA=y
    # CONFIG_NUMA_EMU is not set
    CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
    CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
    CONFIG_ARCH_SPARSEMEM_ENABLE=y
    CONFIG_SELECT_MEMORY_MODEL=y
    # CONFIG_FLATMEM_MANUAL is not set
    CONFIG_DISCONTIGMEM_MANUAL=y
    # CONFIG_SPARSEMEM_MANUAL is not set
    CONFIG_DISCONTIGMEM=y
    CONFIG_FLAT_NODE_MEM_MAP=y
    CONFIG_NEED_MULTIPLE_NODES=y
    # CONFIG_SPARSEMEM_STATIC is not set
    CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
    # CONFIG_MEMORY_HOTPLUG is not set
    CONFIG_SPLIT_PTLOCK_CPUS=4
    # CONFIG_MIGRATION is not set
    CONFIG_RESOURCES_64BIT=y
    CONFIG_ZONE_DMA_FLAG=1
    CONFIG_BOUNCE=y
    CONFIG_VIRT_TO_BUS=y
    CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
    CONFIG_OUT_OF_LINE_PFN_TO_PAGE=y
    CONFIG_NR_CPUS=8
    CONFIG_PHYSICAL_ALIGN=0x200000
    CONFIG_HOTPLUG_CPU=y
    CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
    CONFIG_HPET_TIMER=y
    CONFIG_HPET_EMULATE_RTC=y
    CONFIG_IOMMU=y
    # CONFIG_CALGARY_IOMMU is not set
    CONFIG_SWIOTLB=y
    CONFIG_X86_MCE=y
    CONFIG_X86_MCE_INTEL=y
    # CONFIG_X86_MCE_AMD is not set
    CONFIG_KEXEC=y
    CONFIG_CRASH_DUMP=y
    # CONFIG_RELOCATABLE is not set
    CONFIG_PHYSICAL_START=0x1000000
    CONFIG_SECCOMP=y
    # CONFIG_CC_STACKPROTECTOR is not set
    CONFIG_HZ_100=y
    # CONFIG_HZ_250 is not set
    # CONFIG_HZ_300 is not set
    # CONFIG_HZ_1000 is not set
    CONFIG_HZ=100
    CONFIG_K8_NB=y
    CONFIG_GENERIC_HARDIRQS=y
    CONFIG_GENERIC_IRQ_PROBE=y
    CONFIG_ISA_DMA_API=y
    CONFIG_GENERIC_PENDING_IRQ=y

    #
    # Power management options
    #
    CONFIG_PM=y
    # CONFIG_PM_LEGACY is not set
    # CONFIG_PM_DEBUG is not set
    CONFIG_PM_SLEEP_SMP=y
    CONFIG_PM_SLEEP=y
    CONFIG_SUSPEND_SMP_POSSIBLE=y
    CONFIG_SUSPEND=y
    CONFIG_HIBERNATION_SMP_POSSIBLE=y
    CONFIG_ACPI=y
    CONFIG_ACPI_SLEEP=y
    CONFIG_ACPI_PROCFS=y
    CONFIG_ACPI_PROC_EVENT=y
    CONFIG_ACPI_AC=m
    CONFIG_ACPI_BATTERY=m
    CONFIG_ACPI_BUTTON=m
    CONFIG_ACPI_VIDEO=m
    CONFIG_ACPI_FAN=m
    # CONFIG_ACPI_DOCK is not set
    CONFIG_ACPI_PROCESSOR=m
    CONFIG_ACPI_HOTPLUG_CPU=y
    CONFIG_ACPI_THERMAL=m
    CONFIG_ACPI_NUMA=y
    # CONFIG_ACPI_ASUS is not set
    # CONFIG_ACPI_TOSHIBA is not set
    CONFIG_ACPI_BLACKLIST_YEAR=0
    # CONFIG_ACPI_DEBUG is not set
    CONFIG_ACPI_EC=y
    CONFIG_ACPI_POWER=y
    CONFIG_ACPI_SYSTEM=y
    CONFIG_X86_PM_TIMER=y
    CONFIG_ACPI_CONTAINER=m
    # CONFIG_ACPI_SBS is not set

    #
    # CPU Frequency scaling
    #
    CONFIG_CPU_FREQ=y
    CONFIG_CPU_FREQ_TABLE=m
    # CONFIG_CPU_FREQ_DEBUG is not set
    CONFIG_CPU_FREQ_STAT=m
    # CONFIG_CPU_FREQ_STAT_DETAILS is not set
    CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
    # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
    # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
    # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
    CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
    CONFIG_CPU_FREQ_GOV_POWERSAVE=m
    CONFIG_CPU_FREQ_GOV_USERSPACE=m
    CONFIG_CPU_FREQ_GOV_ONDEMAND=m
    CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m

    #
    # CPUFreq processor drivers
    #
    # CONFIG_X86_POWERNOW_K8 is not set
    # CONFIG_X86_SPEEDSTEP_CENTRINO is not set
    CONFIG_X86_ACPI_CPUFREQ=m

    #
    # shared options
    #
    # CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
    # CONFIG_X86_P4_CLOCKMOD is not set
    # CONFIG_X86_SPEEDSTEP_LIB is not set

    #
    # Bus options (PCI etc.)
    #
    CONFIG_PCI=y
    CONFIG_PCI_DIRECT=y
    CONFIG_PCI_MMCONFIG=y
    CONFIG_DMAR=y
    CONFIG_DMAR_GFX_WA=y
    CONFIG_DMAR_FLOPPY_WA=y
    CONFIG_PCIEPORTBUS=y
    CONFIG_PCIEAER=y
    CONFIG_ARCH_SUPPORTS_MSI=y
    CONFIG_PCI_MSI=y
    # CONFIG_PCI_DEBUG is not set
    CONFIG_HT_IRQ=y
    # CONFIG_PCCARD is not set
    # CONFIG_HOTPLUG_PCI is not set

    #
    # Executable file formats / Emulations
    #
    CONFIG_BINFMT_ELF=y
    CONFIG_BINFMT_MISC=m
    CONFIG_IA32_EMULATION=y
    CONFIG_IA32_AOUT=m
    CONFIG_COMPAT=y
    CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
    CONFIG_SYSVIPC_COMPAT=y

    #
    # Networking
    #
    CONFIG_NET=y

    #
    # Networking options
    #
    CONFIG_PACKET=y
    CONFIG_PACKET_MMAP=y
    CONFIG_UNIX=y
    CONFIG_XFRM=y
    CONFIG_XFRM_USER=m
    # CONFIG_XFRM_SUB_POLICY is not set
    # CONFIG_XFRM_MIGRATE is not set
    CONFIG_NET_KEY=m
    # CONFIG_NET_KEY_MIGRATE is not set
    CONFIG_INET=y
    CONFIG_IP_MULTICAST=y
    CONFIG_IP_ADVANCED_ROUTER=y
    CONFIG_ASK_IP_FIB_HASH=y
    # CONFIG_IP_FIB_TRIE is not set
    CONFIG_IP_FIB_HASH=y
    CONFIG_IP_MULTIPLE_TABLES=y
    CONFIG_IP_ROUTE_MULTIPATH=y
    CONFIG_IP_ROUTE_VERBOSE=y
    # CONFIG_IP_PNP is not set
    CONFIG_NET_IPIP=m
    CONFIG_NET_IPGRE=m
    CONFIG_NET_IPGRE_BROADCAST=y
    CONFIG_IP_MROUTE=y
    CONFIG_IP_PIMSM_V1=y
    CONFIG_IP_PIMSM_V2=y
    # CONFIG_ARPD is not set
    CONFIG_SYN_COOKIES=y
    CONFIG_INET_AH=m
    CONFIG_INET_ESP=m
    CONFIG_INET_IPCOMP=m
    CONFIG_INET_XFRM_TUNNEL=m
    CONFIG_INET_TUNNEL=m
    CONFIG_INET_XFRM_MODE_TRANSPORT=m
    CONFIG_INET_XFRM_MODE_TUNNEL=m
    CONFIG_INET_XFRM_MODE_BEET=m
    # CONFIG_INET_LRO is not set
    CONFIG_INET_DIAG=m
    CONFIG_INET_TCP_DIAG=m
    CONFIG_TCP_CONG_ADVANCED=y
    CONFIG_TCP_CONG_BIC=y
    CONFIG_TCP_CONG_CUBIC=m
    CONFIG_TCP_CONG_WESTWOOD=m
    CONFIG_TCP_CONG_HTCP=m
    CONFIG_TCP_CONG_HSTCP=m
    CONFIG_TCP_CONG_HYBLA=m
    CONFIG_TCP_CONG_VEGAS=m
    CONFIG_TCP_CONG_SCALABLE=m
    CONFIG_TCP_CONG_LP=m
    CONFIG_TCP_CONG_VENO=m
    # CONFIG_TCP_CONG_YEAH is not set
    # CONFIG_TCP_CONG_ILLINOIS is not set
    CONFIG_DEFAULT_BIC=y
    # CONFIG_DEFAULT_CUBIC is not set
    # CONFIG_DEFAULT_HTCP is not set
    # CONFIG_DEFAULT_VEGAS is not set
    # CONFIG_DEFAULT_WESTWOOD is not set
    # CONFIG_DEFAULT_RENO is not set
    CONFIG_DEFAULT_TCP_CONG="bic"
    # CONFIG_TCP_MD5SIG is not set
    CONFIG_IP_VS=m
    # CONFIG_IP_VS_DEBUG is not set
    CONFIG_IP_VS_TAB_BITS=12

    #
    # IPVS transport protocol load balancing support
    #
    CONFIG_IP_VS_PROTO_TCP=y
    CONFIG_IP_VS_PROTO_UDP=y
    CONFIG_IP_VS_PROTO_ESP=y
    CONFIG_IP_VS_PROTO_AH=y

    #
    # IPVS scheduler
    #
    CONFIG_IP_VS_RR=m
    CONFIG_IP_VS_WRR=m
    CONFIG_IP_VS_LC=m
    CONFIG_IP_VS_WLC=m
    CONFIG_IP_VS_LBLC=m
    CONFIG_IP_VS_LBLCR=m
    CONFIG_IP_VS_DH=m
    CONFIG_IP_VS_SH=m
    CONFIG_IP_VS_SED=m
    CONFIG_IP_VS_NQ=m

    #
    # IPVS application helper
    #
    CONFIG_IP_VS_FTP=m
    CONFIG_IPV6=m
    CONFIG_IPV6_PRIVACY=y
    # CONFIG_IPV6_ROUTER_PREF is not set
    # CONFIG_IPV6_OPTIMISTIC_DAD is not set
    CONFIG_INET6_AH=m
    CONFIG_INET6_ESP=m
    CONFIG_INET6_IPCOMP=m
    # CONFIG_IPV6_MIP6 is not set
    CONFIG_INET6_XFRM_TUNNEL=m
    CONFIG_INET6_TUNNEL=m
    CONFIG_INET6_XFRM_MODE_TRANSPORT=m
    CONFIG_INET6_XFRM_MODE_TUNNEL=m
    CONFIG_INET6_XFRM_MODE_BEET=m
    # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
    CONFIG_IPV6_SIT=m
    CONFIG_IPV6_TUNNEL=m
    # CONFIG_IPV6_MULTIPLE_TABLES is not set
    # CONFIG_NETLABEL is not set
    CONFIG_NETWORK_SECMARK=y
    CONFIG_NETFILTER=y
    # CONFIG_NETFILTER_DEBUG is not set
    CONFIG_BRIDGE_NETFILTER=y

    #
    # Core Netfilter Configuration
    #
    CONFIG_NETFILTER_NETLINK=m
    CONFIG_NETFILTER_NETLINK_QUEUE=m
    CONFIG_NETFILTER_NETLINK_LOG=m
    CONFIG_NF_CONNTRACK_ENABLED=m
    CONFIG_NF_CONNTRACK=m
    CONFIG_NF_CT_ACCT=y
    CONFIG_NF_CONNTRACK_MARK=y
    CONFIG_NF_CONNTRACK_SECMARK=y
    CONFIG_NF_CONNTRACK_EVENTS=y
    CONFIG_NF_CT_PROTO_GRE=m
    CONFIG_NF_CT_PROTO_SCTP=m
    # CONFIG_NF_CT_PROTO_UDPLITE is not set
    CONFIG_NF_CONNTRACK_AMANDA=m
    CONFIG_NF_CONNTRACK_FTP=m
    CONFIG_NF_CONNTRACK_H323=m
    CONFIG_NF_CONNTRACK_IRC=m
    CONFIG_NF_CONNTRACK_NETBIOS_NS=m
    CONFIG_NF_CONNTRACK_PPTP=m
    # CONFIG_NF_CONNTRACK_SANE is not set
    CONFIG_NF_CONNTRACK_SIP=m
    CONFIG_NF_CONNTRACK_TFTP=m
    CONFIG_NF_CT_NETLINK=m
    CONFIG_NETFILTER_XTABLES=m
    CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
    CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
    CONFIG_NETFILTER_XT_TARGET_DSCP=m
    CONFIG_NETFILTER_XT_TARGET_MARK=m
    CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
    CONFIG_NETFILTER_XT_TARGET_NFLOG=m
    CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
    # CONFIG_NETFILTER_XT_TARGET_TRACE is not set
    CONFIG_NETFILTER_XT_TARGET_SECMARK=m
    CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
    # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
    CONFIG_NETFILTER_XT_MATCH_COMMENT=m
    CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
    # CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
    CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
    CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
    CONFIG_NETFILTER_XT_MATCH_DCCP=m
    # CONFIG_NETFILTER_XT_MATCH_DSCP is not set
    CONFIG_NETFILTER_XT_MATCH_ESP=m
    CONFIG_NETFILTER_XT_MATCH_HELPER=m
    CONFIG_NETFILTER_XT_MATCH_LENGTH=m
    CONFIG_NETFILTER_XT_MATCH_LIMIT=m
    CONFIG_NETFILTER_XT_MATCH_MAC=m
    CONFIG_NETFILTER_XT_MATCH_MARK=m
    CONFIG_NETFILTER_XT_MATCH_POLICY=m
    CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
    CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
    CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
    CONFIG_NETFILTER_XT_MATCH_QUOTA=m
    CONFIG_NETFILTER_XT_MATCH_REALM=m
    CONFIG_NETFILTER_XT_MATCH_SCTP=m
    CONFIG_NETFILTER_XT_MATCH_STATE=m
    CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
    CONFIG_NETFILTER_XT_MATCH_STRING=m
    CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
    # CONFIG_NETFILTER_XT_MATCH_U32 is not set
    CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m

    #
    # IP: Netfilter Configuration
    #
    CONFIG_NF_CONNTRACK_IPV4=m
    CONFIG_NF_CONNTRACK_PROC_COMPAT=y
    CONFIG_IP_NF_QUEUE=m
    CONFIG_IP_NF_IPTABLES=m
    CONFIG_IP_NF_MATCH_IPRANGE=m
    CONFIG_IP_NF_MATCH_TOS=m
    CONFIG_IP_NF_MATCH_RECENT=m
    CONFIG_IP_NF_MATCH_ECN=m
    CONFIG_IP_NF_MATCH_AH=m
    CONFIG_IP_NF_MATCH_TTL=m
    CONFIG_IP_NF_MATCH_OWNER=m
    CONFIG_IP_NF_MATCH_ADDRTYPE=m
    CONFIG_IP_NF_FILTER=m
    CONFIG_IP_NF_TARGET_REJECT=m
    CONFIG_IP_NF_TARGET_LOG=m
    CONFIG_IP_NF_TARGET_ULOG=m
    CONFIG_NF_NAT=m
    CONFIG_NF_NAT_NEEDED=y
    CONFIG_IP_NF_TARGET_MASQUERADE=m
    CONFIG_IP_NF_TARGET_REDIRECT=m
    CONFIG_IP_NF_TARGET_NETMAP=m
    CONFIG_IP_NF_TARGET_SAME=m
    CONFIG_NF_NAT_SNMP_BASIC=m
    CONFIG_NF_NAT_PROTO_GRE=m
    CONFIG_NF_NAT_FTP=m
    CONFIG_NF_NAT_IRC=m
    CONFIG_NF_NAT_TFTP=m
    CONFIG_NF_NAT_AMANDA=m
    CONFIG_NF_NAT_PPTP=m
    CONFIG_NF_NAT_H323=m
    CONFIG_NF_NAT_SIP=m
    CONFIG_IP_NF_MANGLE=m
    CONFIG_IP_NF_TARGET_TOS=m
    CONFIG_IP_NF_TARGET_ECN=m
    CONFIG_IP_NF_TARGET_TTL=m
    CONFIG_IP_NF_TARGET_CLUSTERIP=m
    CONFIG_IP_NF_RAW=m
    CONFIG_IP_NF_ARPTABLES=m
    CONFIG_IP_NF_ARPFILTER=m
    CONFIG_IP_NF_ARP_MANGLE=m

    #
    # IPv6: Netfilter Configuration (EXPERIMENTAL)
    #
    CONFIG_NF_CONNTRACK_IPV6=m
    CONFIG_IP6_NF_QUEUE=m
    CONFIG_IP6_NF_IPTABLES=m
    CONFIG_IP6_NF_MATCH_RT=m
    CONFIG_IP6_NF_MATCH_OPTS=m
    CONFIG_IP6_NF_MATCH_FRAG=m
    CONFIG_IP6_NF_MATCH_HL=m
    CONFIG_IP6_NF_MATCH_OWNER=m
    CONFIG_IP6_NF_MATCH_IPV6HEADER=m
    CONFIG_IP6_NF_MATCH_AH=m
    CONFIG_IP6_NF_MATCH_MH=m
    CONFIG_IP6_NF_MATCH_EUI64=m
    CONFIG_IP6_NF_FILTER=m
    CONFIG_IP6_NF_TARGET_LOG=m
    CONFIG_IP6_NF_TARGET_REJECT=m
    CONFIG_IP6_NF_MANGLE=m
    CONFIG_IP6_NF_TARGET_HL=m
    CONFIG_IP6_NF_RAW=m

    #
    # Bridge: Netfilter Configuration
    #
    CONFIG_BRIDGE_NF_EBTABLES=m
    CONFIG_BRIDGE_EBT_BROUTE=m
    CONFIG_BRIDGE_EBT_T_FILTER=m
    CONFIG_BRIDGE_EBT_T_NAT=m
    CONFIG_BRIDGE_EBT_802_3=m
    CONFIG_BRIDGE_EBT_AMONG=m
    CONFIG_BRIDGE_EBT_ARP=m
    CONFIG_BRIDGE_EBT_IP=m
    CONFIG_BRIDGE_EBT_LIMIT=m
    CONFIG_BRIDGE_EBT_MARK=m
    CONFIG_BRIDGE_EBT_PKTTYPE=m
    CONFIG_BRIDGE_EBT_STP=m
    CONFIG_BRIDGE_EBT_VLAN=m
    CONFIG_BRIDGE_EBT_ARPREPLY=m
    CONFIG_BRIDGE_EBT_DNAT=m
    CONFIG_BRIDGE_EBT_MARK_T=m
    CONFIG_BRIDGE_EBT_REDIRECT=m
    CONFIG_BRIDGE_EBT_SNAT=m
    CONFIG_BRIDGE_EBT_LOG=m
    CONFIG_BRIDGE_EBT_ULOG=m
    CONFIG_IP_DCCP=m
    CONFIG_INET_DCCP_DIAG=m
    CONFIG_IP_DCCP_ACKVEC=y

    #
    # DCCP CCIDs Configuration (EXPERIMENTAL)
    #
    CONFIG_IP_DCCP_CCID2=m
    # CONFIG_IP_DCCP_CCID2_DEBUG is not set
    CONFIG_IP_DCCP_CCID3=m
    CONFIG_IP_DCCP_TFRC_LIB=m
    # CONFIG_IP_DCCP_CCID3_DEBUG is not set
    CONFIG_IP_DCCP_CCID3_RTO=100

    #
    # DCCP Kernel Hacking
    #
    # CONFIG_IP_DCCP_DEBUG is not set
    # CONFIG_NET_DCCPPROBE is not set
    CONFIG_IP_SCTP=m
    # CONFIG_SCTP_DBG_MSG is not set
    # CONFIG_SCTP_DBG_OBJCNT is not set
    # CONFIG_SCTP_HMAC_NONE is not set
    # CONFIG_SCTP_HMAC_SHA1 is not set
    CONFIG_SCTP_HMAC_MD5=y
    CONFIG_TIPC=m
    CONFIG_TIPC_ADVANCED=y
    CONFIG_TIPC_ZONES=3
    CONFIG_TIPC_CLUSTERS=1
    CONFIG_TIPC_NODES=255
    CONFIG_TIPC_SLAVE_NODES=0
    CONFIG_TIPC_PORTS=8191
    CONFIG_TIPC_LOG=0
    # CONFIG_TIPC_DEBUG is not set
    # CONFIG_ATM is not set
    CONFIG_BRIDGE=m
    CONFIG_VLAN_8021Q=m
    # CONFIG_DECNET is not set
    CONFIG_LLC=m
    CONFIG_LLC2=m
    # CONFIG_IPX is not set
    # CONFIG_ATALK is not set
    # CONFIG_X25 is not set
    # CONFIG_LAPB is not set
    # CONFIG_ECONET is not set
    # CONFIG_WAN_ROUTER is not set

    #
    # QoS and/or fair queueing
    #
    CONFIG_NET_SCHED=y
    CONFIG_NET_SCH_FIFO=y

    #
    # Queueing/Scheduling
    #
    CONFIG_NET_SCH_CBQ=m
    CONFIG_NET_SCH_HTB=m
    CONFIG_NET_SCH_HFSC=m
    CONFIG_NET_SCH_PRIO=m
    # CONFIG_NET_SCH_RR is not set
    CONFIG_NET_SCH_RED=m
    CONFIG_NET_SCH_SFQ=m
    CONFIG_NET_SCH_TEQL=m
    CONFIG_NET_SCH_TBF=m
    CONFIG_NET_SCH_GRED=m
    CONFIG_NET_SCH_DSMARK=m
    CONFIG_NET_SCH_NETEM=m
    CONFIG_NET_SCH_INGRESS=m

    #
    # Classification
    #
    CONFIG_NET_CLS=y
    CONFIG_NET_CLS_BASIC=m
    CONFIG_NET_CLS_TCINDEX=m
    CONFIG_NET_CLS_ROUTE4=m
    CONFIG_NET_CLS_ROUTE=y
    CONFIG_NET_CLS_FW=m
    CONFIG_NET_CLS_U32=m
    # CONFIG_CLS_U32_PERF is not set
    # CONFIG_CLS_U32_MARK is not set
    CONFIG_NET_CLS_RSVP=m
    CONFIG_NET_CLS_RSVP6=m
    CONFIG_NET_EMATCH=y
    CONFIG_NET_EMATCH_STACK=32
    CONFIG_NET_EMATCH_CMP=m
    CONFIG_NET_EMATCH_NBYTE=m
    CONFIG_NET_EMATCH_U32=m
    CONFIG_NET_EMATCH_META=m
    CONFIG_NET_EMATCH_TEXT=m
    CONFIG_NET_CLS_ACT=y
    CONFIG_NET_ACT_POLICE=m
    CONFIG_NET_ACT_GACT=m
    CONFIG_GACT_PROB=y
    CONFIG_NET_ACT_MIRRED=m
    CONFIG_NET_ACT_IPT=m
    CONFIG_NET_ACT_PEDIT=m
    CONFIG_NET_ACT_SIMP=m
    # CONFIG_NET_CLS_POLICE is not set
    # CONFIG_NET_CLS_IND is not set

    #
    # Network testing
    #
    CONFIG_NET_PKTGEN=m
    # CONFIG_NET_TCPPROBE is not set
    # CONFIG_HAMRADIO is not set
    # CONFIG_IRDA is not set
    # CONFIG_BT is not set
    # CONFIG_AF_RXRPC is not set
    CONFIG_FIB_RULES=y

    #
    # Wireless
    #
    CONFIG_CFG80211=m
    CONFIG_NL80211=y
    CONFIG_WIRELESS_EXT=y
    CONFIG_MAC80211=m
    CONFIG_MAC80211_DEBUGFS=y
    # CONFIG_MAC80211_DEBUG is not set
    CONFIG_IEEE80211=m
    # CONFIG_IEEE80211_DEBUG is not set
    CONFIG_IEEE80211_CRYPT_WEP=m
    CONFIG_IEEE80211_CRYPT_CCMP=m
    CONFIG_IEEE80211_CRYPT_TKIP=m
    CONFIG_IEEE80211_SOFTMAC=m
    # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
    # CONFIG_RFKILL is not set
    # CONFIG_NET_9P is not set

    #
    # Device Drivers
    #

    #
    # Generic Driver Options
    #
    CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
    CONFIG_STANDALONE=y
    CONFIG_PREVENT_FIRMWARE_BUILD=y
    CONFIG_FW_LOADER=m
    # CONFIG_DEBUG_DRIVER is not set
    # CONFIG_DEBUG_DEVRES is not set
    # CONFIG_SYS_HYPERVISOR is not set
    # CONFIG_CONNECTOR is not set
    # CONFIG_MTD is not set
    # CONFIG_PARPORT is not set
    CONFIG_PNP=y
    CONFIG_PNP_DEBUG=y

    #
    # Protocols
    #
    CONFIG_PNPACPI=y
    CONFIG_BLK_DEV=y
    CONFIG_BLK_DEV_FD=m
    # CONFIG_BLK_CPQ_DA is not set
    # CONFIG_BLK_CPQ_CISS_DA is not set
    # CONFIG_BLK_DEV_DAC960 is not set
    # CONFIG_BLK_DEV_UMEM is not set
    # CONFIG_BLK_DEV_COW_COMMON is not set
    CONFIG_BLK_DEV_LOOP=m
    CONFIG_BLK_DEV_CRYPTOLOOP=m
    # CONFIG_BLK_DEV_NBD is not set
    # CONFIG_BLK_DEV_SX8 is not set
    CONFIG_BLK_DEV_UB=m
    CONFIG_BLK_DEV_RAM=y
    CONFIG_BLK_DEV_RAM_COUNT=16
    CONFIG_BLK_DEV_RAM_SIZE=65536
    CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
    CONFIG_CDROM_PKTCDVD=m
    CONFIG_CDROM_PKTCDVD_BUFFERS=128
    # CONFIG_CDROM_PKTCDVD_WCACHE is not set
    # CONFIG_ATA_OVER_ETH is not set
    CONFIG_MISC_DEVICES=y
    # CONFIG_IBM_ASM is not set
    # CONFIG_PHANTOM is not set
    CONFIG_EEPROM_93CX6=m
    # CONFIG_SGI_IOC4 is not set
    # CONFIG_TIFM_CORE is not set
    # CONFIG_FUJITSU_LAPTOP is not set
    # CONFIG_MSI_LAPTOP is not set
    # CONFIG_SONY_LAPTOP is not set
    # CONFIG_THINKPAD_ACPI is not set
    CONFIG_IDE=y
    CONFIG_IDE_MAX_HWIFS=4
    CONFIG_BLK_DEV_IDE=y

    #
    # Please see Documentation/ide.txt for help/info on IDE drives
    #
    # CONFIG_BLK_DEV_IDE_SATA is not set
    # CONFIG_BLK_DEV_HD_IDE is not set
    CONFIG_BLK_DEV_IDEDISK=y
    # CONFIG_IDEDISK_MULTI_MODE is not set
    # CONFIG_BLK_DEV_IDECD is not set
    # CONFIG_BLK_DEV_IDETAPE is not set
    # CONFIG_BLK_DEV_IDEFLOPPY is not set
    # CONFIG_BLK_DEV_IDESCSI is not set
    # CONFIG_BLK_DEV_IDEACPI is not set
    # CONFIG_IDE_TASK_IOCTL is not set
    CONFIG_IDE_PROC_FS=y

    #
    # IDE chipset support/bugfixes
    #
    CONFIG_IDE_GENERIC=y
    # CONFIG_BLK_DEV_PLATFORM is not set
    # CONFIG_BLK_DEV_CMD640 is not set
    # CONFIG_BLK_DEV_IDEPNP is not set

    #
    # PCI IDE chipsets support
    #
    # CONFIG_IDEPCI_PCIBUS_ORDER is not set
    # CONFIG_BLK_DEV_GENERIC is not set
    # CONFIG_BLK_DEV_OPTI621 is not set
    # CONFIG_BLK_DEV_RZ1000 is not set
    # CONFIG_BLK_DEV_AEC62XX is not set
    # CONFIG_BLK_DEV_ALI15X3 is not set
    # CONFIG_BLK_DEV_AMD74XX is not set
    # CONFIG_BLK_DEV_ATIIXP is not set
    # CONFIG_BLK_DEV_CMD64X is not set
    # CONFIG_BLK_DEV_TRIFLEX is not set
    # CONFIG_BLK_DEV_CY82C693 is not set
    # CONFIG_BLK_DEV_CS5520 is not set
    # CONFIG_BLK_DEV_CS5530 is not set
    # CONFIG_BLK_DEV_HPT34X is not set
    # CONFIG_BLK_DEV_HPT366 is not set
    # CONFIG_BLK_DEV_JMICRON is not set
    # CONFIG_BLK_DEV_SC1200 is not set
    # CONFIG_BLK_DEV_PIIX is not set
    # CONFIG_BLK_DEV_IT8213 is not set
    # CONFIG_BLK_DEV_IT821X is not set
    # CONFIG_BLK_DEV_NS87415 is not set
    # CONFIG_BLK_DEV_PDC202XX_OLD is not set
    # CONFIG_BLK_DEV_PDC202XX_NEW is not set
    # CONFIG_BLK_DEV_SVWKS is not set
    # CONFIG_BLK_DEV_SIIMAGE is not set
    # CONFIG_BLK_DEV_SIS5513 is not set
    # CONFIG_BLK_DEV_SLC90E66 is not set
    # CONFIG_BLK_DEV_TRM290 is not set
    # CONFIG_BLK_DEV_VIA82CXXX is not set
    # CONFIG_BLK_DEV_TC86C001 is not set
    # CONFIG_IDE_ARM is not set
    # CONFIG_BLK_DEV_IDEDMA is not set
    CONFIG_IDE_ARCH_OBSOLETE_INIT=y
    # CONFIG_BLK_DEV_HD is not set

    #
    # SCSI device support
    #
    CONFIG_RAID_ATTRS=m
    CONFIG_SCSI=y
    CONFIG_SCSI_DMA=y
    # CONFIG_SCSI_TGT is not set
    # CONFIG_SCSI_NETLINK is not set
    CONFIG_SCSI_PROC_FS=y

    #
    # SCSI support type (disk, tape, CD-ROM)
    #
    CONFIG_BLK_DEV_SD=y
    # CONFIG_CHR_DEV_ST is not set
    # CONFIG_CHR_DEV_OSST is not set
    CONFIG_BLK_DEV_SR=m
    CONFIG_BLK_DEV_SR_VENDOR=y
    CONFIG_CHR_DEV_SG=m
    CONFIG_CHR_DEV_SCH=m

    #
    # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
    #
    # CONFIG_SCSI_MULTI_LUN is not set
    CONFIG_SCSI_CONSTANTS=y
    CONFIG_SCSI_LOGGING=y
    CONFIG_SCSI_SCAN_ASYNC=y
    CONFIG_SCSI_WAIT_SCAN=m

    #
    # SCSI Transports
    #
    CONFIG_SCSI_SPI_ATTRS=m
    # CONFIG_SCSI_FC_ATTRS is not set
    CONFIG_SCSI_ISCSI_ATTRS=m
    # CONFIG_SCSI_SAS_LIBSAS is not set
    # CONFIG_SCSI_SRP_ATTRS is not set
    CONFIG_SCSI_LOWLEVEL=y
    CONFIG_ISCSI_TCP=m
    # CONFIG_BLK_DEV_3W_XXXX_RAID is not set
    # CONFIG_SCSI_3W_9XXX is not set
    # CONFIG_SCSI_ACARD is not set
    # CONFIG_SCSI_AACRAID is not set
    # CONFIG_SCSI_AIC7XXX is not set
    # CONFIG_SCSI_AIC7XXX_OLD is not set
    # CONFIG_SCSI_AIC79XX is not set
    # CONFIG_SCSI_AIC94XX is not set
    # CONFIG_SCSI_ARCMSR is not set
    # CONFIG_MEGARAID_NEWGEN is not set
    # CONFIG_MEGARAID_LEGACY is not set
    # CONFIG_MEGARAID_SAS is not set
    # CONFIG_SCSI_HPTIOP is not set
    # CONFIG_SCSI_BUSLOGIC is not set
    # CONFIG_SCSI_DMX3191D is not set
    # CONFIG_SCSI_EATA is not set
    # CONFIG_SCSI_FUTURE_DOMAIN is not set
    # CONFIG_SCSI_GDTH is not set
    # CONFIG_SCSI_IPS is not set
    # CONFIG_SCSI_INITIO is not set
    # CONFIG_SCSI_INIA100 is not set
    # CONFIG_SCSI_STEX is not set
    # CONFIG_SCSI_SYM53C8XX_2 is not set
    # CONFIG_SCSI_IPR is not set
    # CONFIG_SCSI_QLOGIC_1280 is not set
    # CONFIG_SCSI_QLA_FC is not set
    # CONFIG_SCSI_QLA_ISCSI is not set
    # CONFIG_SCSI_LPFC is not set
    # CONFIG_SCSI_DC395x is not set
    # CONFIG_SCSI_DC390T is not set
    # CONFIG_SCSI_DEBUG is not set
    # CONFIG_SCSI_SRP is not set
    CONFIG_ATA=y
    # CONFIG_ATA_NONSTANDARD is not set
    CONFIG_ATA_ACPI=y
    CONFIG_SATA_AHCI=y
    # CONFIG_SATA_SVW is not set
    CONFIG_ATA_PIIX=y
    # CONFIG_SATA_MV is not set
    # CONFIG_SATA_NV is not set
    # CONFIG_PDC_ADMA is not set
    # CONFIG_SATA_QSTOR is not set
    # CONFIG_SATA_PROMISE is not set
    # CONFIG_SATA_SX4 is not set
    # CONFIG_SATA_SIL is not set
    # CONFIG_SATA_SIL24 is not set
    # CONFIG_SATA_SIS is not set
    # CONFIG_SATA_ULI is not set
    # CONFIG_SATA_VIA is not set
    # CONFIG_SATA_VITESSE is not set
    # CONFIG_SATA_INIC162X is not set
    # CONFIG_PATA_ALI is not set
    # CONFIG_PATA_AMD is not set
    # CONFIG_PATA_ARTOP is not set
    # CONFIG_PATA_ATIIXP is not set
    # CONFIG_PATA_CMD640_PCI is not set
    # CONFIG_PATA_CMD64X is not set
    # CONFIG_PATA_CS5520 is not set
    # CONFIG_PATA_CS5530 is not set
    # CONFIG_PATA_CYPRESS is not set
    # CONFIG_PATA_EFAR is not set
    CONFIG_ATA_GENERIC=y
    # CONFIG_PATA_HPT366 is not set
    # CONFIG_PATA_HPT37X is not set
    # CONFIG_PATA_HPT3X2N is not set
    # CONFIG_PATA_HPT3X3 is not set
    # CONFIG_PATA_IT821X is not set
    # CONFIG_PATA_IT8213 is not set
    # CONFIG_PATA_JMICRON is not set
    # CONFIG_PATA_TRIFLEX is not set
    # CONFIG_PATA_MARVELL is not set
    CONFIG_PATA_MPIIX=m
    # CONFIG_PATA_OLDPIIX is not set
    # CONFIG_PATA_NETCELL is not set
    # CONFIG_PATA_NS87410 is not set
    # CONFIG_PATA_NS87415 is not set
    # CONFIG_PATA_OPTI is not set
    # CONFIG_PATA_OPTIDMA is not set
    # CONFIG_PATA_PDC_OLD is not set
    # CONFIG_PATA_RADISYS is not set
    # CONFIG_PATA_RZ1000 is not set
    # CONFIG_PATA_SC1200 is not set
    # CONFIG_PATA_SERVERWORKS is not set
    # CONFIG_PATA_PDC2027X is not set
    # CONFIG_PATA_SIL680 is not set
    # CONFIG_PATA_SIS is not set
    # CONFIG_PATA_VIA is not set
    # CONFIG_PATA_WINBOND is not set
    # CONFIG_PATA_PLATFORM is not set
    CONFIG_MD=y
    CONFIG_BLK_DEV_MD=y
    # CONFIG_MD_LINEAR is not set
    CONFIG_MD_RAID0=m
    CONFIG_MD_RAID1=y
    # CONFIG_MD_RAID10 is not set
    # CONFIG_MD_RAID456 is not set
    # CONFIG_MD_MULTIPATH is not set
    # CONFIG_MD_FAULTY is not set
    # CONFIG_BLK_DEV_DM is not set
    # CONFIG_FUSION is not set

    #
    # IEEE 1394 (FireWire) support
    #
    # CONFIG_FIREWIRE is not set
    # CONFIG_IEEE1394 is not set
    # CONFIG_I2O is not set
    # CONFIG_MACINTOSH_DRIVERS is not set
    CONFIG_NETDEVICES=y
    # CONFIG_NETDEVICES_MULTIQUEUE is not set
    CONFIG_IFB=m
    CONFIG_DUMMY=m
    CONFIG_BONDING=m
    # CONFIG_MACVLAN is not set
    # CONFIG_EQUALIZER is not set
    CONFIG_TUN=m
    # CONFIG_VETH is not set
    # CONFIG_NET_SB1000 is not set
    # CONFIG_IP1000 is not set
    # CONFIG_ARCNET is not set
    CONFIG_PHYLIB=m

    #
    # MII PHY device drivers
    #
    CONFIG_MARVELL_PHY=m
    CONFIG_DAVICOM_PHY=m
    CONFIG_QSEMI_PHY=m
    CONFIG_LXT_PHY=m
    CONFIG_CICADA_PHY=m
    CONFIG_VITESSE_PHY=m
    CONFIG_SMSC_PHY=m
    CONFIG_BROADCOM_PHY=m
    # CONFIG_ICPLUS_PHY is not set
    CONFIG_FIXED_PHY=m
    CONFIG_FIXED_MII_10_FDX=y
    CONFIG_FIXED_MII_100_FDX=y
    # CONFIG_FIXED_MII_1000_FDX is not set
    CONFIG_FIXED_MII_AMNT=1
    CONFIG_NET_ETHERNET=y
    CONFIG_MII=y
    # CONFIG_HAPPYMEAL is not set
    # CONFIG_SUNGEM is not set
    # CONFIG_CASSINI is not set
    # CONFIG_NET_VENDOR_3COM is not set
    # CONFIG_NET_TULIP is not set
    # CONFIG_HP100 is not set
    # CONFIG_IBM_NEW_EMAC_ZMII is not set
    # CONFIG_IBM_NEW_EMAC_RGMII is not set
    # CONFIG_IBM_NEW_EMAC_TAH is not set
    # CONFIG_IBM_NEW_EMAC_EMAC4 is not set
    CONFIG_NET_PCI=y
    # CONFIG_PCNET32 is not set
    # CONFIG_AMD8111_ETH is not set
    # CONFIG_ADAPTEC_STARFIRE is not set
    # CONFIG_B44 is not set
    # CONFIG_FORCEDETH is not set
    # CONFIG_EEPRO100 is not set
    # CONFIG_E100 is not set
    # CONFIG_FEALNX is not set
    # CONFIG_NATSEMI is not set
    CONFIG_NE2K_PCI=y
    # CONFIG_8139CP is not set
    CONFIG_8139TOO=y
    # CONFIG_8139TOO_PIO is not set
    CONFIG_8139TOO_TUNE_TWISTER=y
    CONFIG_8139TOO_8129=y
    # CONFIG_8139_OLD_RX_RESET is not set
    # CONFIG_SIS900 is not set
    # CONFIG_EPIC100 is not set
    # CONFIG_SUNDANCE is not set
    # CONFIG_VIA_RHINE is not set
    # CONFIG_SC92031 is not set
    CONFIG_NETDEV_1000=y
    # CONFIG_ACENIC is not set
    # CONFIG_DL2K is not set
    CONFIG_E1000=y
    # CONFIG_E1000_NAPI is not set
    # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
    # CONFIG_E1000E is not set
    # CONFIG_NS83820 is not set
    # CONFIG_HAMACHI is not set
    # CONFIG_YELLOWFIN is not set
    # CONFIG_R8169 is not set
    # CONFIG_SIS190 is not set
    # CONFIG_SKGE is not set
    # CONFIG_SKY2 is not set
    # CONFIG_SK98LIN is not set
    # CONFIG_VIA_VELOCITY is not set
    # CONFIG_TIGON3 is not set
    # CONFIG_BNX2 is not set
    # CONFIG_QLA3XXX is not set
    # CONFIG_ATL1 is not set
    # CONFIG_NETDEV_10000 is not set
    # CONFIG_TR is not set

    #
    # Wireless LAN
    #
    # CONFIG_WLAN_PRE80211 is not set
    CONFIG_WLAN_80211=y
    # CONFIG_IPW2100 is not set
    # CONFIG_IPW2200 is not set
    # CONFIG_LIBERTAS is not set
    # CONFIG_AIRO is not set
    # CONFIG_HERMES is not set
    # CONFIG_USB_ATMEL is not set
    # CONFIG_ATMEL is not set
    # CONFIG_PRISM54 is not set
    # CONFIG_USB_ZD1201 is not set
    # CONFIG_RTL8187 is not set
    # CONFIG_ADM8211 is not set
    # CONFIG_P54_COMMON is not set
    CONFIG_ATH5K=m
    # CONFIG_IWLWIFI is not set
    # CONFIG_HOSTAP is not set
    # CONFIG_BCM43XX is not set
    # CONFIG_B43 is not set
    # CONFIG_B43LEGACY is not set
    # CONFIG_ZD1211RW is not set
    # CONFIG_RT2X00 is not set

    #
    # USB Network Adapters
    #
    # CONFIG_USB_CATC is not set
    # CONFIG_USB_KAWETH is not set
    # CONFIG_USB_PEGASUS is not set
    # CONFIG_USB_RTL8150 is not set
    # CONFIG_USB_USBNET_MII is not set
    # CONFIG_USB_USBNET is not set
    # CONFIG_WAN is not set
    # CONFIG_FDDI is not set
    # CONFIG_HIPPI is not set
    # CONFIG_PPP is not set
    # CONFIG_SLIP is not set
    # CONFIG_NET_FC is not set
    # CONFIG_SHAPER is not set
    CONFIG_NETCONSOLE=y
    # CONFIG_NETCONSOLE_DYNAMIC is not set
    CONFIG_NETPOLL=y
    CONFIG_NETPOLL_TRAP=y
    CONFIG_NET_POLL_CONTROLLER=y
    # CONFIG_ISDN is not set
    # CONFIG_PHONE is not set

    #
    # Input device support
    #
    CONFIG_INPUT=y
    # CONFIG_INPUT_FF_MEMLESS is not set
    # CONFIG_INPUT_POLLDEV is not set

    #
    # Userland interfaces
    #
    CONFIG_INPUT_MOUSEDEV=y
    CONFIG_INPUT_MOUSEDEV_PSAUX=y
    CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
    CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
    # CONFIG_INPUT_JOYDEV is not set
    # CONFIG_INPUT_TSDEV is not set
    CONFIG_INPUT_EVDEV=m
    # CONFIG_INPUT_EVBUG is not set

    #
    # Input Device Drivers
    #
    CONFIG_INPUT_KEYBOARD=y
    CONFIG_KEYBOARD_ATKBD=y
    # CONFIG_KEYBOARD_SUNKBD is not set
    # CONFIG_KEYBOARD_LKKBD is not set
    # CONFIG_KEYBOARD_XTKBD is not set
    # CONFIG_KEYBOARD_NEWTON is not set
    # CONFIG_KEYBOARD_STOWAWAY is not set
    CONFIG_INPUT_MOUSE=y
    CONFIG_MOUSE_PS2=y
    CONFIG_MOUSE_PS2_ALPS=y
    CONFIG_MOUSE_PS2_LOGIPS2PP=y
    CONFIG_MOUSE_PS2_SYNAPTICS=y
    CONFIG_MOUSE_PS2_LIFEBOOK=y
    CONFIG_MOUSE_PS2_TRACKPOINT=y
    # CONFIG_MOUSE_PS2_TOUCHKIT is not set
    # CONFIG_MOUSE_PS2_ELANTECH is not set
    # CONFIG_MOUSE_SERIAL is not set
    # CONFIG_MOUSE_APPLETOUCH is not set
    # CONFIG_MOUSE_VSXXXAA is not set
    # CONFIG_INPUT_JOYSTICK is not set
    # CONFIG_INPUT_TABLET is not set
    # CONFIG_INPUT_TOUCHSCREEN is not set
    CONFIG_INPUT_MISC=y
    CONFIG_INPUT_PCSPKR=m
    # CONFIG_INPUT_ATLAS_BTNS is not set
    # CONFIG_INPUT_ATI_REMOTE is not set
    # CONFIG_INPUT_ATI_REMOTE2 is not set
    # CONFIG_INPUT_KEYSPAN_REMOTE is not set
    # CONFIG_INPUT_POWERMATE is not set
    # CONFIG_INPUT_YEALINK is not set
    CONFIG_INPUT_UINPUT=m

    #
    # Hardware I/O ports
    #
    CONFIG_SERIO=y
    CONFIG_SERIO_I8042=y
    CONFIG_SERIO_SERPORT=m
    # CONFIG_SERIO_CT82C710 is not set
    CONFIG_SERIO_PCIPS2=m
    CONFIG_SERIO_LIBPS2=y
    # CONFIG_SERIO_RAW is not set
    # CONFIG_GAMEPORT is not set

    #
    # Character devices
    #
    CONFIG_VT=y
    # CONFIG_VT_UNICODE is not set
    CONFIG_VT_CONSOLE=y
    CONFIG_HW_CONSOLE=y
    # CONFIG_VT_HW_CONSOLE_BINDING is not set
    # CONFIG_SERIAL_NONSTANDARD is not set
    # CONFIG_NOZOMI is not set

    #
    # Serial drivers
    #
    CONFIG_SERIAL_8250=y
    CONFIG_SERIAL_8250_CONSOLE=y
    CONFIG_FIX_EARLYCON_MEM=y
    CONFIG_SERIAL_8250_PCI=y
    CONFIG_SERIAL_8250_PNP=y
    CONFIG_SERIAL_8250_NR_UARTS=16
    CONFIG_SERIAL_8250_RUNTIME_UARTS=4
    CONFIG_SERIAL_8250_EXTENDED=y
    CONFIG_SERIAL_8250_MANY_PORTS=y
    CONFIG_SERIAL_8250_SHARE_IRQ=y
    # CONFIG_SERIAL_8250_DETECT_IRQ is not set
    CONFIG_SERIAL_8250_RSA=y

    #
    # Non-8250 serial port support
    #
    CONFIG_SERIAL_CORE=y
    CONFIG_SERIAL_CORE_CONSOLE=y
    # CONFIG_SERIAL_JSM is not set
    CONFIG_UNIX98_PTYS=y
    CONFIG_LEGACY_PTYS=y
    CONFIG_LEGACY_PTY_COUNT=256
    CONFIG_IPMI_HANDLER=m
    # CONFIG_IPMI_PANIC_EVENT is not set
    CONFIG_IPMI_DEVICE_INTERFACE=m
    CONFIG_IPMI_SI=m
    CONFIG_IPMI_WATCHDOG=m
    CONFIG_IPMI_POWEROFF=m
    CONFIG_HW_RANDOM=m
    CONFIG_HW_RANDOM_INTEL=m
    # CONFIG_HW_RANDOM_AMD is not set
    CONFIG_NVRAM=m
    CONFIG_RTC=y
    # CONFIG_R3964 is not set
    # CONFIG_APPLICOM is not set
    CONFIG_AGP=y
    CONFIG_AGP_AMD64=y
    # CONFIG_AGP_INTEL is not set
    # CONFIG_AGP_SIS is not set
    # CONFIG_AGP_VIA is not set
    CONFIG_DRM=m
    # CONFIG_DRM_TDFX is not set
    # CONFIG_DRM_R128 is not set
    CONFIG_DRM_RADEON=m
    # CONFIG_DRM_MGA is not set
    # CONFIG_DRM_SIS is not set
    # CONFIG_DRM_VIA is not set
    # CONFIG_DRM_SAVAGE is not set
    # CONFIG_MWAVE is not set
    # CONFIG_PC8736x_GPIO is not set
    # CONFIG_RAW_DRIVER is not set
    # CONFIG_HPET is not set
    CONFIG_HANGCHECK_TIMER=m
    # CONFIG_TCG_TPM is not set
    # CONFIG_TELCLOCK is not set
    CONFIG_DEVPORT=y
    CONFIG_I2C=m
    CONFIG_I2C_BOARDINFO=y
    CONFIG_I2C_CHARDEV=m

    #
    # I2C Algorithms
    #
    CONFIG_I2C_ALGOBIT=m
    CONFIG_I2C_ALGOPCF=m
    CONFIG_I2C_ALGOPCA=m

    #
    # I2C Hardware Bus support
    #
    # CONFIG_I2C_ALI1535 is not set
    # CONFIG_I2C_ALI1563 is not set
    # CONFIG_I2C_ALI15X3 is not set
    # CONFIG_I2C_AMD756 is not set
    # CONFIG_I2C_AMD8111 is not set
    # CONFIG_I2C_I801 is not set
    CONFIG_I2C_I810=m
    # CONFIG_I2C_PIIX4 is not set
    # CONFIG_I2C_NFORCE2 is not set
    # CONFIG_I2C_OCORES is not set
    # CONFIG_I2C_PARPORT_LIGHT is not set
    # CONFIG_I2C_PROSAVAGE is not set
    # CONFIG_I2C_SAVAGE4 is not set
    # CONFIG_I2C_SIMTEC is not set
    # CONFIG_I2C_SIS5595 is not set
    # CONFIG_I2C_SIS630 is not set
    # CONFIG_I2C_SIS96X is not set
    # CONFIG_I2C_TAOS_EVM is not set
    # CONFIG_I2C_STUB is not set
    # CONFIG_I2C_TINY_USB is not set
    # CONFIG_I2C_VIA is not set
    # CONFIG_I2C_VIAPRO is not set
    # CONFIG_I2C_VOODOO3 is not set

    #
    # Miscellaneous I2C Chip support
    #
    # CONFIG_SENSORS_DS1337 is not set
    # CONFIG_SENSORS_DS1374 is not set
    # CONFIG_DS1682 is not set
    CONFIG_SENSORS_EEPROM=m
    # CONFIG_SENSORS_PCF8574 is not set
    # CONFIG_SENSORS_PCA9539 is not set
    # CONFIG_SENSORS_PCF8591 is not set
    # CONFIG_SENSORS_MAX6875 is not set
    # CONFIG_SENSORS_TSL2550 is not set
    # CONFIG_I2C_DEBUG_CORE is not set
    # CONFIG_I2C_DEBUG_ALGO is not set
    # CONFIG_I2C_DEBUG_BUS is not set
    # CONFIG_I2C_DEBUG_CHIP is not set

    #
    # SPI support
    #
    CONFIG_SPI=y
    # CONFIG_SPI_DEBUG is not set
    CONFIG_SPI_MASTER=y

    #
    # SPI Master Controller Drivers
    #
    CONFIG_SPI_BITBANG=m

    #
    # SPI Protocol Masters
    #
    # CONFIG_SPI_AT25 is not set
    # CONFIG_SPI_SPIDEV is not set
    # CONFIG_SPI_TLE62X0 is not set
    # CONFIG_W1 is not set
    # CONFIG_POWER_SUPPLY is not set
    CONFIG_HWMON=y
    CONFIG_HWMON_VID=m
    # CONFIG_SENSORS_ABITUGURU is not set
    # CONFIG_SENSORS_ABITUGURU3 is not set
    # CONFIG_SENSORS_AD7418 is not set
    # CONFIG_SENSORS_ADM1021 is not set
    # CONFIG_SENSORS_ADM1025 is not set
    # CONFIG_SENSORS_ADM1026 is not set
    # CONFIG_SENSORS_ADM1029 is not set
    # CONFIG_SENSORS_ADM1031 is not set
    # CONFIG_SENSORS_ADM9240 is not set
    # CONFIG_SENSORS_ADT7470 is not set
    # CONFIG_SENSORS_K8TEMP is not set
    # CONFIG_SENSORS_ASB100 is not set
    # CONFIG_SENSORS_ATXP1 is not set
    # CONFIG_SENSORS_DS1621 is not set
    # CONFIG_SENSORS_F71805F is not set
    # CONFIG_SENSORS_F71882FG is not set
    # CONFIG_SENSORS_F75375S is not set
    # CONFIG_SENSORS_FSCHER is not set
    # CONFIG_SENSORS_FSCPOS is not set
    # CONFIG_SENSORS_GL518SM is not set
    # CONFIG_SENSORS_GL520SM is not set
    # CONFIG_SENSORS_CORETEMP is not set
    # CONFIG_SENSORS_IT87 is not set
    # CONFIG_SENSORS_LM63 is not set
    # CONFIG_SENSORS_LM70 is not set
    # CONFIG_SENSORS_LM75 is not set
    # CONFIG_SENSORS_LM77 is not set
    # CONFIG_SENSORS_LM78 is not set
    # CONFIG_SENSORS_LM80 is not set
    # CONFIG_SENSORS_LM83 is not set
    CONFIG_SENSORS_LM85=m
    # CONFIG_SENSORS_LM87 is not set
    # CONFIG_SENSORS_LM90 is not set
    # CONFIG_SENSORS_LM92 is not set
    # CONFIG_SENSORS_LM93 is not set
    # CONFIG_SENSORS_MAX1619 is not set
    # CONFIG_SENSORS_MAX6650 is not set
    # CONFIG_SENSORS_PC87360 is not set
    # CONFIG_SENSORS_PC87427 is not set
    # CONFIG_SENSORS_SIS5595 is not set
    # CONFIG_SENSORS_DME1737 is not set
    # CONFIG_SENSORS_SMSC47M1 is not set
    # CONFIG_SENSORS_SMSC47M192 is not set
    # CONFIG_SENSORS_SMSC47B397 is not set
    # CONFIG_SENSORS_THMC50 is not set
    # CONFIG_SENSORS_VIA686A is not set
    # CONFIG_SENSORS_VT1211 is not set
    # CONFIG_SENSORS_VT8231 is not set
    # CONFIG_SENSORS_W83781D is not set
    # CONFIG_SENSORS_W83791D is not set
    # CONFIG_SENSORS_W83792D is not set
    # CONFIG_SENSORS_W83793 is not set
    # CONFIG_SENSORS_W83L785TS is not set
    # CONFIG_SENSORS_W83627HF is not set
    # CONFIG_SENSORS_W83627EHF is not set
    # CONFIG_SENSORS_HDAPS is not set
    # CONFIG_SENSORS_APPLESMC is not set
    # CONFIG_HWMON_DEBUG_CHIP is not set

    #
    # Sonics Silicon Backplane
    #
    CONFIG_SSB_POSSIBLE=y
    # CONFIG_SSB is not set
    CONFIG_WATCHDOG=y
    # CONFIG_WATCHDOG_NOWAYOUT is not set
    CONFIG_WATCHDOG_CORE=m
    # CONFIG_WATCHDOG_DEBUG_CORE is not set

    #
    # Watchdog Device Drivers
    #
    CONFIG_SOFT_WATCHDOG=m
    # CONFIG_ACQUIRE_WDT is not set
    # CONFIG_ADVANTECH_WDT is not set
    # CONFIG_ALIM1535_WDT is not set
    # CONFIG_ALIM7101_WDT is not set
    # CONFIG_SC520_WDT is not set
    # CONFIG_EUROTECH_WDT is not set
    # CONFIG_IB700_WDT is not set
    # CONFIG_IBMASR is not set
    # CONFIG_WAFER_WDT is not set
    # CONFIG_I6300ESB_WDT is not set
    CONFIG_ITCO_WDT=m
    # CONFIG_ITCO_VENDOR_SUPPORT is not set
    # CONFIG_SC1200_WDT is not set
    # CONFIG_PC87413_WDT is not set
    # CONFIG_60XX_WDT is not set
    # CONFIG_SBC8360_WDT is not set
    # CONFIG_CPU5_WDT is not set
    # CONFIG_SMSC37B787_WDT is not set
    # CONFIG_W83627HF_WDT is not set
    # CONFIG_W83697HF_WDT is not set
    # CONFIG_W83877F_WDT is not set
    # CONFIG_W83977F_WDT is not set
    # CONFIG_MACHZ_WDT is not set
    # CONFIG_SBC_EPX_C3_WATCHDOG is not set

    #
    # PCI-based Watchdog Cards
    #
    # CONFIG_PCIPCWATCHDOG is not set
    # CONFIG_WDTPCI is not set

    #
    # USB-based Watchdog Cards
    #
    # CONFIG_USBPCWATCHDOG is not set

    #
    # Multifunction device drivers
    #
    # CONFIG_MFD_SM501 is not set

    #
    # Multimedia devices
    #
    # CONFIG_VIDEO_DEV is not set
    # CONFIG_DVB_CORE is not set
    CONFIG_DAB=y
    # CONFIG_USB_DABUSB is not set

    #
    # Graphics support
    #
    CONFIG_BACKLIGHT_LCD_SUPPORT=y
    CONFIG_LCD_CLASS_DEVICE=m
    # CONFIG_LCD_LTV350QV is not set
    CONFIG_BACKLIGHT_CLASS_DEVICE=m
    # CONFIG_BACKLIGHT_PROGEAR is not set

    #
    # Display device support
    #
    # CONFIG_DISPLAY_SUPPORT is not set
    # CONFIG_VGASTATE is not set
    CONFIG_VIDEO_OUTPUT_CONTROL=m
    # CONFIG_FB is not set

    #
    # Console display driver support
    #
    CONFIG_VGA_CONSOLE=y
    CONFIG_VGACON_SOFT_SCROLLBACK=y
    CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=10240
    CONFIG_VIDEO_SELECT=y
    CONFIG_DUMMY_CONSOLE=y

    #
    # Sound
    #
    CONFIG_SOUND=m

    #
    # Advanced Linux Sound Architecture
    #
    CONFIG_SND=m
    CONFIG_SND_TIMER=m
    CONFIG_SND_PCM=m
    CONFIG_SND_RAWMIDI=m
    CONFIG_SND_SEQUENCER=m
    CONFIG_SND_SEQ_DUMMY=m
    CONFIG_SND_OSSEMUL=y
    CONFIG_SND_MIXER_OSS=m
    CONFIG_SND_PCM_OSS=m
    CONFIG_SND_PCM_OSS_PLUGINS=y
    CONFIG_SND_SEQUENCER_OSS=y
    CONFIG_SND_RTCTIMER=m
    CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
    # CONFIG_SND_DYNAMIC_MINORS is not set
    CONFIG_SND_SUPPORT_OLD_API=y
    CONFIG_SND_VERBOSE_PROCFS=y
    # CONFIG_SND_VERBOSE_PRINTK is not set
    # CONFIG_SND_DEBUG is not set

    #
    # Generic devices
    #
    CONFIG_SND_MPU401_UART=m
    CONFIG_SND_DUMMY=m
    CONFIG_SND_VIRMIDI=m
    CONFIG_SND_MTPAV=m
    CONFIG_SND_SERIAL_U16550=m
    CONFIG_SND_MPU401=m

    #
    # PCI devices
    #
    # CONFIG_SND_AD1889 is not set
    # CONFIG_SND_ALS300 is not set
    # CONFIG_SND_ALS4000 is not set
    # CONFIG_SND_ALI5451 is not set
    # CONFIG_SND_ATIIXP is not set
    # CONFIG_SND_ATIIXP_MODEM is not set
    # CONFIG_SND_AU8810 is not set
    # CONFIG_SND_AU8820 is not set
    # CONFIG_SND_AU8830 is not set
    # CONFIG_SND_AZT3328 is not set
    # CONFIG_SND_BT87X is not set
    # CONFIG_SND_CA0106 is not set
    # CONFIG_SND_CMIPCI is not set
    # CONFIG_SND_CS4281 is not set
    # CONFIG_SND_CS46XX is not set
    # CONFIG_SND_CS5530 is not set
    # CONFIG_SND_DARLA20 is not set
    # CONFIG_SND_GINA20 is not set
    # CONFIG_SND_LAYLA20 is not set
    # CONFIG_SND_DARLA24 is not set
    # CONFIG_SND_GINA24 is not set
    # CONFIG_SND_LAYLA24 is not set
    # CONFIG_SND_MONA is not set
    # CONFIG_SND_MIA is not set
    # CONFIG_SND_ECHO3G is not set
    # CONFIG_SND_INDIGO is not set
    # CONFIG_SND_INDIGOIO is not set
    # CONFIG_SND_INDIGODJ is not set
    # CONFIG_SND_EMU10K1 is not set
    # CONFIG_SND_EMU10K1X is not set
    # CONFIG_SND_ENS1370 is not set
    # CONFIG_SND_ENS1371 is not set
    # CONFIG_SND_ES1938 is not set
    # CONFIG_SND_ES1968 is not set
    # CONFIG_SND_FM801 is not set
    CONFIG_SND_HDA_INTEL=m
    # CONFIG_SND_HDA_HWDEP is not set
    CONFIG_SND_HDA_CODEC_REALTEK=y
    CONFIG_SND_HDA_CODEC_ANALOG=y
    CONFIG_SND_HDA_CODEC_SIGMATEL=y
    CONFIG_SND_HDA_CODEC_VIA=y
    CONFIG_SND_HDA_CODEC_ATIHDMI=y
    CONFIG_SND_HDA_CODEC_CONEXANT=y
    CONFIG_SND_HDA_CODEC_CMEDIA=y
    CONFIG_SND_HDA_CODEC_SI3054=y
    CONFIG_SND_HDA_GENERIC=y
    # CONFIG_SND_HDA_POWER_SAVE is not set
    # CONFIG_SND_HDSP is not set
    # CONFIG_SND_HDSPM is not set
    # CONFIG_SND_ICE1712 is not set
    # CONFIG_SND_ICE1724 is not set
    # CONFIG_SND_INTEL8X0 is not set
    # CONFIG_SND_INTEL8X0M is not set
    # CONFIG_SND_KORG1212 is not set
    # CONFIG_SND_MAESTRO3 is not set
    # CONFIG_SND_MIXART is not set
    # CONFIG_SND_NM256 is not set
    # CONFIG_SND_PCXHR is not set
    # CONFIG_SND_RIPTIDE is not set
    # CONFIG_SND_RME32 is not set
    # CONFIG_SND_RME96 is not set
    # CONFIG_SND_RME9652 is not set
    # CONFIG_SND_SONICVIBES is not set
    # CONFIG_SND_TRIDENT is not set
    # CONFIG_SND_VIA82XX is not set
    # CONFIG_SND_VIA82XX_MODEM is not set
    # CONFIG_SND_VX222 is not set
    # CONFIG_SND_YMFPCI is not set

    #
    # SPI devices
    #

    #
    # USB devices
    #
    # CONFIG_SND_USB_AUDIO is not set
    # CONFIG_SND_USB_USX2Y is not set
    # CONFIG_SND_USB_CAIAQ is not set

    #
    # System on Chip audio support
    #
    # CONFIG_SND_SOC is not set

    #
    # SoC Audio support for SuperH
    #

    #
    # Open Sound System
    #
    # CONFIG_SOUND_PRIME is not set
    CONFIG_HID_SUPPORT=y
    CONFIG_HID=y
    # CONFIG_HID_DEBUG is not set
    # CONFIG_HIDRAW is not set

    #
    # USB Input Devices
    #
    CONFIG_USB_HID=y
    CONFIG_USB_HIDINPUT_POWERBOOK=y
    # CONFIG_HID_FF is not set
    CONFIG_USB_HIDDEV=y
    CONFIG_USB_SUPPORT=y
    CONFIG_USB_ARCH_HAS_HCD=y
    CONFIG_USB_ARCH_HAS_OHCI=y
    CONFIG_USB_ARCH_HAS_EHCI=y
    CONFIG_USB=y
    # CONFIG_USB_DEBUG is not set

    #
    # Miscellaneous USB options
    #
    CONFIG_USB_DEVICEFS=y
    # CONFIG_USB_DEVICE_CLASS is not set
    # CONFIG_USB_DYNAMIC_MINORS is not set
    # CONFIG_USB_SUSPEND is not set
    # CONFIG_USB_PERSIST is not set
    # CONFIG_USB_OTG is not set

    #
    # USB Host Controller Drivers
    #
    CONFIG_USB_EHCI_HCD=y
    # CONFIG_USB_EHCI_SPLIT_ISO is not set
    CONFIG_USB_EHCI_ROOT_HUB_TT=y
    # CONFIG_USB_EHCI_TT_NEWSCHED is not set
    # CONFIG_USB_ISP116X_HCD is not set
    CONFIG_USB_OHCI_HCD=m
    # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
    # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
    CONFIG_USB_OHCI_LITTLE_ENDIAN=y
    CONFIG_USB_UHCI_HCD=y
    # CONFIG_USB_SL811_HCD is not set
    # CONFIG_USB_R8A66597_HCD is not set

    #
    # USB Device Class drivers
    #
    # CONFIG_USB_ACM is not set
    # CONFIG_USB_PRINTER is not set

    #
    # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
    #

    #
    # may also be needed; see USB_STORAGE Help for more information
    #
    CONFIG_USB_STORAGE=m
    # CONFIG_USB_STORAGE_DEBUG is not set
    CONFIG_USB_STORAGE_DATAFAB=y
    CONFIG_USB_STORAGE_FREECOM=y
    CONFIG_USB_STORAGE_ISD200=y
    CONFIG_USB_STORAGE_DPCM=y
    CONFIG_USB_STORAGE_USBAT=y
    CONFIG_USB_STORAGE_SDDR09=y
    CONFIG_USB_STORAGE_SDDR55=y
    CONFIG_USB_STORAGE_JUMPSHOT=y
    CONFIG_USB_STORAGE_ALAUDA=y
    CONFIG_USB_STORAGE_KARMA=y
    CONFIG_USB_LIBUSUAL=y

    #
    # USB Imaging devices
    #
    # CONFIG_USB_MDC800 is not set
    # CONFIG_USB_MICROTEK is not set
    CONFIG_USB_MON=y

    #
    # USB port drivers
    #

    #
    # USB Serial Converter support
    #
    CONFIG_USB_SERIAL=m
    CONFIG_USB_SERIAL_GENERIC=y
    # CONFIG_USB_SERIAL_AIRCABLE is not set
    # CONFIG_USB_SERIAL_AIRPRIME is not set
    # CONFIG_USB_SERIAL_ARK3116 is not set
    # CONFIG_USB_SERIAL_BELKIN is not set
    # CONFIG_USB_SERIAL_CH341 is not set
    # CONFIG_USB_SERIAL_WHITEHEAT is not set
    # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
    # CONFIG_USB_SERIAL_CP2101 is not set
    # CONFIG_USB_SERIAL_CYPRESS_M8 is not set
    # CONFIG_USB_SERIAL_EMPEG is not set
    # CONFIG_USB_SERIAL_FTDI_SIO is not set
    # CONFIG_USB_SERIAL_FUNSOFT is not set
    # CONFIG_USB_SERIAL_VISOR is not set
    # CONFIG_USB_SERIAL_IPAQ is not set
    # CONFIG_USB_SERIAL_IR is not set
    # CONFIG_USB_SERIAL_EDGEPORT is not set
    # CONFIG_USB_SERIAL_EDGEPORT_TI is not set
    # CONFIG_USB_SERIAL_GARMIN is not set
    # CONFIG_USB_SERIAL_IPW is not set
    # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
    # CONFIG_USB_SERIAL_KEYSPAN is not set
    # CONFIG_USB_SERIAL_KLSI is not set
    # CONFIG_USB_SERIAL_KOBIL_SCT is not set
    # CONFIG_USB_SERIAL_MCT_U232 is not set
    # CONFIG_USB_SERIAL_MOS7720 is not set
    # CONFIG_USB_SERIAL_MOS7840 is not set
    # CONFIG_USB_SERIAL_NAVMAN is not set
    # CONFIG_USB_SERIAL_PL2303 is not set
    # CONFIG_USB_SERIAL_OTI6858 is not set
    # CONFIG_USB_SERIAL_HP4X is not set
    # CONFIG_USB_SERIAL_SAFE is not set
    # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
    # CONFIG_USB_SERIAL_TI is not set
    # CONFIG_USB_SERIAL_CYBERJACK is not set
    # CONFIG_USB_SERIAL_XIRCOM is not set
    # CONFIG_USB_SERIAL_OPTION is not set
    # CONFIG_USB_SERIAL_OMNINET is not set
    # CONFIG_USB_SERIAL_DEBUG is not set

    #
    # USB Miscellaneous drivers
    #
    # CONFIG_USB_EMI62 is not set
    # CONFIG_USB_EMI26 is not set
    # CONFIG_USB_ADUTUX is not set
    # CONFIG_USB_AUERSWALD is not set
    # CONFIG_USB_RIO500 is not set
    # CONFIG_USB_LEGOTOWER is not set
    # CONFIG_USB_LCD is not set
    # CONFIG_USB_BERRY_CHARGE is not set
    # CONFIG_USB_LED is not set
    # CONFIG_USB_CYPRESS_CY7C63 is not set
    # CONFIG_USB_CYTHERM is not set
    # CONFIG_USB_PHIDGET is not set
    # CONFIG_USB_IDMOUSE is not set
    # CONFIG_USB_FTDI_ELAN is not set
    # CONFIG_USB_APPLEDISPLAY is not set
    # CONFIG_USB_SISUSBVGA is not set
    # CONFIG_USB_LD is not set
    # CONFIG_USB_TRANCEVIBRATOR is not set
    # CONFIG_USB_IOWARRIOR is not set
    # CONFIG_USB_TEST is not set
    # CONFIG_USB_GOTEMP is not set

    #
    # USB DSL modem support
    #

    #
    # USB Gadget Support
    #
    CONFIG_USB_GADGET=m
    # CONFIG_USB_GADGET_DEBUG is not set
    # CONFIG_USB_GADGET_DEBUG_FILES is not set
    # CONFIG_USB_GADGET_AMD5536UDC is not set
    # CONFIG_USB_GADGET_FSL_USB2 is not set
    # CONFIG_USB_GADGET_NET2280 is not set
    # CONFIG_USB_GADGET_PXA2XX is not set
    # CONFIG_USB_GADGET_M66592 is not set
    # CONFIG_USB_GADGET_GOKU is not set
    # CONFIG_USB_GADGET_LH7A40X is not set
    # CONFIG_USB_GADGET_OMAP is not set
    # CONFIG_USB_GADGET_S3C2410 is not set
    # CONFIG_USB_GADGET_AT91 is not set
    # CONFIG_USB_GADGET_DUMMY_HCD is not set
    # CONFIG_USB_GADGET_DUALSPEED is not set
    # CONFIG_MMC is not set
    # CONFIG_NEW_LEDS is not set
    # CONFIG_INFINIBAND is not set
    # CONFIG_EDAC is not set
    CONFIG_RTC_LIB=m
    CONFIG_RTC_CLASS=m

    #
    # RTC interfaces
    #
    CONFIG_RTC_INTF_SYSFS=y
    CONFIG_RTC_INTF_PROC=y
    CONFIG_RTC_INTF_DEV=y
    # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
    # CONFIG_RTC_DRV_TEST is not set

    #
    # I2C RTC drivers
    #
    # CONFIG_RTC_DRV_DS1307 is not set
    # CONFIG_RTC_DRV_DS1672 is not set
    # CONFIG_RTC_DRV_MAX6900 is not set
    # CONFIG_RTC_DRV_RS5C372 is not set
    # CONFIG_RTC_DRV_ISL1208 is not set
    # CONFIG_RTC_DRV_X1205 is not set
    # CONFIG_RTC_DRV_PCF8563 is not set
    # CONFIG_RTC_DRV_PCF8583 is not set
    # CONFIG_RTC_DRV_M41T80 is not set

    #
    # SPI RTC drivers
    #
    # CONFIG_RTC_DRV_RS5C348 is not set
    # CONFIG_RTC_DRV_MAX6902 is not set

    #
    # Platform RTC drivers
    #
    # CONFIG_RTC_DRV_CMOS is not set
    # CONFIG_RTC_DRV_DS1553 is not set
    # CONFIG_RTC_DRV_STK17TA8 is not set
    # CONFIG_RTC_DRV_DS1742 is not set
    # CONFIG_RTC_DRV_M48T86 is not set
    # CONFIG_RTC_DRV_M48T59 is not set
    # CONFIG_RTC_DRV_V3020 is not set

    #
    # on-CPU RTC drivers
    #
    # CONFIG_DMADEVICES is not set
    CONFIG_VIRTUALIZATION=y
    CONFIG_KVM=m
    CONFIG_KVM_INTEL=m
    # CONFIG_KVM_AMD is not set

    #
    # Userspace I/O
    #
    # CONFIG_UIO is not set

    #
    # Firmware Drivers
    #
    CONFIG_EDD=m
    # CONFIG_DELL_RBU is not set
    # CONFIG_DCDBAS is not set
    CONFIG_DMIID=y

    #
    # File systems
    #
    CONFIG_EXT2_FS=m
    CONFIG_EXT2_FS_XATTR=y
    CONFIG_EXT2_FS_POSIX_ACL=y
    CONFIG_EXT2_FS_SECURITY=y
    CONFIG_EXT2_FS_XIP=y
    CONFIG_FS_XIP=y
    CONFIG_EXT3_FS=y
    CONFIG_EXT3_FS_XATTR=y
    CONFIG_EXT3_FS_POSIX_ACL=y
    CONFIG_EXT3_FS_SECURITY=y
    CONFIG_EXT4DEV_FS=m
    CONFIG_EXT4DEV_FS_XATTR=y
    CONFIG_EXT4DEV_FS_POSIX_ACL=y
    CONFIG_EXT4DEV_FS_SECURITY=y
    CONFIG_JBD=y
    # CONFIG_JBD_DEBUG is not set
    CONFIG_JBD2=m
    # CONFIG_JBD2_DEBUG is not set
    CONFIG_FS_MBCACHE=y
    # CONFIG_REISER4_FS is not set
    # CONFIG_REISERFS_FS is not set
    # CONFIG_JFS_FS is not set
    CONFIG_FS_POSIX_ACL=y
    # CONFIG_XFS_FS is not set
    # CONFIG_GFS2_FS is not set
    # CONFIG_OCFS2_FS is not set
    # CONFIG_MINIX_FS is not set
    # CONFIG_ROMFS_FS is not set
    CONFIG_INOTIFY=y
    CONFIG_INOTIFY_USER=y
    # CONFIG_QUOTA is not set
    CONFIG_DNOTIFY=y
    CONFIG_AUTOFS_FS=m
    CONFIG_AUTOFS4_FS=m
    CONFIG_FUSE_FS=m

    #
    # CD-ROM/DVD Filesystems
    #
    CONFIG_ISO9660_FS=m
    CONFIG_JOLIET=y
    CONFIG_ZISOFS=y
    CONFIG_UDF_FS=m
    CONFIG_UDF_NLS=y

    #
    # DOS/FAT/NT Filesystems
    #
    CONFIG_FAT_FS=m
    CONFIG_MSDOS_FS=m
    CONFIG_VFAT_FS=m
    CONFIG_FAT_DEFAULT_CODEPAGE=936
    CONFIG_FAT_DEFAULT_IOCHARSET="cp936"
    CONFIG_NTFS_FS=m
    # CONFIG_NTFS_DEBUG is not set
    CONFIG_NTFS_RW=y

    #
    # Pseudo filesystems
    #
    CONFIG_PROC_FS=y
    CONFIG_PROC_KCORE=y
    CONFIG_PROC_VMCORE=y
    CONFIG_PROC_SYSCTL=y
    CONFIG_SYSFS=y
    CONFIG_TMPFS=y
    # CONFIG_TMPFS_POSIX_ACL is not set
    # CONFIG_HUGETLBFS is not set
    # CONFIG_HUGETLB_PAGE is not set
    CONFIG_CONFIGFS_FS=m

    #
    # Layered filesystems
    #
    CONFIG_ECRYPT_FS=m
    CONFIG_UNION_FS=m
    CONFIG_UNION_FS_XATTR=y
    CONFIG_UNION_FS_DEBUG=y

    #
    # Miscellaneous filesystems
    #
    # CONFIG_ADFS_FS is not set
    # CONFIG_AFFS_FS is not set
    # CONFIG_HFS_FS is not set
    # CONFIG_HFSPLUS_FS is not set
    # CONFIG_BEFS_FS is not set
    # CONFIG_BFS_FS is not set
    # CONFIG_EFS_FS is not set
    CONFIG_CRAMFS=y
    # CONFIG_VXFS_FS is not set
    # CONFIG_HPFS_FS is not set
    # CONFIG_QNX4FS_FS is not set
    # CONFIG_SYSV_FS is not set
    # CONFIG_UFS_FS is not set
    CONFIG_NETWORK_FILESYSTEMS=y
    CONFIG_NFS_FS=m
    CONFIG_NFS_V3=y
    CONFIG_NFS_V3_ACL=y
    # CONFIG_NFS_V4 is not set
    CONFIG_NFS_DIRECTIO=y
    CONFIG_NFSD=m
    CONFIG_NFSD_V2_ACL=y
    CONFIG_NFSD_V3=y
    CONFIG_NFSD_V3_ACL=y
    # CONFIG_NFSD_V4 is not set
    CONFIG_NFSD_TCP=y
    CONFIG_LOCKD=m
    CONFIG_LOCKD_V4=y
    CONFIG_EXPORTFS=m
    CONFIG_NFS_ACL_SUPPORT=m
    CONFIG_NFS_COMMON=y
    CONFIG_SUNRPC=m
    CONFIG_SUNRPC_GSS=m
    # CONFIG_SUNRPC_BIND34 is not set
    CONFIG_RPCSEC_GSS_KRB5=m
    CONFIG_RPCSEC_GSS_SPKM3=m
    CONFIG_SMB_FS=m
    # CONFIG_SMB_NLS_DEFAULT is not set
    CONFIG_CIFS=m
    CONFIG_CIFS_STATS=y
    # CONFIG_CIFS_STATS2 is not set
    # CONFIG_CIFS_WEAK_PW_HASH is not set
    CONFIG_CIFS_XATTR=y
    CONFIG_CIFS_POSIX=y
    # CONFIG_CIFS_DEBUG2 is not set
    # CONFIG_CIFS_EXPERIMENTAL is not set
    # CONFIG_NCP_FS is not set
    # CONFIG_CODA_FS is not set
    # CONFIG_AFS_FS is not set

    #
    # Partition Types
    #
    CONFIG_PARTITION_ADVANCED=y
    # CONFIG_ACORN_PARTITION is not set
    # CONFIG_OSF_PARTITION is not set
    # CONFIG_AMIGA_PARTITION is not set
    # CONFIG_ATARI_PARTITION is not set
    # CONFIG_MAC_PARTITION is not set
    CONFIG_MSDOS_PARTITION=y
    CONFIG_BSD_DISKLABEL=y
    CONFIG_MINIX_SUBPARTITION=y
    CONFIG_SOLARIS_X86_PARTITION=y
    CONFIG_UNIXWARE_DISKLABEL=y
    CONFIG_LDM_PARTITION=y
    # CONFIG_LDM_DEBUG is not set
    # CONFIG_SGI_PARTITION is not set
    # CONFIG_ULTRIX_PARTITION is not set
    CONFIG_SUN_PARTITION=y
    # CONFIG_KARMA_PARTITION is not set
    # CONFIG_EFI_PARTITION is not set
    # CONFIG_SYSV68_PARTITION is not set
    CONFIG_NLS=y
    CONFIG_NLS_DEFAULT="iso8859-1"
    CONFIG_NLS_CODEPAGE_437=m
    # CONFIG_NLS_CODEPAGE_737 is not set
    # CONFIG_NLS_CODEPAGE_775 is not set
    # CONFIG_NLS_CODEPAGE_850 is not set
    # CONFIG_NLS_CODEPAGE_852 is not set
    # CONFIG_NLS_CODEPAGE_855 is not set
    # CONFIG_NLS_CODEPAGE_857 is not set
    # CONFIG_NLS_CODEPAGE_860 is not set
    # CONFIG_NLS_CODEPAGE_861 is not set
    # CONFIG_NLS_CODEPAGE_862 is not set
    # CONFIG_NLS_CODEPAGE_863 is not set
    # CONFIG_NLS_CODEPAGE_864 is not set
    # CONFIG_NLS_CODEPAGE_865 is not set
    # CONFIG_NLS_CODEPAGE_866 is not set
    # CONFIG_NLS_CODEPAGE_869 is not set
    CONFIG_NLS_CODEPAGE_936=m
    # CONFIG_NLS_CODEPAGE_950 is not set
    # CONFIG_NLS_CODEPAGE_932 is not set
    # CONFIG_NLS_CODEPAGE_949 is not set
    # CONFIG_NLS_CODEPAGE_874 is not set
    # CONFIG_NLS_ISO8859_8 is not set
    # CONFIG_NLS_CODEPAGE_1250 is not set
    # CONFIG_NLS_CODEPAGE_1251 is not set
    # CONFIG_NLS_ASCII is not set
    CONFIG_NLS_ISO8859_1=m
    # CONFIG_NLS_ISO8859_2 is not set
    # CONFIG_NLS_ISO8859_3 is not set
    # CONFIG_NLS_ISO8859_4 is not set
    # CONFIG_NLS_ISO8859_5 is not set
    # CONFIG_NLS_ISO8859_6 is not set
    # CONFIG_NLS_ISO8859_7 is not set
    # CONFIG_NLS_ISO8859_9 is not set
    # CONFIG_NLS_ISO8859_13 is not set
    # CONFIG_NLS_ISO8859_14 is not set
    # CONFIG_NLS_ISO8859_15 is not set
    # CONFIG_NLS_KOI8_R is not set
    # CONFIG_NLS_KOI8_U is not set
    CONFIG_NLS_UTF8=m
    CONFIG_DLM=m
    # CONFIG_DLM_DEBUG is not set

    #
    # Instrumentation Support
    #
    CONFIG_PROFILING=y
    CONFIG_OPROFILE=m
    CONFIG_KPROBES=y

    #
    # Kernel hacking
    #
    CONFIG_TRACE_IRQFLAGS_SUPPORT=y
    CONFIG_PRINTK_TIME=y
    CONFIG_ENABLE_MUST_CHECK=y
    CONFIG_MAGIC_SYSRQ=y
    # CONFIG_UNUSED_SYMBOLS is not set
    # CONFIG_PAGE_OWNER is not set
    CONFIG_DEBUG_FS=y
    # CONFIG_HEADERS_CHECK is not set
    CONFIG_DEBUG_KERNEL=y
    CONFIG_DEBUG_SHIRQ=y
    CONFIG_DETECT_SOFTLOCKUP=y
    CONFIG_SCHED_DEBUG=y
    CONFIG_SCHEDSTATS=y
    CONFIG_TIMER_STATS=y
    CONFIG_SLUB_DEBUG_ON=y
    CONFIG_DEBUG_RT_MUTEXES=y
    CONFIG_DEBUG_PI_LIST=y
    # CONFIG_RT_MUTEX_TESTER is not set
    CONFIG_DEBUG_SPINLOCK=y
    CONFIG_DEBUG_MUTEXES=y
    CONFIG_DEBUG_LOCK_ALLOC=y
    CONFIG_PROVE_LOCKING=y
    CONFIG_LOCKDEP=y
    CONFIG_LOCK_STAT=y
    # CONFIG_DEBUG_LOCKDEP is not set
    CONFIG_TRACE_IRQFLAGS=y
    CONFIG_DEBUG_SPINLOCK_SLEEP=y
    # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
    CONFIG_STACKTRACE=y
    # CONFIG_DEBUG_KOBJECT is not set
    CONFIG_DEBUG_BUGVERBOSE=y
    CONFIG_DEBUG_INFO=y
    CONFIG_DEBUG_VM=y
    CONFIG_DEBUG_LIST=y
    CONFIG_FRAME_POINTER=y
    CONFIG_UNWIND_INFO=y
    CONFIG_STACK_UNWIND=y
    # CONFIG_PROFILE_LIKELY is not set
    # CONFIG_FORCED_INLINING is not set
    CONFIG_BOOT_PRINTK_DELAY=y
    CONFIG_DEBUG_SYNCHRO_TEST=m
    CONFIG_RCU_TORTURE_TEST=m
    CONFIG_LKDTM=m
    CONFIG_FAULT_INJECTION=y
    CONFIG_FAILSLAB=y
    CONFIG_FAIL_PAGE_ALLOC=y
    CONFIG_FAIL_MAKE_REQUEST=y
    CONFIG_FAULT_INJECTION_DEBUG_FS=y
    CONFIG_WANT_EXTRA_DEBUG_INFORMATION=y
    CONFIG_KGDB=y
    CONFIG_KGDB_ARCH_HAS_SHADOW_INFO=y
    CONFIG_KGDB_CONSOLE=y
    # CONFIG_KGDB_ONLY_MODULES is not set
    CONFIG_KGDB_8250_NOMODULE=y
    # CONFIG_KGDBOE_NOMODULE is not set
    # CONFIG_KGDB_MPSC is not set
    # CONFIG_KGDB_CPM_UART is not set
    # CONFIG_KGDB_SIBYTE is not set
    # CONFIG_KGDB_TXX9 is not set
    # CONFIG_KGDB_SH_SCI is not set
    # CONFIG_KGDB_AMBA_PL011 is not set
    # CONFIG_KGDB_PXA_SERIAL is not set
    CONFIG_KGDBOE=m
    CONFIG_KGDB_8250=y
    CONFIG_KGDB_SIMPLE_SERIAL=y
    CONFIG_KGDB_BAUDRATE=115200
    CONFIG_KGDB_PORT_NUM=1
    CONFIG_KGDB_ATTACH_WAIT=y
    CONFIG_DEBUG_RODATA=y
    # CONFIG_IOMMU_DEBUG is not set
    CONFIG_DEBUG_STACKOVERFLOW=y
    CONFIG_DEBUG_STACK_USAGE=y

    #
    # Security options
    #
    CONFIG_KEYS=y
    # CONFIG_KEYS_DEBUG_PROC_KEYS is not set
    CONFIG_SECURITY=y
    CONFIG_SECURITY_NETWORK=y
    CONFIG_SECURITY_NETWORK_XFRM=y
    CONFIG_SECURITY_CAPABILITIES=y
    CONFIG_SECURITY_FILE_CAPABILITIES=y
    # CONFIG_SECURITY_ROOTPLUG is not set
    CONFIG_SECURITY_SELINUX=y
    # CONFIG_SECURITY_SELINUX_BOOTPARAM is not set
    # CONFIG_SECURITY_SELINUX_DISABLE is not set
    CONFIG_SECURITY_SELINUX_DEVELOP=y
    CONFIG_SECURITY_SELINUX_AVC_STATS=y
    CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
    # CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT is not set
    # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
    CONFIG_CRYPTO=y
    CONFIG_CRYPTO_ALGAPI=y
    CONFIG_CRYPTO_BLKCIPHER=m
    CONFIG_CRYPTO_HASH=y
    CONFIG_CRYPTO_MANAGER=y
    CONFIG_CRYPTO_HMAC=y
    CONFIG_CRYPTO_XCBC=m
    CONFIG_CRYPTO_NULL=m
    CONFIG_CRYPTO_MD4=m
    CONFIG_CRYPTO_MD5=y
    CONFIG_CRYPTO_SHA1=m
    CONFIG_CRYPTO_SHA256=m
    CONFIG_CRYPTO_SHA512=m
    CONFIG_CRYPTO_WP512=m
    CONFIG_CRYPTO_TGR192=m
    # CONFIG_CRYPTO_GF128MUL is not set
    CONFIG_CRYPTO_ECB=m
    CONFIG_CRYPTO_CBC=m
    CONFIG_CRYPTO_PCBC=m
    # CONFIG_CRYPTO_LRW is not set
    # CONFIG_CRYPTO_XTS is not set
    # CONFIG_CRYPTO_CRYPTD is not set
    CONFIG_CRYPTO_DES=m
    # CONFIG_CRYPTO_FCRYPT is not set
    CONFIG_CRYPTO_BLOWFISH=m
    CONFIG_CRYPTO_TWOFISH=m
    CONFIG_CRYPTO_TWOFISH_COMMON=m
    CONFIG_CRYPTO_TWOFISH_X86_64=m
    CONFIG_CRYPTO_SERPENT=m
    CONFIG_CRYPTO_AES=m
    CONFIG_CRYPTO_AES_X86_64=m
    CONFIG_CRYPTO_CAST5=m
    CONFIG_CRYPTO_CAST6=m
    CONFIG_CRYPTO_TEA=m
    CONFIG_CRYPTO_ARC4=m
    CONFIG_CRYPTO_KHAZAD=m
    CONFIG_CRYPTO_ANUBIS=m
    # CONFIG_CRYPTO_SEED is not set
    CONFIG_CRYPTO_DEFLATE=m
    CONFIG_CRYPTO_MICHAEL_MIC=m
    CONFIG_CRYPTO_CRC32C=m
    # CONFIG_CRYPTO_CAMELLIA is not set
    CONFIG_CRYPTO_TEST=m
    # CONFIG_CRYPTO_AUTHENC is not set
    CONFIG_CRYPTO_HW=y

    #
    # Library routines
    #
    CONFIG_BITREVERSE=y
    CONFIG_CRC_CCITT=m
    CONFIG_CRC16=m
    CONFIG_CRC_ITU_T=m
    CONFIG_CRC32=y
    # CONFIG_CRC7 is not set
    CONFIG_LIBCRC32C=m
    CONFIG_ZLIB_INFLATE=y
    CONFIG_ZLIB_DEFLATE=m
    CONFIG_TEXTSEARCH=y
    CONFIG_TEXTSEARCH_KMP=m
    CONFIG_TEXTSEARCH_BM=m
    CONFIG_TEXTSEARCH_FSM=m
    CONFIG_PLIST=y
    CONFIG_HAS_IOMEM=y
    CONFIG_HAS_IOPORT=y
    CONFIG_HAS_DMA=y

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  15. Re: WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()

    On Fri, Sep 28, 2007 at 02:07:54PM +0200, Laurent Vivier wrote:
    > >> 2- one in global_flush_tlb() which calls smp_call_function() with irqs disabled.

    > >
    > > That would be a big bug, and surely we would already have picked it up.
    > >
    > >
    > >
    > > argh, mainline's x86_64 smp_call_function() doesn't do the check. We've
    > > had *heaps* of bugs in i386 where people were running smp_call_foo() under
    > > local_irq_disable(). I wonder how many there are in x86_64?


    Thank god it's a bug in alternative_instructions() instead of global_flush_tlb().

    The following patch fixed it.

    ===
    call free_init_pages() with irqs enabled in alternative_instructions()

    It fixes the warning message in smp_call_function*(), which should be called
    with irqs disabled.

    [ 0.310000] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
    [ 0.310000] CPU: L2 Cache: 512K (64 bytes/line)
    [ 0.310000] CPU 0/0 -> Node 0
    [ 0.310000] SMP alternatives: switching to UP code
    [ 0.310000] Freeing SMP alternatives: 25k freed
    [ 0.310000] WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask()
    [ 0.310000]
    [ 0.310000] Call Trace:
    [ 0.310000] [] dump_trace+0x3ee/0x4a0
    [ 0.310000] [] show_trace+0x43/0x70
    [ 0.310000] [] dump_stack+0x15/0x20
    [ 0.310000] [] smp_call_function_mask+0x94/0xa0
    [ 0.310000] [] smp_call_function+0x32/0x40
    [ 0.310000] [] on_each_cpu+0x1f/0x50
    [ 0.310000] [] global_flush_tlb+0x8c/0x110
    [ 0.310000] [] free_init_pages+0xe5/0xf0
    [ 0.310000] [] alternative_instructions+0x7e/0x150
    [ 0.310000] [] check_bugs+0x1a/0x20
    [ 0.310000] [] start_kernel+0x2da/0x380
    [ 0.310000] [] _sinittext+0x132/0x140
    [ 0.310000]
    [ 0.320000] ACPI: Core revision 20070126
    [ 0.560000] Using local APIC timer interrupts.
    [ 0.590000] Detected 62.496 MHz APIC timer.
    [ 0.590000] Brought up 1 CPUs

    Cc: Laurent Vivier
    Cc: Andi Kleen
    Signed-off-by: Fengguang Wu
    ---
    arch/i386/kernel/alternative.c | 8 +++++---
    1 file changed, 5 insertions(+), 3 deletions(-)

    --- linux-2.6.23-rc8-mm2.orig/arch/i386/kernel/alternative.c
    +++ linux-2.6.23-rc8-mm2/arch/i386/kernel/alternative.c
    @@ -435,9 +435,6 @@ void __init alternative_instructions(voi
    alternatives_smp_unlock(__smp_locks, __smp_locks_end,
    _text, _etext);
    }
    - free_init_pages("SMP alternatives",
    - (unsigned long)__smp_locks,
    - (unsigned long)__smp_locks_end);
    } else {
    alternatives_smp_module_add(NULL, "core kernel",
    __smp_locks, __smp_locks_end,
    @@ -448,6 +445,11 @@ void __init alternative_instructions(voi
    apply_paravirt(__parainstructions, __parainstructions_end);
    local_irq_restore(flags);

    + if (smp_alt_once)
    + free_init_pages("SMP alternatives",
    + (unsigned long)__smp_locks,
    + (unsigned long)__smp_locks_end);
    +
    restart_nmi();
    #ifdef CONFIG_X86_MCE
    restart_mce();

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  16. Re: 2.6.23-rc8-mm2

    Hi,
    The kernel report warnings about sysfs filename duplicate under
    rc8-mm1 and rc8-mm2.
    1.
    ----cut----
    NET: Registered protocol family 16
    ACPI: bus type pci registered
    PCI: PCI BIOS revision 2.10 entry at 0xfb93e, last bus=3
    PCI: Using configuration type 1
    Setting up standard PCI resources
    sysfs: duplicate filename 'usbcore' can not be created
    WARNING: at fs/sysfs/dir.c:433 sysfs_add_one()
    [] dump_trace+0x1bf/0x1d0
    [] show_trace_log_lvl+0x18/0x30
    [] show_trace+0xf/0x20
    [] dump_stack+0x12/0x20
    [] sysfs_add_one+0xa0/0xe0
    [] create_dir+0x48/0xb0
    [] sysfs_create_dir+0x29/0x50
    [] create_dir+0x1b/0x50
    [] kobject_add+0x46/0x150
    [] kernel_param_sysfs_setup+0x50/0xb0
    [] param_sysfs_builtin+0xee/0x130
    [] param_sysfs_init+0x24/0x60
    [] do_initcalls+0x46/0x1e0
    [] kernel_init+0x62/0xb0
    [] kernel_thread_helper+0x7/0x14
    =======================
    kobject_add failed for usbcore with -EEXIST, don't try to register
    things with the same name in the same directory.
    [] dump_trace+0x1bf/0x1d0
    [] show_trace_log_lvl+0x18/0x30
    [] show_trace+0xf/0x20
    [] dump_stack+0x12/0x20
    [] kobject_add+0xf6/0x150
    [] kernel_param_sysfs_setup+0x50/0xb0
    [] param_sysfs_builtin+0xee/0x130
    [] param_sysfs_init+0x24/0x60
    [] do_initcalls+0x46/0x1e0
    [] kernel_init+0x62/0xb0
    [] kernel_thread_helper+0x7/0x14
    =======================
    Module 'usbcore' failed to be added to sysfs, error number -17
    The system will be unstable now.
    ACPI: EC: Look up EC in DSDT



    2.
    ----cut----
    ACPI: PCI Interrupt 0000:00:1d.7[A] -> GSI 21 (level, low) -> IRQ 18
    PCI: Setting latency timer of device 0000:00:1d.7 to 64
    ehci_hcd 0000:00:1d.7: EHCI Host Controller
    ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
    ehci_hcd 0000:00:1d.7: debug port 1
    PCI: cache line size of 128 is not supported by device 0000:00:1d.7
    ehci_hcd 0000:00:1d.7: irq 18, io mem 0xffa80800
    ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
    usb usb1: configuration #1 chosen from 1 choice
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 8 ports detected
    usb usb1: new device found, idVendor=0000, idProduct=0000
    usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb1: Product: EHCI Host Controller
    usb usb1: Manufacturer: Linux 2.6.23-rc8-mm2 ehci_hcd
    usb usb1: SerialNumber: 0000:00:1d.7
    ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver
    USB Universal Host Controller Interface driver v3.0
    ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 21 (level, low) -> IRQ 18
    PCI: Setting latency timer of device 0000:00:1d.0 to 64
    uhci_hcd 0000:00:1d.0: UHCI Host Controller
    uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
    uhci_hcd 0000:00:1d.0: irq 18, io base 0x0000ff80
    usb usb2: configuration #1 chosen from 1 choice
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 2 ports detected
    usb usb2: new device found, idVendor=0000, idProduct=0000
    usb usb2: new device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb2: Product: UHCI Host Controller
    usb usb2: Manufacturer: Linux 2.6.23-rc8-mm2 uhci_hcd
    usb usb2: SerialNumber: 0000:00:1d.0
    ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 22 (level, low) -> IRQ 19
    PCI: Setting latency timer of device 0000:00:1d.1 to 64
    uhci_hcd 0000:00:1d.1: UHCI Host Controller
    uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
    uhci_hcd 0000:00:1d.1: irq 19, io base 0x0000ff60
    usb usb3: configuration #1 chosen from 1 choice
    hub 3-0:1.0: USB hub found
    hub 3-0:1.0: 2 ports detected
    usb usb3: new device found, idVendor=0000, idProduct=0000
    usb usb3: new device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb3: Product: UHCI Host Controller
    usb usb3: Manufacturer: Linux 2.6.23-rc8-mm2 uhci_hcd
    usb usb3: SerialNumber: 0000:00:1d.1
    ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 20
    PCI: Setting latency timer of device 0000:00:1d.2 to 64
    uhci_hcd 0000:00:1d.2: UHCI Host Controller
    uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
    uhci_hcd 0000:00:1d.2: irq 20, io base 0x0000ff40
    usb usb4: configuration #1 chosen from 1 choice
    hub 4-0:1.0: USB hub found
    hub 4-0:1.0: 2 ports detected
    usb 1-1: new high speed USB device using ehci_hcd and address 2
    usb usb4: new device found, idVendor=0000, idProduct=0000
    usb usb4: new device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb4: Product: UHCI Host Controller
    usb usb4: Manufacturer: Linux 2.6.23-rc8-mm2 uhci_hcd
    usb usb4: SerialNumber: 0000:00:1d.2
    ACPI: PCI Interrupt 0000:00:1d.3[D] -> GSI 23 (level, low) -> IRQ 21
    PCI: Setting latency timer of device 0000:00:1d.3 to 64
    uhci_hcd 0000:00:1d.3: UHCI Host Controller
    uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
    uhci_hcd 0000:00:1d.3: irq 21, io base 0x0000ff20
    usb usb5: configuration #1 chosen from 1 choice
    hub 5-0:1.0: USB hub found
    hub 5-0:1.0: 2 ports detected
    usb 1-1: configuration #1 chosen from 1 choice
    hub 1-1:1.0: USB hub found
    hub 1-1:1.0: 4 ports detected
    usb usb5: new device found, idVendor=0000, idProduct=0000
    usb usb5: new device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb5: Product: UHCI Host Controller
    usb usb5: Manufacturer: Linux 2.6.23-rc8-mm2 uhci_hcd
    usb usb5: SerialNumber: 0000:00:1d.3
    sysfs: duplicate filename 'bInterfaceNumber' can not be created
    WARNING: at fs/sysfs/dir.c:433 sysfs_add_one()
    [] dump_trace+0x1bf/0x1d0
    [] show_trace_log_lvl+0x18/0x30
    [] show_trace+0xf/0x20
    [] dump_stack+0x12/0x20
    [] sysfs_add_one+0xa0/0xe0
    [] sysfs_add_file+0x4e/0xb0
    [] create_files+0x31/0x60
    [] sysfs_create_group+0x34/0xf0
    [] usb_create_sysfs_intf_files+0x2a/0xb0
    [] usb_set_configuration+0x3dc/0x490
    [] generic_probe+0x76/0xb0
    [] usb_probe_device+0x38/0x40
    [] really_probe+0xa4/0x160
    [] driver_probe_device+0x42/0x60
    [] bus_for_each_drv+0x3a/0x60
    [] device_attach+0x4c/0x80
    [] bus_attach_device+0x75/0xb0
    [] device_add+0x136/0x350
    [] usb_new_device+0x50/0x160
    [] hub_port_connect_change+0x1bb/0x3b0
    [] hub_events+0x232/0x470
    [] hub_thread+0x21/0x170
    [] kthread+0x59/0xa0
    [] kernel_thread_helper+0x7/0x14
    =======================
    usb 1-1: new device found, idVendor=0424, idProduct=2504
    usb 1-1: new device strings: Mfr=0, Product=0, SerialNumber=0
    usb 4-1: new low speed USB device using uhci_hcd and address 2
    usb 4-1: configuration #1 chosen from 1 choice
    usb 4-1: new device found, idVendor=0461, idProduct=4d15
    usb 4-1: new device strings: Mfr=0, Product=2, SerialNumber=0
    usb 4-1: Product: USB Optical Mouse
    usb 4-2: new low speed USB device using uhci_hcd and address 3
    usb 4-2: configuration #1 chosen from 1 choice
    usb 4-2: new device found, idVendor=413c, idProduct=2003
    usb 4-2: new device strings: Mfr=1, Product=2, SerialNumber=0
    usb 4-2: Product: Dell USB Keyboard
    usb 4-2: Manufacturer: Dell
    usb 1-1.4: new full speed USB device using ehci_hcd and address 5
    usb 1-1.4: configuration #1 chosen from 1 choice
    usb 1-1.4: new device found, idVendor=0c10, idProduct=0000
    usb 1-1.4: new device strings: Mfr=1, Product=2, SerialNumber=3
    usb 1-1.4: Product: SiW
    usb 1-1.4: Manufacturer: SiW
    usb 1-1.4: SerialNumber: E344F1EF1300
    usbcore: registered new interface driver libusual
    PNP: No PS/2 controller found. Probing ports directly.
    ----cut----

    lsusb output:

    Bus 1 Device 2: ID 0424:2504 Standard Microsystems Corp.
    Bus 1 Device 5: ID 0c10:0000
    Bus 1 Device 1: ID 0000:0000
    Bus 4 Device 3: ID 413c:2003 Dell Computer Corp.
    Bus 4 Device 1: ID 0000:0000
    Bus 4 Device 2: ID 0461:4d15 Primax Electronics, Ltd
    Bus 2 Device 1: ID 0000:0000
    Bus 5 Device 1: ID 0000:0000
    Bus 3 Device 1: ID 0000:0000

    Regards
    dave
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  17. Re: 2.6.23-rc8-mm2 - tcp_fastretrans_alert() WARNING

    On Fri, 28 Sep 2007, Ilpo Järvinen wrote:
    > On Fri, 28 Sep 2007, Cedric Le Goater wrote:
    >
    > > I just found that warning in my logs. It seems that it's been
    > > happening since rc7-mm1 at least.
    > >
    > > WARNING: at /home/legoater/linux/2.6.23-rc8-mm2/net/ipv4/tcp_input.c:2314 tcp_fastretrans_alert()
    > >
    > > Call Trace:
    > > [] tcp_ack+0xcd6/0x1894
    > > ...snip...

    >
    > ...Thanks for the report, I'll have look what could still break
    > fackets_out...


    I think this one is now clear to me, tcp_fragment/collapse adjusts
    fackets_out (incorrectly) also for reno flow when there were some dupACKs
    that made sacked_out != 0. Could you please try if patch below proves all
    them to be of non-SACK origin... In case that's true, it's rather
    harmless, I'll send a fix on Monday or so (this would anyway be needed)...
    If you find out that them occur with SACK enabled flow, that would be
    more interesting and requires more digging...

    --
    i.



    diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
    index 2286361..e642779 100644
    --- a/net/ipv4/tcp_input.c
    +++ b/net/ipv4/tcp_input.c
    @@ -2311,8 +2311,10 @@ tcp_fastretrans_alert(struct sock *sk, int pkts_acked, int flag)
    if (!tp->packets_out)
    tp->sacked_out = 0;

    - if (WARN_ON(!tp->sacked_out && tp->fackets_out))
    + if (WARN_ON(!tp->sacked_out && tp->fackets_out)) {
    + printk(KERN_ERR "TCP %d\n", tcp_is_reno(tp));
    tp->fackets_out = 0;
    + }

    /* Now state machine starts.
    * A. ECE, hence prohibit cwnd undoing, the reduction is required. */

  18. Re: 2.6.23-rc8-mm2 - tcp_fastretrans_alert() WARNING

    Ilpo Järvinen wrote:
    > On Fri, 28 Sep 2007, Ilpo Järvinen wrote:
    >> On Fri, 28 Sep 2007, Cedric Le Goater wrote:
    >>
    >>> I just found that warning in my logs. It seems that it's been
    >>> happening since rc7-mm1 at least.
    >>>
    >>> WARNING: at /home/legoater/linux/2.6.23-rc8-mm2/net/ipv4/tcp_input.c:2314 tcp_fastretrans_alert()
    >>>
    >>> Call Trace:
    >>> [] tcp_ack+0xcd6/0x1894
    >>> ...snip...

    >> ...Thanks for the report, I'll have look what could still break
    >> fackets_out...

    >
    > I think this one is now clear to me, tcp_fragment/collapse adjusts
    > fackets_out (incorrectly) also for reno flow when there were some dupACKs
    > that made sacked_out != 0. Could you please try if patch below proves all
    > them to be of non-SACK origin... In case that's true, it's rather
    > harmless, I'll send a fix on Monday or so (this would anyway be needed)...
    > If you find out that them occur with SACK enabled flow, that would be
    > more interesting and requires more digging...


    I'm trying now to reproduce this WARNING.

    It seems that the n/w behaves differently during the week ends. Probably
    taking a break.

    C.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  19. Re: 2.6.23-rc8-mm2

    On Sat, Sep 29, 2007 at 05:37:29PM +0800, Dave Young wrote:
    > Hi,
    > The kernel report warnings about sysfs filename duplicate under
    > rc8-mm1 and rc8-mm2.
    > 1.
    > ----cut----
    > NET: Registered protocol family 16
    > ACPI: bus type pci registered
    > PCI: PCI BIOS revision 2.10 entry at 0xfb93e, last bus=3
    > PCI: Using configuration type 1
    > Setting up standard PCI resources
    > sysfs: duplicate filename 'usbcore' can not be created
    > WARNING: at fs/sysfs/dir.c:433 sysfs_add_one()
    > [] dump_trace+0x1bf/0x1d0
    > [] show_trace_log_lvl+0x18/0x30
    > [] show_trace+0xf/0x20
    > [] dump_stack+0x12/0x20
    > [] sysfs_add_one+0xa0/0xe0
    > [] create_dir+0x48/0xb0
    > [] sysfs_create_dir+0x29/0x50
    > [] create_dir+0x1b/0x50
    > [] kobject_add+0x46/0x150
    > [] kernel_param_sysfs_setup+0x50/0xb0
    > [] param_sysfs_builtin+0xee/0x130
    > [] param_sysfs_init+0x24/0x60
    > [] do_initcalls+0x46/0x1e0
    > [] kernel_init+0x62/0xb0
    > [] kernel_thread_helper+0x7/0x14
    > =======================
    > kobject_add failed for usbcore with -EEXIST, don't try to register
    > things with the same name in the same directory.


    That is very wierd, do you have both USB built in and as a module
    somehow?

    > [] dump_trace+0x1bf/0x1d0
    > [] show_trace_log_lvl+0x18/0x30
    > [] show_trace+0xf/0x20
    > [] dump_stack+0x12/0x20
    > [] kobject_add+0xf6/0x150
    > [] kernel_param_sysfs_setup+0x50/0xb0
    > [] param_sysfs_builtin+0xee/0x130
    > [] param_sysfs_init+0x24/0x60
    > [] do_initcalls+0x46/0x1e0
    > [] kernel_init+0x62/0xb0
    > [] kernel_thread_helper+0x7/0x14
    > =======================
    > Module 'usbcore' failed to be added to sysfs, error number -17


    I think I need to clean up the double stack trace here, that's reall not
    needed

    thanks,

    greg k-h
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  20. Re: 2.6.23-rc8-mm2 - tcp_fastretrans_alert() WARNING

    On Sat, 29 Sep 2007, Cedric Le Goater wrote:

    > Ilpo Järvinen wrote:
    > > On Fri, 28 Sep 2007, Ilpo Järvinen wrote:
    > >> On Fri, 28 Sep 2007, Cedric Le Goater wrote:
    > >>
    > >>> I just found that warning in my logs. It seems that it's been
    > >>> happening since rc7-mm1 at least.
    > >>>
    > >>> WARNING: at /home/legoater/linux/2.6.23-rc8-mm2/net/ipv4/tcp_input.c:2314 tcp_fastretrans_alert()
    > >>>
    > >>> Call Trace:
    > >>> [] tcp_ack+0xcd6/0x1894
    > >>> ...snip...
    > >> ...Thanks for the report, I'll have look what could still break
    > >> fackets_out...

    > >
    > > I think this one is now clear to me, tcp_fragment/collapse adjusts
    > > fackets_out (incorrectly) also for reno flow when there were some dupACKs
    > > that made sacked_out != 0. Could you please try if patch below proves all
    > > them to be of non-SACK origin... In case that's true, it's rather
    > > harmless, I'll send a fix on Monday or so (this would anyway be needed)...
    > > If you find out that them occur with SACK enabled flow, that would be
    > > more interesting and requires more digging...

    >
    > I'm trying now to reproduce this WARNING.
    >
    > It seems that the n/w behaves differently during the week ends. Probably
    > taking a break.


    Thanks.

    Of course there are other means too to determine if TCP flows do negotiate
    SACK enabled or not. Depending on your test case (which is fully unknown
    to me) they may or may not be usable... At least the value of tcp_sack
    sysctl on both systems or tcpdump catching SYN packets should give that
    detail. ...If you know to which hosts TCP could be connected (and active)
    to, while the WARNING triggers, it's really easy to test what is being
    negotiated as it's unlikely to change at short notice and any TCP flow to
    that host will get us the same information though the WARNING would not be
    triggered with it at this time. Obviously if at least one of the remotes
    is not known or the set ends up being mixture of reno and SACK flows, then
    we'll just have to wait and see which fish we get...


    --
    i.

+ Reply to Thread
Page 2 of 3 FirstFirst 1 2 3 LastLast