public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* multiprocessor kernel problem
@ 2000-12-01 16:41 Roger Crandell
  2000-12-01 22:48 ` Peter Samuelson
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Roger Crandell @ 2000-12-01 16:41 UTC (permalink / raw)
  To: linux-kernel


I have 2.4.0  test 10 and test 11 installed on a multiprocessor (Intel)
machine.  I have tried both test versions of the kernel.  I configured
the kernel for single
and multi processor.  When I boot single processor, iptables will run
fine.  When I boot the machine with the multiprocessor kernel and run
iptables, the kernel dumps several pages of hex and the final two lines
of output are:

Killing interrupt handler
scheduling in interrupt

The kernel logs nothing and you must reset the machine to bring it back
up.  I believe this is a kernel issue rather than an iptables
issue.

Does anyone have experience with iptables on a multiprocessor machine?

I am not currently subscribed to this list, so may I please be
personally CC'ed with the
answers/comments posted to the list?  I have also submitted this to the
netfilter list of which I am
a member.


Roger Crandell

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* multiprocessor kernel problem
@ 2000-12-01 16:57 Roger Crandell
  2000-12-02 16:15 ` Johan Kullstam
  0 siblings, 1 reply; 12+ messages in thread
From: Roger Crandell @ 2000-12-01 16:57 UTC (permalink / raw)
  To: linux-kernel


I should have mentioned this is a 4 processor machine with a 64 bit
buss.

Roger Crandell



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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: multiprocessor kernel problem
  2000-12-01 16:41 Roger Crandell
@ 2000-12-01 22:48 ` Peter Samuelson
  2000-12-01 23:01 ` Keith Owens
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 12+ messages in thread
From: Peter Samuelson @ 2000-12-01 22:48 UTC (permalink / raw)
  To: Roger Crandell; +Cc: linux-kernel


[Roger Crandell]
> When I boot the machine with the multiprocessor kernel and run
> iptables, the kernel dumps several pages of hex and the final two
> lines of output are:
> 
> Killing interrupt handler
> scheduling in interrupt

Look through the "several pages of hex" for any number in square +
angle brackets i.e. [<xxxxxxxx>] (particularly the EIP and the stack),
and write these down.  Then run these numbers through ksymoops.

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: multiprocessor kernel problem
  2000-12-01 16:41 Roger Crandell
  2000-12-01 22:48 ` Peter Samuelson
@ 2000-12-01 23:01 ` Keith Owens
  2000-12-02 16:12 ` Johan Kullstam
  2000-12-03  2:08 ` Rusty Russell
  3 siblings, 0 replies; 12+ messages in thread
From: Keith Owens @ 2000-12-01 23:01 UTC (permalink / raw)
  To: Roger Crandell; +Cc: linux-kernel

On Fri, 01 Dec 2000 09:41:58 -0700, 
Roger Crandell <rwc@lanl.gov> wrote:
>Killing interrupt handler
>scheduling in interrupt
>
>The kernel logs nothing and you must reset the machine to bring it back

linux/Documentation/oops-tracing.txt
linux/Documentation/serial-console.txt

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: multiprocessor kernel problem
  2000-12-01 16:41 Roger Crandell
  2000-12-01 22:48 ` Peter Samuelson
  2000-12-01 23:01 ` Keith Owens
@ 2000-12-02 16:12 ` Johan Kullstam
  2000-12-03  2:08 ` Rusty Russell
  3 siblings, 0 replies; 12+ messages in thread
From: Johan Kullstam @ 2000-12-02 16:12 UTC (permalink / raw)
  To: linux-kernel

Roger Crandell <rwc@lanl.gov> writes:

> I have 2.4.0  test 10 and test 11 installed on a multiprocessor (Intel)
> machine.  I have tried both test versions of the kernel.  I configured
> the kernel for single
> and multi processor.  When I boot single processor, iptables will run
> fine.  When I boot the machine with the multiprocessor kernel and run
> iptables, the kernel dumps several pages of hex and the final two lines
> of output are:
> 
> Killing interrupt handler
> scheduling in interrupt
> 
> The kernel logs nothing and you must reset the machine to bring it back
> up.  I believe this is a kernel issue rather than an iptables
> issue.
> 
> Does anyone have experience with iptables on a multiprocessor
> machine?

i tried it about a month back with -test11.  my quad ppro simply
locked up and died when i issued "iptables -nL".  i got no logs just a
freeze.  perhaps only my keyboard mouse and NIC died and the rest of
the machine kept on running.  i posted a couple of times to the
netfilter mailing list but got zero response.

-- 
J o h a n  K u l l s t a m
[kullstam@ne.mediaone.net]
Don't Fear the Penguin!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: multiprocessor kernel problem
  2000-12-01 16:57 multiprocessor kernel problem Roger Crandell
@ 2000-12-02 16:15 ` Johan Kullstam
  0 siblings, 0 replies; 12+ messages in thread
From: Johan Kullstam @ 2000-12-02 16:15 UTC (permalink / raw)
  To: linux-kernel

Roger Crandell <rwc@lanl.gov> writes:

> I should have mentioned this is a 4 processor machine with a 64 bit
> buss.

perhaps the netfilter stuff isn't 4-way SMP safe.  my quad ppro box
seizes with iptables too.  however, many people report it working with
2-way SMP boxen.

has anyone gotten netfilter/iptables to work on a SMP box with more
than 2 processors?

i recall old 2.0.x kernels deadlocking on a 4-way
until x=35 or so.  maybe this is somehow similar.

-- 
J o h a n  K u l l s t a m
[kullstam@ne.mediaone.net]
Don't Fear the Penguin!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: multiprocessor kernel problem
  2000-12-01 16:41 Roger Crandell
                   ` (2 preceding siblings ...)
  2000-12-02 16:12 ` Johan Kullstam
@ 2000-12-03  2:08 ` Rusty Russell
  2000-12-04  0:22   ` Johan Kullstam
  2000-12-04  1:30   ` Roger Crandell
  3 siblings, 2 replies; 12+ messages in thread
From: Rusty Russell @ 2000-12-03  2:08 UTC (permalink / raw)
  To: Roger Crandell; +Cc: linux-kernel

In message <3A27D4D6.4DA47346@lanl.gov> you write:
> 
> I have 2.4.0  test 10 and test 11 installed on a multiprocessor (Intel)
> machine.  I have tried both test versions of the kernel.  I configured
> the kernel for single
> and multi processor.  When I boot single processor, iptables will run
> fine.  When I boot the machine with the multiprocessor kernel and run
> iptables, the kernel dumps several pages of hex and the final two lines
> of output are:
> 
> Killing interrupt handler
> scheduling in interrupt

My development box (running test10pre5) is SMP, and it works fine.  I
haven't updated to the latest kernel version because I like my
filesystems in one piece, and the netfilter code hasn't changed.

What is your kernel configuration, and iptables version?  Have you
patched the kernel?

Thanks for the report,
Rusty.
--
Hacking time.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: multiprocessor kernel problem
  2000-12-03  2:08 ` Rusty Russell
@ 2000-12-04  0:22   ` Johan Kullstam
  2000-12-04  5:21     ` Rusty Russell
  2000-12-04  1:30   ` Roger Crandell
  1 sibling, 1 reply; 12+ messages in thread
From: Johan Kullstam @ 2000-12-04  0:22 UTC (permalink / raw)
  To: linux-kernel

Rusty Russell <rusty@linuxcare.com.au> writes:

> In message <3A27D4D6.4DA47346@lanl.gov> you write:
> > 
> > I have 2.4.0  test 10 and test 11 installed on a multiprocessor (Intel)
> > machine.  I have tried both test versions of the kernel.  I configured
> > the kernel for single
> > and multi processor.  When I boot single processor, iptables will run
> > fine.  When I boot the machine with the multiprocessor kernel and run
> > iptables, the kernel dumps several pages of hex and the final two lines
> > of output are:
> > 
> > Killing interrupt handler
> > scheduling in interrupt
> 
> My development box (running test10pre5) is SMP, and it works fine.

yes, but is it a dual machine or is it an N-way SMP with N > 2?  the
other guy with iptables/SMP problems also has a quad box.  could this
perhaps be a problem only when you have more than two processors?

> I
> haven't updated to the latest kernel version because I like my
> filesystems in one piece, and the netfilter code hasn't changed.
> 
> What is your kernel configuration, and iptables version?  Have you
> patched the kernel?

i tried 2.4.0-test10 (no patches) with iptables 1.1.2.  this is an alr
revolution quad6 (4 ppros).

i posted this to the netfilter mailing list a while back.
<URL:http://lists.samba.org/pipermail/netfilter/2000-November/005838.html>

-- 
J o h a n  K u l l s t a m
[kullstam@ne.mediaone.net]
Don't Fear the Penguin!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: multiprocessor kernel problem
  2000-12-03  2:08 ` Rusty Russell
  2000-12-04  0:22   ` Johan Kullstam
@ 2000-12-04  1:30   ` Roger Crandell
  1 sibling, 0 replies; 12+ messages in thread
From: Roger Crandell @ 2000-12-04  1:30 UTC (permalink / raw)
  To: Rusty Russell; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2046 bytes --]

Rusty,

I have two identical machines and the problem exists on both.  The machines
have Megaplex II quad  Pentium III Xeon PCI ISA system boards.  I have 550
Pentium III Xeon, 100/512 processors.  I am running test11 which I
downloaded a few days ago.  I have installed no patches.  My iptables is
1.1.2.

I compiled two version of the kernel, one is single processor and one is
SMP.  I can successfully run iptables on the single processor kernel and I
can also get it to work with two processors using the SMP kernel.  With 4
processors the system boots fine, but when I try to run iptables with 4
processors the system freezes solid.  It does not write anything to the
system log.

We currently have iptables working on a single processor machine in our
network.  It typically tracks an average of 13000 connections with peaks
reaching 21000 connections.  It works flawlessly.  We want to upgrade from
10/100 interfaces to GigE.  We hoped to use the 4 processor machines to do
this.

I am attaching my kernel config file.  If you have any ideas how to get all
four processors working please let me know.


Thanks


Roger




Rusty Russell wrote:

> In message <3A27D4D6.4DA47346@lanl.gov> you write:
> >
> > I have 2.4.0  test 10 and test 11 installed on a multiprocessor (Intel)
> > machine.  I have tried both test versions of the kernel.  I configured
> > the kernel for single
> > and multi processor.  When I boot single processor, iptables will run
> > fine.  When I boot the machine with the multiprocessor kernel and run
> > iptables, the kernel dumps several pages of hex and the final two lines
> > of output are:
> >
> > Killing interrupt handler
> > scheduling in interrupt
>
> My development box (running test10pre5) is SMP, and it works fine.  I
> haven't updated to the latest kernel version because I like my
> filesystems in one piece, and the netfilter code hasn't changed.
>
> What is your kernel configuration, and iptables version?  Have you
> patched the kernel?
>
> Thanks for the report,
> Rusty.
> --
> Hacking time.

[-- Attachment #2: .config --]
[-- Type: text/plain, Size: 15709 bytes --]

#
# Automatically generated by make menuconfig: don't edit
#
CONFIG_X86=y
CONFIG_ISA=y
# CONFIG_SBUS is not set
CONFIG_UID16=y

#
# Code maturity level options
#
# CONFIG_EXPERIMENTAL is not set

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y

#
# Processor type and features
#
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
CONFIG_M686FXSR=y
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_PGE=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_FXSR=y
CONFIG_X86_XMM=y
# CONFIG_TOSHIBA is not set
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MTRR is not set
CONFIG_SMP=y
CONFIG_HAVE_DEC_LOCK=y

#
# General setup
#
CONFIG_NET=y
# CONFIG_VISWS is not set
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_NAMES=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
CONFIG_HOTPLUG=y

#
# PCMCIA/CardBus support
#
# CONFIG_PCMCIA is not set
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
# CONFIG_PM is not set
# CONFIG_ACPI is not set
# CONFIG_APM is not set

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
# CONFIG_PARPORT is not set

#
# Plug and Play configuration
#
CONFIG_PNP=y
CONFIG_ISAPNP=y

#
# Block devices
#
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# 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_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set

#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_BLK_DEV_LVM is not set
# CONFIG_LVM_PROC_FS is not set

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_NETLINK=y
CONFIG_RTNETLINK=y
# CONFIG_NETLINK_DEV is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER_DEBUG=y
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_RTNETLINK=y
CONFIG_NETLINK=y
# CONFIG_IP_MULTIPLE_TABLES is not set
# CONFIG_IP_ROUTE_MULTIPATH is not set
# CONFIG_IP_ROUTE_TOS is not set
# CONFIG_IP_ROUTE_VERBOSE is not set
# CONFIG_IP_ROUTE_LARGE_TABLES is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_INET_ECN is not set
# CONFIG_SYN_COOKIES is not set

#
#   IP: Netfilter Configuration
#
# CONFIG_IP_NF_CONNTRACK is not set
CONFIG_IP_NF_IPTABLES=y
# CONFIG_IP_NF_MATCH_LIMIT is not set
# CONFIG_IP_NF_MATCH_MAC is not set
# CONFIG_IP_NF_MATCH_MARK is not set
CONFIG_IP_NF_MATCH_MULTIPORT=y
# CONFIG_IP_NF_MATCH_TOS is not set
CONFIG_IP_NF_FILTER=y
# CONFIG_IP_NF_TARGET_REJECT is not set
# CONFIG_IP_NF_MANGLE is not set
CONFIG_IP_NF_TARGET_LOG=y
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set
# CONFIG_PHONE_IXJ is not set

#
# ATA/IDE/MFM/RLL support
#
CONFIG_IDE=y

#
# IDE, ATA and ATAPI Block devices
#
CONFIG_BLK_DEV_IDE=y
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_BLK_DEV_IDEDISK_VENDOR is not set
# CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set
# CONFIG_BLK_DEV_IDEDISK_IBM is not set
# CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set
# CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set
# CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set
# CONFIG_BLK_DEV_IDEDISK_WD is not set
# CONFIG_BLK_DEV_COMMERIAL is not set
# CONFIG_BLK_DEV_TIVO is not set
# CONFIG_BLK_DEV_IDECS is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
CONFIG_BLK_DEV_CMD640=y
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_ISAPNP is not set
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_IDEDMA_PCI is not set
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_IDEDMA_PCI_AUTO is not set
# CONFIG_BLK_DEV_IDEDMA is not set
# CONFIG_IDEDMA_PCI_WIP is not set
# CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_AEC62XX_TUNING is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_WDC_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD7409 is not set
# CONFIG_AMD7409_OVERRIDE is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_HPT34X_AUTODMA is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_PIIX_TUNING is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX is not set
# CONFIG_PDC202XX_BURST is not set
# CONFIG_BLK_DEV_OSB4 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_IDE_CHIPSETS is not set
# CONFIG_IDEDMA_AUTO is not set
# CONFIG_DMA_NONPCI is not set
CONFIG_BLK_DEV_IDE_MODES=y

#
# SCSI support
#
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_SD_EXTRA_DEVS=40
# CONFIG_CHR_DEV_ST is not set
CONFIG_BLK_DEV_SR=y
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_SR_EXTRA_DEVS=2
# CONFIG_CHR_DEV_SG is not set
CONFIG_SCSI_DEBUG_QUEUES=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_TCQ_ON_BY_DEFAULT=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
# CONFIG_AIC7XXX_PROC_STATS is not set
CONFIG_AIC7XXX_RESET_DELAY=5
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_NCR53C7xx is not set
# CONFIG_SCSI_NCR53C8XX is not set
# CONFIG_SCSI_SYM53C8XX is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_SEAGATE is not set
# CONFIG_SCSI_SIM710 is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set

#
# I2O device support
#
# CONFIG_I2O is not set
# CONFIG_I2O_PCI is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_LAN is not set
# CONFIG_I2O_SCSI is not set
# CONFIG_I2O_PROC is not set

#
# Network device support
#
CONFIG_NETDEVICES=y

#
# ARCnet devices
#
# CONFIG_ARCNET is not set
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_NET_SB1000 is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_NET_VENDOR_3COM=y
CONFIG_EL1=y
CONFIG_EL2=y
CONFIG_ELPLUS=y
# CONFIG_EL16 is not set
CONFIG_EL3=y
CONFIG_3C515=y
# CONFIG_ELMC is not set
# CONFIG_ELMC_II is not set
CONFIG_VORTEX=y
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
CONFIG_NET_ISA=y
# CONFIG_E2100 is not set
# CONFIG_EEXPRESS is not set
# CONFIG_EEXPRESS_PRO is not set
# CONFIG_HPLAN_PLUS is not set
# CONFIG_HPLAN is not set
# CONFIG_ETH16I is not set
# CONFIG_NE2000 is not set
# CONFIG_SK_G16 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_CS89x0 is not set
CONFIG_TULIP=y
# CONFIG_DE4X5 is not set
# CONFIG_DGRS is not set
# CONFIG_DM9102 is not set
# CONFIG_EEPRO100 is not set
# CONFIG_EEPRO100_PM is not set
# CONFIG_LNE390 is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_NE3210 is not set
# CONFIG_ES3210 is not set
# CONFIG_8139TOO is not set
# CONFIG_RTL8129 is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_WINBOND_840 is not set
# CONFIG_HAPPYMEAL is not set
# CONFIG_NET_POCKET is not set

#
# Ethernet (1000 Mbit)
#
CONFIG_ACENIC=y
# CONFIG_ACENIC_OMIT_TIGON_I is not set
# CONFIG_HAMACHI is not set
# CONFIG_SK98LIN is not set
# CONFIG_FDDI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set

#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set

#
# Wan interfaces
#
# CONFIG_WAN is not set

#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set

#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Input core support
#
# CONFIG_INPUT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
# CONFIG_SERIAL_EXTENDED is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_UNIX98_PTYS is not set

#
# I2C support
#
# CONFIG_I2C is not set

#
# Mice
#
CONFIG_BUSMOUSE=y
# CONFIG_ATIXL_BUSMOUSE is not set
# CONFIG_LOGIBUSMOUSE is not set
CONFIG_MS_BUSMOUSE=y
CONFIG_MOUSE=y
CONFIG_PSMOUSE=y
# CONFIG_82C710_MOUSE is not set
# CONFIG_PC110_PAD is not set

#
# Joysticks
#
# CONFIG_JOYSTICK is not set
# CONFIG_QIC02_TAPE is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_INTEL_RNG is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
# CONFIG_AGP is not set
CONFIG_DRM=y
CONFIG_DRM_TDFX=y
# CONFIG_DRM_GAMMA is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_I810 is not set
# CONFIG_DRM_MGA is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# File systems
#
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=y
# CONFIG_ADFS_FS is not set
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_BFS_FS is not set
CONFIG_FAT_FS=y
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_RAMFS is not set
CONFIG_ISO9660_FS=y
# CONFIG_JOLIET is not set
# CONFIG_MINIX_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS_RW is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVFS_MOUNT is not set
# CONFIG_DEVFS_DEBUG is not set
# CONFIG_DEVPTS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX4FS_RW is not set
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
# CONFIG_SYSV_FS_WRITE is not set
# CONFIG_UDF_FS is not set
# CONFIG_UDF_RW is not set
# CONFIG_UFS_FS is not set
# CONFIG_UFS_FS_WRITE is not set

#
# Network File Systems
#
# CONFIG_CODA_FS is not set
# CONFIG_NFS_FS is not set
# CONFIG_NFS_V3 is not set
# CONFIG_ROOT_NFS is not set
# CONFIG_NFSD is not set
# CONFIG_NFSD_V3 is not set
# CONFIG_SUNRPC is not set
# CONFIG_LOCKD is not set
# CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not set
# CONFIG_NCPFS_NFS_NS is not set
# CONFIG_NCPFS_OS2_NS is not set
# CONFIG_NCPFS_SMALLDOS is not set
# CONFIG_NCPFS_MOUNT_SUBDIR is not set
# CONFIG_NCPFS_NDS_DOMAINS is not set
# CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y

#
# Native Language Support
#
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
# 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_874 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_ISO8859_1 is not set
# 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_8 is not set
# CONFIG_NLS_ISO8859_9 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_UTF8 is not set

#
# Console drivers
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VIDEO_SELECT is not set

#
# Sound
#
CONFIG_SOUND=y
# CONFIG_SOUND_CMPCI is not set
# CONFIG_SOUND_EMU10K1 is not set
# CONFIG_SOUND_FUSION is not set
# CONFIG_SOUND_CS4281 is not set
# CONFIG_SOUND_ES1370 is not set
CONFIG_SOUND_ES1371=y
# CONFIG_SOUND_ESSSOLO1 is not set
# CONFIG_SOUND_MAESTRO is not set
# CONFIG_SOUND_SONICVIBES is not set
# CONFIG_SOUND_TRIDENT is not set
# CONFIG_SOUND_MSNDCLAS is not set
# CONFIG_SOUND_MSNDPIN is not set
# CONFIG_SOUND_VIA82CXXX is not set
# CONFIG_SOUND_OSS is not set
# CONFIG_SOUND_TVMIXER is not set

#
# USB support
#
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_DEVICEFS is not set
# CONFIG_USB_BANDWIDTH is not set
CONFIG_USB_UHCI_ALT=y
# CONFIG_USB_OHCI is not set
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_SCANNER is not set
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_ACM is not set
# CONFIG_USB_SERIAL is not set
# CONFIG_USB_IBMCAM is not set
# CONFIG_USB_OV511 is not set
# CONFIG_USB_DC2XX is not set
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_USS720 is not set
# CONFIG_USB_DABUSB is not set

#
# Kernel hacking
#
# CONFIG_MAGIC_SYSRQ is not set

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: multiprocessor kernel problem
  2000-12-04  0:22   ` Johan Kullstam
@ 2000-12-04  5:21     ` Rusty Russell
  2000-12-04 20:56       ` Roger Crandell
  2000-12-04 23:53       ` Johan Kullstam
  0 siblings, 2 replies; 12+ messages in thread
From: Rusty Russell @ 2000-12-04  5:21 UTC (permalink / raw)
  To: Johan Kullstam, Roger Crandell; +Cc: linux-kernel

In message <m2elzp3uiq.fsf@euler.axel.nom> you write:
> yes, but is it a dual machine or is it an N-way SMP with N > 2?  the
> other guy with iptables/SMP problems also has a quad box.  could this
> perhaps be a problem only when you have more than two processors?

Yes, hacked my machine to think it had 4 cpus, and boom.

There are two problems:
(1) initialization of multiple tables was wrong, and
(2) iterating through tables should not use cpu_number_map (doesn't
    matter on X86 though).

Please try attached patch.

Thanks,
Rusty,
--
Hacking time.
--- working-2.4.0-test11-5/net/ipv4/netfilter/ip_tables.c.~1~	Sat Aug 12 00:23:40 2000
+++ working-2.4.0-test11-5/net/ipv4/netfilter/ip_tables.c	Mon Dec  4 16:12:44 2000
@@ -89,10 +89,8 @@
 	unsigned int hook_entry[NF_IP_NUMHOOKS];
 	unsigned int underflow[NF_IP_NUMHOOKS];
 
-	char padding[SMP_ALIGN((NF_IP_NUMHOOKS*2+2)*sizeof(unsigned int))];
-
 	/* ipt_entry tables: one per CPU */
-	char entries[0];
+	char entries[0] __attribute__((aligned(SMP_CACHE_BYTES)));
 };
 
 static LIST_HEAD(ipt_target);
@@ -101,7 +99,7 @@
 #define ADD_COUNTER(c,b,p) do { (c).bcnt += (b); (c).pcnt += (p); } while(0)
 
 #ifdef CONFIG_SMP
-#define TABLE_OFFSET(t,p) (SMP_ALIGN((t)->size)*cpu_number_map(p))
+#define TABLE_OFFSET(t,p) (SMP_ALIGN((t)->size)*(p))
 #else
 #define TABLE_OFFSET(t,p) 0
 #endif
@@ -283,7 +281,8 @@
 	read_lock_bh(&table->lock);
 	IP_NF_ASSERT(table->valid_hooks & (1 << hook));
 	table_base = (void *)table->private->entries
-		+ TABLE_OFFSET(table->private, smp_processor_id());
+		+ TABLE_OFFSET(table->private,
+			       cpu_number_map(smp_processor_id()));
 	e = get_entry(table_base, table->private->hook_entry[hook]);
 
 #ifdef CONFIG_NETFILTER_DEBUG
@@ -860,7 +859,7 @@
 
 	/* And one copy for every other CPU */
 	for (i = 1; i < smp_num_cpus; i++) {
-		memcpy(newinfo->entries + SMP_ALIGN(newinfo->size*i),
+		memcpy(newinfo->entries + SMP_ALIGN(newinfo->size)*i,
 		       newinfo->entries,
 		       SMP_ALIGN(newinfo->size));
 	}
@@ -1359,7 +1358,7 @@
 	int ret;
 	struct ipt_table_info *newinfo;
 	static struct ipt_table_info bootstrap
-		= { 0, 0, { 0 }, { 0 }, { }, { } };
+		= { 0, 0, { 0 }, { 0 }, { } };
 
 	MOD_INC_USE_COUNT;
 	newinfo = vmalloc(sizeof(struct ipt_table_info)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: multiprocessor kernel problem
  2000-12-04  5:21     ` Rusty Russell
@ 2000-12-04 20:56       ` Roger Crandell
  2000-12-04 23:53       ` Johan Kullstam
  1 sibling, 0 replies; 12+ messages in thread
From: Roger Crandell @ 2000-12-04 20:56 UTC (permalink / raw)
  To: Rusty Russell; +Cc: Johan Kullstam, linux-kernel

Rusty,

Excellent!  I applied the patch and netfilter is happy with 4 processors.  Thank you and
thanks to everyone else who sent suggestions.


Roger



Rusty Russell wrote:

> In message <m2elzp3uiq.fsf@euler.axel.nom> you write:
> > yes, but is it a dual machine or is it an N-way SMP with N > 2?  the
> > other guy with iptables/SMP problems also has a quad box.  could this
> > perhaps be a problem only when you have more than two processors?
>
> Yes, hacked my machine to think it had 4 cpus, and boom.
>
> There are two problems:
> (1) initialization of multiple tables was wrong, and
> (2) iterating through tables should not use cpu_number_map (doesn't
>     matter on X86 though).
>
> Please try attached patch.
>
> Thanks,
> Rusty,
> --
> Hacking time.
> --- working-2.4.0-test11-5/net/ipv4/netfilter/ip_tables.c.~1~   Sat Aug 12 00:23:40 2000
> +++ working-2.4.0-test11-5/net/ipv4/netfilter/ip_tables.c       Mon Dec  4 16:12:44 2000
> @@ -89,10 +89,8 @@
>         unsigned int hook_entry[NF_IP_NUMHOOKS];
>         unsigned int underflow[NF_IP_NUMHOOKS];
>
> -       char padding[SMP_ALIGN((NF_IP_NUMHOOKS*2+2)*sizeof(unsigned int))];
> -
>         /* ipt_entry tables: one per CPU */
> -       char entries[0];
> +       char entries[0] __attribute__((aligned(SMP_CACHE_BYTES)));
>  };
>
>  static LIST_HEAD(ipt_target);
> @@ -101,7 +99,7 @@
>  #define ADD_COUNTER(c,b,p) do { (c).bcnt += (b); (c).pcnt += (p); } while(0)
>
>  #ifdef CONFIG_SMP
> -#define TABLE_OFFSET(t,p) (SMP_ALIGN((t)->size)*cpu_number_map(p))
> +#define TABLE_OFFSET(t,p) (SMP_ALIGN((t)->size)*(p))
>  #else
>  #define TABLE_OFFSET(t,p) 0
>  #endif
> @@ -283,7 +281,8 @@
>         read_lock_bh(&table->lock);
>         IP_NF_ASSERT(table->valid_hooks & (1 << hook));
>         table_base = (void *)table->private->entries
> -               + TABLE_OFFSET(table->private, smp_processor_id());
> +               + TABLE_OFFSET(table->private,
> +                              cpu_number_map(smp_processor_id()));
>         e = get_entry(table_base, table->private->hook_entry[hook]);
>
>  #ifdef CONFIG_NETFILTER_DEBUG
> @@ -860,7 +859,7 @@
>
>         /* And one copy for every other CPU */
>         for (i = 1; i < smp_num_cpus; i++) {
> -               memcpy(newinfo->entries + SMP_ALIGN(newinfo->size*i),
> +               memcpy(newinfo->entries + SMP_ALIGN(newinfo->size)*i,
>                        newinfo->entries,
>                        SMP_ALIGN(newinfo->size));
>         }
> @@ -1359,7 +1358,7 @@
>         int ret;
>         struct ipt_table_info *newinfo;
>         static struct ipt_table_info bootstrap
> -               = { 0, 0, { 0 }, { 0 }, { }, { } };
> +               = { 0, 0, { 0 }, { 0 }, { } };
>
>         MOD_INC_USE_COUNT;
>         newinfo = vmalloc(sizeof(struct ipt_table_info)

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: multiprocessor kernel problem
  2000-12-04  5:21     ` Rusty Russell
  2000-12-04 20:56       ` Roger Crandell
@ 2000-12-04 23:53       ` Johan Kullstam
  1 sibling, 0 replies; 12+ messages in thread
From: Johan Kullstam @ 2000-12-04 23:53 UTC (permalink / raw)
  To: linux-kernel

Rusty Russell <rusty@linuxcare.com.au> writes:

> In message <m2elzp3uiq.fsf@euler.axel.nom> you write:
> > yes, but is it a dual machine or is it an N-way SMP with N > 2?  the
> > other guy with iptables/SMP problems also has a quad box.  could this
> > perhaps be a problem only when you have more than two processors?
> 
> Yes, hacked my machine to think it had 4 cpus, and boom.
> 
> There are two problems:
> (1) initialization of multiple tables was wrong, and
> (2) iterating through tables should not use cpu_number_map (doesn't
>     matter on X86 though).
> 
> Please try attached patch.

ok i'll give this a whirl .... success!

netfilter/iptables seems to be up and working on my quad ppro box
now.  i am running your "quick guide to firewalling" from the howto
until i get my rules straightened out.

thank you very much.

johan

-- 
J o h a n  K u l l s t a m
[kullstam@ne.mediaone.net]
Don't Fear the Penguin!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2000-12-05  0:21 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-12-01 16:57 multiprocessor kernel problem Roger Crandell
2000-12-02 16:15 ` Johan Kullstam
  -- strict thread matches above, loose matches on Subject: below --
2000-12-01 16:41 Roger Crandell
2000-12-01 22:48 ` Peter Samuelson
2000-12-01 23:01 ` Keith Owens
2000-12-02 16:12 ` Johan Kullstam
2000-12-03  2:08 ` Rusty Russell
2000-12-04  0:22   ` Johan Kullstam
2000-12-04  5:21     ` Rusty Russell
2000-12-04 20:56       ` Roger Crandell
2000-12-04 23:53       ` Johan Kullstam
2000-12-04  1:30   ` Roger Crandell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox