* [PATCH net-next 0/6] Add support to download EEE firmware for the 57766
From: Nithin Nayak Sujir @ 2013-03-07 3:02 UTC (permalink / raw)
To: davem; +Cc: netdev, Nithin Nayak Sujir
For the 57766 devices with no NVRAM, there is not enough space for the complete
boot code with EEE support. On these devices, the tg3 driver has to download
a service patch firmware to the scratchpad for the boot code to execute. This
patchset adds support to do the above.
A major portion of this patchset is refactoring the existing firmware download
section to allow a cleaner merge of the 57766 download. The 57766 firmware
differs from previous firmware in that it's not written to a contiguous area in
memory. It consists of multiple fragments to be written to different locations.
The patchset makes an attempt to make the new firmware format to be an
extension of the existing format.
Matt Carlson (1):
tg3: Add new FW_TSO flag
Nithin Nayak Sujir (5):
tg3: Refactor cpu pause/resume code
tg3: Refactor the 2nd type of cpu pause
tg3: Cleanup firmware parsing code
tg3: Enhance firmware download code to support fragmented firmware
tg3: Download 57766 EEE service patch firmware
drivers/net/ethernet/broadcom/tg3.c | 378 ++++++++++++++++++++++++++----------
drivers/net/ethernet/broadcom/tg3.h | 18 +-
2 files changed, 288 insertions(+), 108 deletions(-)
--
1.8.1.4
^ permalink raw reply
* [PATCH net-next 1/6] tg3: Add new FW_TSO flag
From: Nithin Nayak Sujir @ 2013-03-07 3:02 UTC (permalink / raw)
To: davem; +Cc: netdev, Matt Carlson, Nithin Nayak Sujir, Michael Chan
In-Reply-To: <1362625354-15095-1-git-send-email-nsujir@broadcom.com>
From: Matt Carlson <mcarlson@broadcom.com>
tg3 used the fw_needed member loosely as a synonym for firmware TSO. Now
that the 57766 needs firmware download support, fw_needed can no longer be
used like this. This patch creates a new FW_TSO flag and changes the
code to use it.
Also rearrange all the TSO flags together in the enum.
Reviewed-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
---
drivers/net/ethernet/broadcom/tg3.c | 11 +++++------
drivers/net/ethernet/broadcom/tg3.h | 5 +++--
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index fdb9b56..f6ebcaa 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -3618,9 +3618,7 @@ static int tg3_load_tso_firmware(struct tg3 *tp)
unsigned long cpu_base, cpu_scratch_base, cpu_scratch_size;
int err, i;
- if (tg3_flag(tp, HW_TSO_1) ||
- tg3_flag(tp, HW_TSO_2) ||
- tg3_flag(tp, HW_TSO_3))
+ if (!tg3_flag(tp, FW_TSO))
return 0;
fw_data = (void *)tp->fw->data;
@@ -15293,7 +15291,8 @@ static int tg3_get_invariants(struct tg3 *tp, const struct pci_device_id *ent)
} else if (tg3_asic_rev(tp) != ASIC_REV_5700 &&
tg3_asic_rev(tp) != ASIC_REV_5701 &&
tg3_chip_rev_id(tp) != CHIPREV_ID_5705_A0) {
- tg3_flag_set(tp, TSO_BUG);
+ tg3_flag_set(tp, FW_TSO);
+ tg3_flag_set(tp, TSO_BUG);
if (tg3_asic_rev(tp) == ASIC_REV_5705)
tp->fw_needed = FIRMWARE_TG3TSO5;
else
@@ -15304,7 +15303,7 @@ static int tg3_get_invariants(struct tg3 *tp, const struct pci_device_id *ent)
if (tg3_flag(tp, HW_TSO_1) ||
tg3_flag(tp, HW_TSO_2) ||
tg3_flag(tp, HW_TSO_3) ||
- tp->fw_needed) {
+ tg3_flag(tp, FW_TSO)) {
/* For firmware TSO, assume ASF is disabled.
* We'll disable TSO later if we discover ASF
* is enabled in tg3_get_eeprom_hw_cfg().
@@ -15591,7 +15590,7 @@ static int tg3_get_invariants(struct tg3 *tp, const struct pci_device_id *ent)
*/
tg3_get_eeprom_hw_cfg(tp);
- if (tp->fw_needed && tg3_flag(tp, ENABLE_ASF)) {
+ if (tg3_flag(tp, FW_TSO) && tg3_flag(tp, ENABLE_ASF)) {
tg3_flag_clear(tp, TSO_CAPABLE);
tg3_flag_clear(tp, TSO_BUG);
tp->fw_needed = NULL;
diff --git a/drivers/net/ethernet/broadcom/tg3.h b/drivers/net/ethernet/broadcom/tg3.h
index 8d7d4c2..eb41b6f 100644
--- a/drivers/net/ethernet/broadcom/tg3.h
+++ b/drivers/net/ethernet/broadcom/tg3.h
@@ -3009,17 +3009,18 @@ enum TG3_FLAGS {
TG3_FLAG_JUMBO_CAPABLE,
TG3_FLAG_CHIP_RESETTING,
TG3_FLAG_INIT_COMPLETE,
- TG3_FLAG_TSO_BUG,
TG3_FLAG_MAX_RXPEND_64,
- TG3_FLAG_TSO_CAPABLE,
TG3_FLAG_PCI_EXPRESS, /* BCM5785 + pci_is_pcie() */
TG3_FLAG_ASF_NEW_HANDSHAKE,
TG3_FLAG_HW_AUTONEG,
TG3_FLAG_IS_NIC,
TG3_FLAG_FLASH,
+ TG3_FLAG_FW_TSO,
TG3_FLAG_HW_TSO_1,
TG3_FLAG_HW_TSO_2,
TG3_FLAG_HW_TSO_3,
+ TG3_FLAG_TSO_CAPABLE,
+ TG3_FLAG_TSO_BUG,
TG3_FLAG_ICH_WORKAROUND,
TG3_FLAG_1SHOT_MSI,
TG3_FLAG_NO_FWARE_REPORTED,
--
1.8.1.4
^ permalink raw reply related
* [PATCH net-next 5/6] tg3: Enhance firmware download code to support fragmented firmware
From: Nithin Nayak Sujir @ 2013-03-07 3:02 UTC (permalink / raw)
To: davem; +Cc: netdev, Nithin Nayak Sujir, Michael Chan
In-Reply-To: <1362625354-15095-1-git-send-email-nsujir@broadcom.com>
This lays the ground work to download the 57766 fragmented firmware. We
loop until we've written data equal to tp->fw->size minus headers.
Reviewed-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
---
drivers/net/ethernet/broadcom/tg3.c | 48 ++++++++++++++++++++++++++++++++-----
1 file changed, 42 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index 87bd0e3..54f604b 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -3536,6 +3536,33 @@ static int tg3_halt_cpu(struct tg3 *tp, u32 cpu_base)
return 0;
}
+static int tg3_fw_data_len(struct tg3 *tp,
+ const struct tg3_firmware_hdr *fw_hdr)
+{
+ int fw_len;
+
+ /* Non fragmented firmware have one firmware header followed by a
+ * contiguous chunk of data to be written. The length field in that
+ * header is not the length of data to be written but the complete
+ * length of the bss. The data length is determined based on
+ * tp->fw->size minus headers.
+ *
+ * Fragmented firmware have a main header followed by multiple
+ * fragments. Each fragment is identical to non fragmented firmware
+ * with a firmware header followed by a contiguous chunk of data. In
+ * the main header, the length field is unused and set to 0xffffffff.
+ * In each fragment header the length is the entire size of that
+ * fragment i.e. fragment data + header length. Data length is
+ * therefore length field in the header minus TG3_FW_HDR_LEN.
+ */
+ if (tp->fw_len == 0xffffffff)
+ fw_len = be32_to_cpu(fw_hdr->len);
+ else
+ fw_len = tp->fw->size;
+
+ return (fw_len - TG3_FW_HDR_LEN) / sizeof(u32);
+}
+
/* tp->lock is held. */
static int tg3_load_firmware_cpu(struct tg3 *tp, u32 cpu_base,
u32 cpu_scratch_base, int cpu_scratch_size,
@@ -3543,7 +3570,7 @@ static int tg3_load_firmware_cpu(struct tg3 *tp, u32 cpu_base,
{
int err, lock_err, i;
void (*write_op)(struct tg3 *, u32, u32);
- u32 *fw_data = (u32 *)(fw_hdr + 1);
+ int total_len = tp->fw->size;
if (cpu_base == TX_CPU_BASE && tg3_flag(tp, 5705_PLUS)) {
netdev_err(tp->dev,
@@ -3571,12 +3598,21 @@ static int tg3_load_firmware_cpu(struct tg3 *tp, u32 cpu_base,
write_op(tp, cpu_scratch_base + i, 0);
tw32(cpu_base + CPU_STATE, 0xffffffff);
tw32(cpu_base + CPU_MODE, tr32(cpu_base+CPU_MODE)|CPU_MODE_HALT);
- for (i = 0; i < (tp->fw->size - TG3_FW_HDR_LEN) / sizeof(u32); i++)
- write_op(tp, cpu_scratch_base +
- (be32_to_cpu(fw_hdr->base_addr) & 0xffff) +
- (i * sizeof(u32)),
- be32_to_cpu(fw_data[i]));
+ do {
+ u32 *fw_data = (u32 *)(fw_hdr + 1);
+ for (i = 0; i < tg3_fw_data_len(tp, fw_hdr); i++)
+ write_op(tp, cpu_scratch_base +
+ (be32_to_cpu(fw_hdr->base_addr) & 0xffff) +
+ (i * sizeof(u32)),
+ be32_to_cpu(fw_data[i]));
+
+ total_len -= be32_to_cpu(fw_hdr->len);
+
+ /* Advance to next fragment */
+ fw_hdr = (struct tg3_firmware_hdr *)
+ ((void *)fw_hdr + be32_to_cpu(fw_hdr->len));
+ } while (total_len > 0);
err = 0;
--
1.8.1.4
^ permalink raw reply related
* [PATCH net-next 3/6] tg3: Refactor the 2nd type of cpu pause
From: Nithin Nayak Sujir @ 2013-03-07 3:02 UTC (permalink / raw)
To: davem; +Cc: netdev, Nithin Nayak Sujir, Michael Chan
In-Reply-To: <1362625354-15095-1-git-send-email-nsujir@broadcom.com>
For completeness and consistency, add common function
tg3_pause_cpu_and_set_pc(). This is only for existing fw and not used for the
57766.
Reviewed-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
---
drivers/net/ethernet/broadcom/tg3.c | 53 +++++++++++++++++++------------------
1 file changed, 27 insertions(+), 26 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index 35a99f7..4705169 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -3589,11 +3589,32 @@ out:
}
/* tp->lock is held. */
+static int tg3_pause_cpu_and_set_pc(struct tg3 *tp, u32 cpu_base, u32 pc)
+{
+ int i;
+ const int iters = 5;
+
+ tw32(cpu_base + CPU_STATE, 0xffffffff);
+ tw32_f(cpu_base + CPU_PC, pc);
+
+ for (i = 0; i < iters; i++) {
+ if (tr32(cpu_base + CPU_PC) == pc)
+ break;
+ tw32(cpu_base + CPU_STATE, 0xffffffff);
+ tw32(cpu_base + CPU_MODE, CPU_MODE_HALT);
+ tw32_f(cpu_base + CPU_PC, pc);
+ udelay(1000);
+ }
+
+ return (i == iters) ? -EBUSY : 0;
+}
+
+/* tp->lock is held. */
static int tg3_load_5701_a0_firmware_fix(struct tg3 *tp)
{
struct fw_info info;
const __be32 *fw_data;
- int err, i;
+ int err;
fw_data = (void *)tp->fw->data;
@@ -3620,18 +3641,8 @@ static int tg3_load_5701_a0_firmware_fix(struct tg3 *tp)
return err;
/* Now startup only the RX cpu. */
- tw32(RX_CPU_BASE + CPU_STATE, 0xffffffff);
- tw32_f(RX_CPU_BASE + CPU_PC, info.fw_base);
-
- for (i = 0; i < 5; i++) {
- if (tr32(RX_CPU_BASE + CPU_PC) == info.fw_base)
- break;
- tw32(RX_CPU_BASE + CPU_STATE, 0xffffffff);
- tw32(RX_CPU_BASE + CPU_MODE, CPU_MODE_HALT);
- tw32_f(RX_CPU_BASE + CPU_PC, info.fw_base);
- udelay(1000);
- }
- if (i >= 5) {
+ err = tg3_pause_cpu_and_set_pc(tp, RX_CPU_BASE, info.fw_base);
+ if (err) {
netdev_err(tp->dev, "%s fails to set RX CPU PC, is %08x "
"should be %08x\n", __func__,
tr32(RX_CPU_BASE + CPU_PC), info.fw_base);
@@ -3649,7 +3660,7 @@ static int tg3_load_tso_firmware(struct tg3 *tp)
struct fw_info info;
const __be32 *fw_data;
unsigned long cpu_base, cpu_scratch_base, cpu_scratch_size;
- int err, i;
+ int err;
if (!tg3_flag(tp, FW_TSO))
return 0;
@@ -3683,18 +3694,8 @@ static int tg3_load_tso_firmware(struct tg3 *tp)
return err;
/* Now startup the cpu. */
- tw32(cpu_base + CPU_STATE, 0xffffffff);
- tw32_f(cpu_base + CPU_PC, info.fw_base);
-
- for (i = 0; i < 5; i++) {
- if (tr32(cpu_base + CPU_PC) == info.fw_base)
- break;
- tw32(cpu_base + CPU_STATE, 0xffffffff);
- tw32(cpu_base + CPU_MODE, CPU_MODE_HALT);
- tw32_f(cpu_base + CPU_PC, info.fw_base);
- udelay(1000);
- }
- if (i >= 5) {
+ err = tg3_pause_cpu_and_set_pc(tp, cpu_base, info.fw_base);
+ if (err) {
netdev_err(tp->dev,
"%s fails to set CPU PC, is %08x should be %08x\n",
__func__, tr32(cpu_base + CPU_PC), info.fw_base);
--
1.8.1.4
^ permalink raw reply related
* Re: [RFC PATCH net-next 3/3] bridge: Implement IFF_UNICAST_FLT
From: John Fastabend @ 2013-03-07 3:10 UTC (permalink / raw)
To: Vlad Yasevich; +Cc: netdev, bridge
In-Reply-To: <1362623485-18209-4-git-send-email-vyasevic@redhat.com>
On 03/06/2013 06:31 PM, Vlad Yasevich wrote:
> Implement IFF_UNICAST_FLT on the bridge. Unicast addresses added
> to the bridge device are synched to the uplink devices. This
> allows for uplink devices to change while preserving mac assignment.
>
> Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
> ---
[...]
> diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c
> index b0812c9..ef7b51e 100644
> --- a/net/bridge/br_fdb.c
> +++ b/net/bridge/br_fdb.c
> @@ -677,6 +677,9 @@ int br_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
> struct net_port_vlans *pv;
> unsigned short vid = VLAN_N_VID;
>
> + if ((ndm->ndm_flags & NTF_SELF) && (dev->priv_flags & IFF_EBRIDGE))
> + return ndo_dflt_fdb_add(ndm, tb, dev, addr, nlh_flags);
> +
> if (!(ndm->ndm_state & (NUD_PERMANENT|NUD_NOARP|NUD_REACHABLE))) {
> pr_info("bridge: RTM_NEWNEIGH with invalid state %#x\n", ndm->ndm_state);
> return -EINVAL;
> @@ -774,6 +777,9 @@ int br_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[],
> struct net_port_vlans *pv;
> unsigned short vid = VLAN_N_VID;
>
> + if ((ndm->ndm_flags & NTF_SELF) && (dev->priv_flags & IFF_EBRIDGE))
> + return ndo_dflt_fdb_del(ndm, tb, dev, addr);
> +
> if (tb[NDA_VLAN]) {
> if (nla_len(tb[NDA_VLAN]) != sizeof(unsigned short)) {
> pr_info("bridge: RTM_NEWNEIGH with invalid vlan\n");
>
How is this different then calling the fdb op from rtnetlink.c when the
NTF_SELF bit is set after your previous patch
net: generic fdb support for drivers without ndo_fdb_<op>
the generic routine gets called if a specific op is not supplied via
ndo ops anyways right?
Also I suspect if the driver supplies a specific ndo_fdb_<op> we should
use it over the generic one.
What am I missing?
Thanks,
John
--
John Fastabend Intel Corporation
^ permalink raw reply
* Re: [PATCH] bonding: fire NETDEV_RELEASE event only on 0 slaves
From: Neil Horman @ 2013-03-07 3:38 UTC (permalink / raw)
To: Veaceslav Falico; +Cc: netdev, fubar, andy
In-Reply-To: <1362589832-9526-1-git-send-email-vfalico@redhat.com>
On Wed, Mar 06, 2013 at 06:10:32PM +0100, Veaceslav Falico wrote:
> Currently, if we set up netconsole over bonding and release a slave,
> netconsole will stop logging on the whole bonding device. Change the
> behavior to stop the netconsole only when the last slave is released.
>
> Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
> ---
> drivers/net/bonding/bond_main.c | 5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
> index 7bd068a..8b4e96e 100644
> --- a/drivers/net/bonding/bond_main.c
> +++ b/drivers/net/bonding/bond_main.c
> @@ -1964,7 +1964,6 @@ static int __bond_release_one(struct net_device *bond_dev,
> }
>
> block_netpoll_tx();
> - call_netdevice_notifiers(NETDEV_RELEASE, bond_dev);
> write_lock_bh(&bond->lock);
>
> slave = bond_get_slave_by_dev(bond, slave_dev);
> @@ -2066,8 +2065,10 @@ static int __bond_release_one(struct net_device *bond_dev,
> write_unlock_bh(&bond->lock);
> unblock_netpoll_tx();
>
> - if (bond->slave_cnt == 0)
> + if (bond->slave_cnt == 0) {
> call_netdevice_notifiers(NETDEV_CHANGEADDR, bond->dev);
> + call_netdevice_notifiers(NETDEV_RELEASE, bond->dev);
> + }
>
> bond_compute_features(bond);
> if (!(bond_dev->features & NETIF_F_VLAN_CHALLENGED) &&
> --
> 1.7.1
>
>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
^ permalink raw reply
* Re: [PATCH] net/rds: using strlcpy instead of strncpy
From: Chen Gang @ 2013-03-07 4:03 UTC (permalink / raw)
To: Ben Hutchings
Cc: David Laight, venkat.x.venkatsubra, David Miller, rds-devel,
netdev
In-Reply-To: <1362502844.2791.32.camel@bwh-desktop.uk.solarflarecom.com>
于 2013年03月06日 01:00, Ben Hutchings 写道:
> This function calls rds_copy_info() to copy the whole of ctr into
> userland.
>
> If ctr is not completely initialised, then the values of the
> uninitialised bytes are left over from the local variables of an earlier
> system call. If an attacker knows enough about the stack layout (easy
> if this is a distribution kernel), they can make a series of system
> calls that leak information about heap-allocated objects. That can help
> them to exploit other kernel bugs for privilege escalation. So we
> should initialise every bit of memory that is going to be copied to
> userland.
>
> (In fact, in general it's not even enough to initialise all fields of
> the structure, because there may be padding bytes between them. In this
> case we know there isn't, because it's declared as packed.)
>
> Ben.
thank you for your information.
I should send patch v2 for it.
:-)
--
Chen Gang
Asianux Corporation
^ permalink raw reply
* Re: [PATCH] drivers/isdn: checkng length to be sure not memory overflow
From: Chen Gang @ 2013-03-07 4:13 UTC (permalink / raw)
To: Jiri Slaby; +Cc: Jiri Kosina, isdn, Greg KH, alan, netdev
In-Reply-To: <5135BC3F.8070507@suse.cz>
于 2013年03月05日 17:34, Jiri Slaby 写道:
>> what you said is: this patch need improving, is it correct ?
>> > if it is correct.
>> > I still prefer to throw the rest contents (but need improving, too)
>> > for maintaining, we need fix bug, but not need add new features
>> > so what we should do:
>> > a) fix the bug (should not memory overflow)
>> > b) keep the original buffer length no touch
>> > it is not sizeof(cmd.parm.cmsg.para) - 2)
>> > it should be sizeof(cmd.param) - sizeof(cmd.param.cmsg) + sizeof(cmd.param.cmsg.para) - 2
>> > c) need complete the relative document to export the limitation.
>> >
>> > is it ok ?
> Yes, it is -- just fix the bug with minimal effort.
ok, I will send patch v2 for it.
:-)
--
Chen Gang
Asianux Corporation
^ permalink raw reply
* [PATCH] vhost_net: remove tx polling state
From: Jason Wang @ 2013-03-07 4:31 UTC (permalink / raw)
To: mst, kvm, virtualization, netdev, linux-kernel
After commit 2b8b328b61c799957a456a5a8dab8cc7dea68575 (vhost_net: handle polling
errors when setting backend), we in fact track the polling state through
poll->wqh, so there's no need to duplicate the work with an extra
vhost_net_polling_state. So this patch removes this and make the code simpler.
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
drivers/vhost/net.c | 60 ++++++++----------------------------------------
drivers/vhost/vhost.c | 3 ++
2 files changed, 13 insertions(+), 50 deletions(-)
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index 959b1cd..d1a03dd 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -64,20 +64,10 @@ enum {
VHOST_NET_VQ_MAX = 2,
};
-enum vhost_net_poll_state {
- VHOST_NET_POLL_DISABLED = 0,
- VHOST_NET_POLL_STARTED = 1,
- VHOST_NET_POLL_STOPPED = 2,
-};
-
struct vhost_net {
struct vhost_dev dev;
struct vhost_virtqueue vqs[VHOST_NET_VQ_MAX];
struct vhost_poll poll[VHOST_NET_VQ_MAX];
- /* Tells us whether we are polling a socket for TX.
- * We only do this when socket buffer fills up.
- * Protected by tx vq lock. */
- enum vhost_net_poll_state tx_poll_state;
/* Number of TX recently submitted.
* Protected by tx vq lock. */
unsigned tx_packets;
@@ -155,28 +145,6 @@ static void copy_iovec_hdr(const struct iovec *from, struct iovec *to,
}
}
-/* Caller must have TX VQ lock */
-static void tx_poll_stop(struct vhost_net *net)
-{
- if (likely(net->tx_poll_state != VHOST_NET_POLL_STARTED))
- return;
- vhost_poll_stop(net->poll + VHOST_NET_VQ_TX);
- net->tx_poll_state = VHOST_NET_POLL_STOPPED;
-}
-
-/* Caller must have TX VQ lock */
-static int tx_poll_start(struct vhost_net *net, struct socket *sock)
-{
- int ret;
-
- if (unlikely(net->tx_poll_state != VHOST_NET_POLL_STOPPED))
- return 0;
- ret = vhost_poll_start(net->poll + VHOST_NET_VQ_TX, sock->file);
- if (!ret)
- net->tx_poll_state = VHOST_NET_POLL_STARTED;
- return ret;
-}
-
/* In case of DMA done not in order in lower device driver for some reason.
* upend_idx is used to track end of used idx, done_idx is used to track head
* of used idx. Once lower device DMA done contiguously, we will signal KVM
@@ -231,6 +199,7 @@ static void vhost_zerocopy_callback(struct ubuf_info *ubuf, bool success)
static void handle_tx(struct vhost_net *net)
{
struct vhost_virtqueue *vq = &net->dev.vqs[VHOST_NET_VQ_TX];
+ struct vhost_poll *poll = net->poll + VHOST_NET_VQ_TX;
unsigned out, in, s;
int head;
struct msghdr msg = {
@@ -256,7 +225,7 @@ static void handle_tx(struct vhost_net *net)
wmem = atomic_read(&sock->sk->sk_wmem_alloc);
if (wmem >= sock->sk->sk_sndbuf) {
mutex_lock(&vq->mutex);
- tx_poll_start(net, sock);
+ vhost_poll_start(poll, sock->file);
mutex_unlock(&vq->mutex);
return;
}
@@ -265,7 +234,7 @@ static void handle_tx(struct vhost_net *net)
vhost_disable_notify(&net->dev, vq);
if (wmem < sock->sk->sk_sndbuf / 2)
- tx_poll_stop(net);
+ vhost_poll_stop(poll);
hdr_size = vq->vhost_hlen;
zcopy = vq->ubufs;
@@ -287,7 +256,7 @@ static void handle_tx(struct vhost_net *net)
wmem = atomic_read(&sock->sk->sk_wmem_alloc);
if (wmem >= sock->sk->sk_sndbuf * 3 / 4) {
- tx_poll_start(net, sock);
+ vhost_poll_start(poll, sock->file);
set_bit(SOCK_ASYNC_NOSPACE, &sock->flags);
break;
}
@@ -298,7 +267,7 @@ static void handle_tx(struct vhost_net *net)
(vq->upend_idx - vq->done_idx) :
(vq->upend_idx + UIO_MAXIOV - vq->done_idx);
if (unlikely(num_pends > VHOST_MAX_PEND)) {
- tx_poll_start(net, sock);
+ vhost_poll_start(poll, sock->file);
set_bit(SOCK_ASYNC_NOSPACE, &sock->flags);
break;
}
@@ -364,7 +333,7 @@ static void handle_tx(struct vhost_net *net)
}
vhost_discard_vq_desc(vq, 1);
if (err == -EAGAIN || err == -ENOBUFS)
- tx_poll_start(net, sock);
+ vhost_poll_start(poll, sock->file);
break;
}
if (err != len)
@@ -627,7 +596,6 @@ static int vhost_net_open(struct inode *inode, struct file *f)
vhost_poll_init(n->poll + VHOST_NET_VQ_TX, handle_tx_net, POLLOUT, dev);
vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, POLLIN, dev);
- n->tx_poll_state = VHOST_NET_POLL_DISABLED;
f->private_data = n;
@@ -637,32 +605,24 @@ static int vhost_net_open(struct inode *inode, struct file *f)
static void vhost_net_disable_vq(struct vhost_net *n,
struct vhost_virtqueue *vq)
{
+ struct vhost_poll *poll = n->poll + (vq - n->vqs);
if (!vq->private_data)
return;
- if (vq == n->vqs + VHOST_NET_VQ_TX) {
- tx_poll_stop(n);
- n->tx_poll_state = VHOST_NET_POLL_DISABLED;
- } else
- vhost_poll_stop(n->poll + VHOST_NET_VQ_RX);
+ vhost_poll_stop(poll);
}
static int vhost_net_enable_vq(struct vhost_net *n,
struct vhost_virtqueue *vq)
{
+ struct vhost_poll *poll = n->poll + (vq - n->vqs);
struct socket *sock;
- int ret;
sock = rcu_dereference_protected(vq->private_data,
lockdep_is_held(&vq->mutex));
if (!sock)
return 0;
- if (vq == n->vqs + VHOST_NET_VQ_TX) {
- n->tx_poll_state = VHOST_NET_POLL_STOPPED;
- ret = tx_poll_start(n, sock);
- } else
- ret = vhost_poll_start(n->poll + VHOST_NET_VQ_RX, sock->file);
- return ret;
+ return vhost_poll_start(poll, sock->file);
}
static struct socket *vhost_net_stop_vq(struct vhost_net *n,
diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
index 9759249..4eecdb8 100644
--- a/drivers/vhost/vhost.c
+++ b/drivers/vhost/vhost.c
@@ -89,6 +89,9 @@ int vhost_poll_start(struct vhost_poll *poll, struct file *file)
unsigned long mask;
int ret = 0;
+ if (poll->wqh)
+ return 0;
+
mask = file->f_op->poll(file, &poll->table);
if (mask)
vhost_poll_wakeup(&poll->wait, 0, 0, (void *)mask);
--
1.7.1
^ permalink raw reply related
* [PATCH v2] CAIF: fix indentation for function arguments
From: Silviu-Mihai Popescu @ 2013-03-07 5:39 UTC (permalink / raw)
To: netdev; +Cc: sjur.brandeland, davem, linux-kernel
This lines up function arguments on second and subsequent lines at the
first column after the openning parenthesis of the first line.
Signed-off-by: Silviu-Mihai Popescu <silviupopescu1990@gmail.com>
---
net/caif/caif_dev.c | 9 +++++----
net/caif/caif_socket.c | 22 +++++++++++-----------
net/caif/caif_usb.c | 4 ++--
net/caif/cfcnfg.c | 19 +++++++++----------
net/caif/cfctrl.c | 14 +++++++-------
net/caif/cffrml.c | 4 ++--
net/caif/cfmuxl.c | 4 ++--
net/caif/cfpkt_skbuff.c | 8 ++++----
net/caif/cfrfml.c | 4 ++--
net/caif/cfserl.c | 4 ++--
net/caif/cfsrvl.c | 13 ++++++-------
net/caif/chnl_net.c | 6 +++---
12 files changed, 55 insertions(+), 56 deletions(-)
diff --git a/net/caif/caif_dev.c b/net/caif/caif_dev.c
index 21760f0..df6d56d 100644
--- a/net/caif/caif_dev.c
+++ b/net/caif/caif_dev.c
@@ -301,10 +301,11 @@ static void dev_flowctrl(struct net_device *dev, int on)
}
void caif_enroll_dev(struct net_device *dev, struct caif_dev_common *caifdev,
- struct cflayer *link_support, int head_room,
- struct cflayer **layer, int (**rcv_func)(
- struct sk_buff *, struct net_device *,
- struct packet_type *, struct net_device *))
+ struct cflayer *link_support, int head_room,
+ struct cflayer **layer,
+ int (**rcv_func)(struct sk_buff *, struct net_device *,
+ struct packet_type *,
+ struct net_device *))
{
struct caif_device_entry *caifd;
enum cfcnfg_phy_preference pref;
diff --git a/net/caif/caif_socket.c b/net/caif/caif_socket.c
index 095259f..1d337e0 100644
--- a/net/caif/caif_socket.c
+++ b/net/caif/caif_socket.c
@@ -197,8 +197,8 @@ static void cfsk_put(struct cflayer *layr)
/* Packet Control Callback function called from CAIF */
static void caif_ctrl_cb(struct cflayer *layr,
- enum caif_ctrlcmd flow,
- int phyid)
+ enum caif_ctrlcmd flow,
+ int phyid)
{
struct caifsock *cf_sk = container_of(layr, struct caifsock, layer);
switch (flow) {
@@ -274,7 +274,7 @@ static void caif_check_flow_release(struct sock *sk)
* changed locking, address handling and added MSG_TRUNC.
*/
static int caif_seqpkt_recvmsg(struct kiocb *iocb, struct socket *sock,
- struct msghdr *m, size_t len, int flags)
+ struct msghdr *m, size_t len, int flags)
{
struct sock *sk = sock->sk;
@@ -346,8 +346,8 @@ static long caif_stream_data_wait(struct sock *sk, long timeo)
* changed locking calls, changed address handling.
*/
static int caif_stream_recvmsg(struct kiocb *iocb, struct socket *sock,
- struct msghdr *msg, size_t size,
- int flags)
+ struct msghdr *msg, size_t size,
+ int flags)
{
struct sock *sk = sock->sk;
int copied = 0;
@@ -462,7 +462,7 @@ out:
* CAIF flow-on and sock_writable.
*/
static long caif_wait_for_flow_on(struct caifsock *cf_sk,
- int wait_writeable, long timeo, int *err)
+ int wait_writeable, long timeo, int *err)
{
struct sock *sk = &cf_sk->sk;
DEFINE_WAIT(wait);
@@ -516,7 +516,7 @@ static int transmit_skb(struct sk_buff *skb, struct caifsock *cf_sk,
/* Copied from af_unix:unix_dgram_sendmsg, and adapted to CAIF */
static int caif_seqpkt_sendmsg(struct kiocb *kiocb, struct socket *sock,
- struct msghdr *msg, size_t len)
+ struct msghdr *msg, size_t len)
{
struct sock *sk = sock->sk;
struct caifsock *cf_sk = container_of(sk, struct caifsock, sk);
@@ -591,7 +591,7 @@ err:
* and other minor adaptations.
*/
static int caif_stream_sendmsg(struct kiocb *kiocb, struct socket *sock,
- struct msghdr *msg, size_t len)
+ struct msghdr *msg, size_t len)
{
struct sock *sk = sock->sk;
struct caifsock *cf_sk = container_of(sk, struct caifsock, sk);
@@ -670,7 +670,7 @@ out_err:
}
static int setsockopt(struct socket *sock,
- int lvl, int opt, char __user *ov, unsigned int ol)
+ int lvl, int opt, char __user *ov, unsigned int ol)
{
struct sock *sk = sock->sk;
struct caifsock *cf_sk = container_of(sk, struct caifsock, sk);
@@ -932,7 +932,7 @@ static int caif_release(struct socket *sock)
/* Copied from af_unix.c:unix_poll(), added CAIF tx_flow handling */
static unsigned int caif_poll(struct file *file,
- struct socket *sock, poll_table *wait)
+ struct socket *sock, poll_table *wait)
{
struct sock *sk = sock->sk;
unsigned int mask;
@@ -1022,7 +1022,7 @@ static void caif_sock_destructor(struct sock *sk)
}
static int caif_create(struct net *net, struct socket *sock, int protocol,
- int kern)
+ int kern)
{
struct sock *sk = NULL;
struct caifsock *cf_sk = NULL;
diff --git a/net/caif/caif_usb.c b/net/caif/caif_usb.c
index ef8ebaa..d76278d 100644
--- a/net/caif/caif_usb.c
+++ b/net/caif/caif_usb.c
@@ -75,7 +75,7 @@ static int cfusbl_transmit(struct cflayer *layr, struct cfpkt *pkt)
}
static void cfusbl_ctrlcmd(struct cflayer *layr, enum caif_ctrlcmd ctrl,
- int phyid)
+ int phyid)
{
if (layr->up && layr->up->ctrlcmd)
layr->up->ctrlcmd(layr->up, ctrl, layr->id);
@@ -121,7 +121,7 @@ static struct packet_type caif_usb_type __read_mostly = {
};
static int cfusbl_device_notify(struct notifier_block *me, unsigned long what,
- void *arg)
+ void *arg)
{
struct net_device *dev = arg;
struct caif_dev_common common;
diff --git a/net/caif/cfcnfg.c b/net/caif/cfcnfg.c
index f1dbddb..246ac3a 100644
--- a/net/caif/cfcnfg.c
+++ b/net/caif/cfcnfg.c
@@ -61,11 +61,11 @@ struct cfcnfg {
};
static void cfcnfg_linkup_rsp(struct cflayer *layer, u8 channel_id,
- enum cfctrl_srv serv, u8 phyid,
- struct cflayer *adapt_layer);
+ enum cfctrl_srv serv, u8 phyid,
+ struct cflayer *adapt_layer);
static void cfcnfg_linkdestroy_rsp(struct cflayer *layer, u8 channel_id);
static void cfcnfg_reject_rsp(struct cflayer *layer, u8 channel_id,
- struct cflayer *adapt_layer);
+ struct cflayer *adapt_layer);
static void cfctrl_resp_func(void);
static void cfctrl_enum_resp(void);
@@ -131,7 +131,7 @@ static void cfctrl_resp_func(void)
}
static struct cfcnfg_phyinfo *cfcnfg_get_phyinfo_rcu(struct cfcnfg *cnfg,
- u8 phyid)
+ u8 phyid)
{
struct cfcnfg_phyinfo *phy;
@@ -216,8 +216,8 @@ static const int protohead[CFCTRL_SRV_MASK] = {
static int caif_connect_req_to_link_param(struct cfcnfg *cnfg,
- struct caif_connect_request *s,
- struct cfctrl_link_param *l)
+ struct caif_connect_request *s,
+ struct cfctrl_link_param *l)
{
struct dev_info *dev_info;
enum cfcnfg_phy_preference pref;
@@ -301,8 +301,7 @@ static int caif_connect_req_to_link_param(struct cfcnfg *cnfg,
int caif_connect_client(struct net *net, struct caif_connect_request *conn_req,
struct cflayer *adap_layer, int *ifindex,
- int *proto_head,
- int *proto_tail)
+ int *proto_head, int *proto_tail)
{
struct cflayer *frml;
struct cfcnfg_phyinfo *phy;
@@ -364,7 +363,7 @@ unlock:
EXPORT_SYMBOL(caif_connect_client);
static void cfcnfg_reject_rsp(struct cflayer *layer, u8 channel_id,
- struct cflayer *adapt_layer)
+ struct cflayer *adapt_layer)
{
if (adapt_layer != NULL && adapt_layer->ctrlcmd != NULL)
adapt_layer->ctrlcmd(adapt_layer,
@@ -526,7 +525,7 @@ out_err:
EXPORT_SYMBOL(cfcnfg_add_phy_layer);
int cfcnfg_set_phy_state(struct cfcnfg *cnfg, struct cflayer *phy_layer,
- bool up)
+ bool up)
{
struct cfcnfg_phyinfo *phyinfo;
diff --git a/net/caif/cfctrl.c b/net/caif/cfctrl.c
index a376ec1..9cd057c 100644
--- a/net/caif/cfctrl.c
+++ b/net/caif/cfctrl.c
@@ -20,12 +20,12 @@
#ifdef CAIF_NO_LOOP
static int handle_loop(struct cfctrl *ctrl,
- int cmd, struct cfpkt *pkt){
+ int cmd, struct cfpkt *pkt){
return -1;
}
#else
static int handle_loop(struct cfctrl *ctrl,
- int cmd, struct cfpkt *pkt);
+ int cmd, struct cfpkt *pkt);
#endif
static int cfctrl_recv(struct cflayer *layr, struct cfpkt *pkt);
static void cfctrl_ctrlcmd(struct cflayer *layr, enum caif_ctrlcmd ctrl,
@@ -72,7 +72,7 @@ void cfctrl_remove(struct cflayer *layer)
}
static bool param_eq(const struct cfctrl_link_param *p1,
- const struct cfctrl_link_param *p2)
+ const struct cfctrl_link_param *p2)
{
bool eq =
p1->linktype == p2->linktype &&
@@ -197,8 +197,8 @@ void cfctrl_enum_req(struct cflayer *layer, u8 physlinkid)
}
int cfctrl_linkup_request(struct cflayer *layer,
- struct cfctrl_link_param *param,
- struct cflayer *user_layer)
+ struct cfctrl_link_param *param,
+ struct cflayer *user_layer)
{
struct cfctrl *cfctrl = container_obj(layer);
u32 tmp32;
@@ -301,7 +301,7 @@ int cfctrl_linkup_request(struct cflayer *layer,
}
int cfctrl_linkdown_req(struct cflayer *layer, u8 channelid,
- struct cflayer *client)
+ struct cflayer *client)
{
int ret;
struct cfpkt *pkt;
@@ -555,7 +555,7 @@ error:
}
static void cfctrl_ctrlcmd(struct cflayer *layr, enum caif_ctrlcmd ctrl,
- int phyid)
+ int phyid)
{
struct cfctrl *this = container_obj(layr);
switch (ctrl) {
diff --git a/net/caif/cffrml.c b/net/caif/cffrml.c
index 0a7df7e..204c5e2 100644
--- a/net/caif/cffrml.c
+++ b/net/caif/cffrml.c
@@ -28,7 +28,7 @@ struct cffrml {
static int cffrml_receive(struct cflayer *layr, struct cfpkt *pkt);
static int cffrml_transmit(struct cflayer *layr, struct cfpkt *pkt);
static void cffrml_ctrlcmd(struct cflayer *layr, enum caif_ctrlcmd ctrl,
- int phyid);
+ int phyid);
static u32 cffrml_rcv_error;
static u32 cffrml_rcv_checsum_error;
@@ -167,7 +167,7 @@ static int cffrml_transmit(struct cflayer *layr, struct cfpkt *pkt)
}
static void cffrml_ctrlcmd(struct cflayer *layr, enum caif_ctrlcmd ctrl,
- int phyid)
+ int phyid)
{
if (layr->up && layr->up->ctrlcmd)
layr->up->ctrlcmd(layr->up, ctrl, layr->id);
diff --git a/net/caif/cfmuxl.c b/net/caif/cfmuxl.c
index 94b0861..154d9f8 100644
--- a/net/caif/cfmuxl.c
+++ b/net/caif/cfmuxl.c
@@ -42,7 +42,7 @@ struct cfmuxl {
static int cfmuxl_receive(struct cflayer *layr, struct cfpkt *pkt);
static int cfmuxl_transmit(struct cflayer *layr, struct cfpkt *pkt);
static void cfmuxl_ctrlcmd(struct cflayer *layr, enum caif_ctrlcmd ctrl,
- int phyid);
+ int phyid);
static struct cflayer *get_up(struct cfmuxl *muxl, u16 id);
struct cflayer *cfmuxl_create(void)
@@ -244,7 +244,7 @@ static int cfmuxl_transmit(struct cflayer *layr, struct cfpkt *pkt)
}
static void cfmuxl_ctrlcmd(struct cflayer *layr, enum caif_ctrlcmd ctrl,
- int phyid)
+ int phyid)
{
struct cfmuxl *muxl = container_obj(layr);
struct cflayer *layer;
diff --git a/net/caif/cfpkt_skbuff.c b/net/caif/cfpkt_skbuff.c
index 863dedd..e8f9c14 100644
--- a/net/caif/cfpkt_skbuff.c
+++ b/net/caif/cfpkt_skbuff.c
@@ -266,8 +266,8 @@ inline u16 cfpkt_getlen(struct cfpkt *pkt)
}
inline u16 cfpkt_iterate(struct cfpkt *pkt,
- u16 (*iter_func)(u16, void *, u16),
- u16 data)
+ u16 (*iter_func)(u16, void *, u16),
+ u16 data)
{
/*
* Don't care about the performance hit of linearizing,
@@ -307,8 +307,8 @@ int cfpkt_setlen(struct cfpkt *pkt, u16 len)
}
struct cfpkt *cfpkt_append(struct cfpkt *dstpkt,
- struct cfpkt *addpkt,
- u16 expectlen)
+ struct cfpkt *addpkt,
+ u16 expectlen)
{
struct sk_buff *dst = pkt_to_skb(dstpkt);
struct sk_buff *add = pkt_to_skb(addpkt);
diff --git a/net/caif/cfrfml.c b/net/caif/cfrfml.c
index 2b563ad..db51830 100644
--- a/net/caif/cfrfml.c
+++ b/net/caif/cfrfml.c
@@ -43,7 +43,7 @@ static void cfrfml_release(struct cflayer *layer)
}
struct cflayer *cfrfml_create(u8 channel_id, struct dev_info *dev_info,
- int mtu_size)
+ int mtu_size)
{
int tmp;
struct cfrfml *this = kzalloc(sizeof(struct cfrfml), GFP_ATOMIC);
@@ -69,7 +69,7 @@ struct cflayer *cfrfml_create(u8 channel_id, struct dev_info *dev_info,
}
static struct cfpkt *rfm_append(struct cfrfml *rfml, char *seghead,
- struct cfpkt *pkt, int *err)
+ struct cfpkt *pkt, int *err)
{
struct cfpkt *tmppkt;
*err = -EPROTO;
diff --git a/net/caif/cfserl.c b/net/caif/cfserl.c
index 8e68b97..147c232 100644
--- a/net/caif/cfserl.c
+++ b/net/caif/cfserl.c
@@ -29,7 +29,7 @@ struct cfserl {
static int cfserl_receive(struct cflayer *layr, struct cfpkt *pkt);
static int cfserl_transmit(struct cflayer *layr, struct cfpkt *pkt);
static void cfserl_ctrlcmd(struct cflayer *layr, enum caif_ctrlcmd ctrl,
- int phyid);
+ int phyid);
struct cflayer *cfserl_create(int instance, bool use_stx)
{
@@ -182,7 +182,7 @@ static int cfserl_transmit(struct cflayer *layer, struct cfpkt *newpkt)
}
static void cfserl_ctrlcmd(struct cflayer *layr, enum caif_ctrlcmd ctrl,
- int phyid)
+ int phyid)
{
layr->up->ctrlcmd(layr->up, ctrl, phyid);
}
diff --git a/net/caif/cfsrvl.c b/net/caif/cfsrvl.c
index ba217e9..95f7f5e 100644
--- a/net/caif/cfsrvl.c
+++ b/net/caif/cfsrvl.c
@@ -25,7 +25,7 @@
#define container_obj(layr) container_of(layr, struct cfsrvl, layer)
static void cfservl_ctrlcmd(struct cflayer *layr, enum caif_ctrlcmd ctrl,
- int phyid)
+ int phyid)
{
struct cfsrvl *service = container_obj(layr);
@@ -158,10 +158,9 @@ static void cfsrvl_release(struct cflayer *layer)
}
void cfsrvl_init(struct cfsrvl *service,
- u8 channel_id,
- struct dev_info *dev_info,
- bool supports_flowctrl
- )
+ u8 channel_id,
+ struct dev_info *dev_info,
+ bool supports_flowctrl)
{
caif_assert(offsetof(struct cfsrvl, layer) == 0);
service->open = false;
@@ -207,8 +206,8 @@ void caif_free_client(struct cflayer *adap_layer)
EXPORT_SYMBOL(caif_free_client);
void caif_client_register_refcnt(struct cflayer *adapt_layer,
- void (*hold)(struct cflayer *lyr),
- void (*put)(struct cflayer *lyr))
+ void (*hold)(struct cflayer *lyr),
+ void (*put)(struct cflayer *lyr))
{
struct cfsrvl *service;
diff --git a/net/caif/chnl_net.c b/net/caif/chnl_net.c
index e597733..26a4e4e 100644
--- a/net/caif/chnl_net.c
+++ b/net/caif/chnl_net.c
@@ -167,7 +167,7 @@ static void chnl_put(struct cflayer *lyr)
}
static void chnl_flowctrl_cb(struct cflayer *layr, enum caif_ctrlcmd flow,
- int phyid)
+ int phyid)
{
struct chnl_net *priv = container_of(layr, struct chnl_net, chnl);
pr_debug("NET flowctrl func called flow: %s\n",
@@ -443,7 +443,7 @@ nla_put_failure:
}
static void caif_netlink_parms(struct nlattr *data[],
- struct caif_connect_request *conn_req)
+ struct caif_connect_request *conn_req)
{
if (!data) {
pr_warn("no params data found\n");
@@ -488,7 +488,7 @@ static int ipcaif_newlink(struct net *src_net, struct net_device *dev,
}
static int ipcaif_changelink(struct net_device *dev, struct nlattr *tb[],
- struct nlattr *data[])
+ struct nlattr *data[])
{
struct chnl_net *caifdev;
ASSERT_RTNL();
--
1.7.9.5
^ permalink raw reply related
* Re: upgrade to 3.8.1 : BUG Scheduling while atomic in bonding driver:
From: Michael Wang @ 2013-03-07 5:51 UTC (permalink / raw)
To: Linda Walsh
Cc: Eric Dumazet, Linux-Kernel, netdev, Jay Vosburgh, Jeff Kirsher,
Cong Wang
In-Reply-To: <51318C5B.60001@tlinx.org>
On 03/02/2013 01:21 PM, Linda Walsh wrote:
>
>
>
>
> Linda Walsh wrote:
>>
>>
>> This patch is not in the latest kernel. I don't know if it is the
>> 'best' way, but it does stop BUG error messages.
> ---
> Update -- it *used* to stop the messages in 3.6.7.
>
> It no longer stops the messages in 3.8.1 -- (and isn't present by
> default -- tried
> adding the unlock/lock -- no difference.
>
> Weird. *sigh*
Hi, Linda
Do you have the BUG log after applied this patch?
bond->lock seems to be the only one who will add the preempt_count, the
patch should works...
And have you tried the 3.9.0-rc1, is the issue still exist?
Regards,
Michael Wang
>
>>
>>
>> -------- Original Message --------
>> Subject: Re: BUG: scheduling while atomic:
>> ifup-bonding/3711/0x00000002 -- V3.6.7
>> Date: Wed, 28 Nov 2012 13:17:31 -0800
>> From: Linda Walsh <lkml@tlinx.org>
>> To: Cong Wang <xiyou.wangcong@gmail.com>
>> CC: LKML <linux-kernel@vger.kernel.org>, Linux Kernel Network
>> Developers <netdev@vger.kernel.org>
>> References: <50B5248A.5010908@tlinx.org>
>> <CAM_iQpUW2Oz9p0K0gGKc6JoD7WAu0kJtRa4uBSe+WfXg0Nn3jA@mail.gmail.com>
>>
>>
>>
>> Cong Wang wrote:
>>> Does this quick fix help?
>>> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
>>> index 5f5b69f..4a4d9eb 100644
>>> --- a/drivers/net/bonding/bond_main.c
>>> +++ b/drivers/net/bonding/bond_main.c
>>> @@ -1785,7 +1785,9 @@ int bond_enslave(struct net_device *bond_dev,
>>> struct net_device *slave_dev)
>>> new_slave->link == BOND_LINK_DOWN ? "DOWN" :
>>> (new_slave->link == BOND_LINK_UP ? "UP" : "BACK"));
>>>
>>> + read_unlock(&bond->lock);
>>> bond_update_speed_duplex(new_slave);
>>> + read_lock(&bond->lock);
>>>
>>> if (USES_PRIMARY(bond->params.mode) && bond->params.primary[0]) {
>>> /* if there is a primary slave, remember it */
>>>
>>> Thanks!
>>>
>>
>>
>>
>>
>> Eric Dumazet wrote:
>>> On Fri, 2013-03-01 at 00:15 -0800, Linda Walsh wrote:
>>>
>>>> Just installed 3.8.1....
>>>>
>>>> Thought this had been fixed? Note it causes the kernel to
>>>> show up as tainted after the 1st...
>>>>
>>>>
>>>
>>> CC netdev & Jay Vosburgh & Jeff Kirsher
>>>
>>>
>>>> As the system was coming up and initializing the bond0 driver:
>>>>
>>>>
>>>> [ 19.847743] ixgbe 0000:06:00.0: registered PHC device on eth_s2_0
>>>> [ 20.258245] BUG: scheduling while atomic: ifup-bonding/2003/0x00000002
>>>> [ 20.264812] 4 locks held by ifup-bonding/2003:
>>>> [ 20.269298] #0: (&buffer->mutex){......}, at: [<ffffffff811c401f>]
>>>> sysfs_write_file+0x3f/0x150
>>>> [ 20.278319] #1: (s_active#59){......}, at: [<ffffffff811c409b>]
>>>> sysfs_write_file+0xbb/0x150
>>>> [ 20.287088] #2: (rtnl_mutex){......}, at: [<ffffffff81590bf0>]
>>>> rtnl_trylock+0x10/0x20
>>>> [ 20.295373] #3: (&bond->lock){......}, at: [<ffffffff8145be6f>]
>>>> bond_enslave+0x4ef/0xb80
>>>> [ 20.303912] Modules linked in: iptable_filter kvm_intel kvm acpi_cpufreq
>>>> mperf button processor mousedev iTCO_wdt
>>>> [ 20.314695] Pid: 2003, comm: ifup-bonding Not tainted 3.8.1-Isht-Van #5
>>>> [ 20.321340] Call Trace:
>>>> [ 20.323833] [<ffffffff8162b029>] __schedule_bug+0x5e/0x6c
>>>> [ 20.329356] [<ffffffff81634592>] __schedule+0x762/0x7f0
>>>> [ 20.334701] [<ffffffff81634734>] schedule+0x24/0x70
>>>> [ 20.339703] [<ffffffff816336f4>] schedule_hrtimeout_range_clock+0xa4/0x130
>>>> [ 20.346699] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
>>>> [ 20.352130] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
>>>> [ 20.358434] [<ffffffff8163378e>] schedule_hrtimeout_range+0xe/0x10
>>>> [ 20.364734] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
>>>> [ 20.370082] [<ffffffff814b2d7c>] ixgbe_acquire_swfw_sync_X540+0xbc/0x100
>>>> [ 20.376905] [<ffffffff814aeb0d>] ixgbe_read_phy_reg_generic+0x3d/0x140
>>>> [ 20.383553] [<ffffffff814aedac>]
>>>> ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
>>>> [ 20.391499] [<ffffffff8145be6f>] ? bond_enslave+0x4ef/0xb80
>>>> [ 20.397194] [<ffffffff814a64e4>] ixgbe_get_settings+0x34/0x340
>>>> [ 20.403148] [<ffffffff81586ab8>] __ethtool_get_settings+0x88/0x130
>>>> [ 20.409448] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
>>>> [ 20.415833] [<ffffffff8145bed9>] bond_enslave+0x559/0xb80
>>>> [ 20.421356] [<ffffffff8146454f>] bonding_store_slaves+0x16f/0x1c0
>>>> [ 20.427569] [<ffffffff813bfb83>] dev_attr_store+0x13/0x30
>>>> [ 20.433091] [<ffffffff811c40b4>] sysfs_write_file+0xd4/0x150
>>>> [ 20.438872] [<ffffffff81154b81>] vfs_write+0xb1/0x190
>>>> [ 20.444047] [<ffffffff81154ee0>] sys_write+0x50/0xa0
>>>> [ 20.449137] [<ffffffff81637092>] system_call_fastpath+0x16/0x1b
>>>> [ 20.455264] BUG: scheduling while atomic: ifup-bonding/2003/0x00000002
>>>> [ 20.461851] 4 locks held by ifup-bonding/2003:
>>>> [ 20.466334] #0: (&buffer->mutex){......}, at: [<ffffffff811c401f>]
>>>> sysfs_write_file+0x3f/0x150
>>>> [ 20.475356] #1: (s_active#59){......}, at: [<ffffffff811c409b>]
>>>> sysfs_write_file+0xbb/0x150
>>>> [ 20.484117] #2: (rtnl_mutex){......}, at: [<ffffffff81590bf0>]
>>>> rtnl_trylock+0x10/0x20
>>>> [ 20.492403] #3: (&bond->lock){......}, at: [<ffffffff8145be6f>]
>>>> bond_enslave+0x4ef/0xb80
>>>> [ 20.500902] Modules linked in: iptable_filter kvm_intel kvm acpi_cpufreq
>>>> mperf button processor mousedev iTCO_wdt
>>>> [ 20.511640] Pid: 2003, comm: ifup-bonding Tainted: G W
>>>> 3.8.1-Isht-Van #5
>>>> [ 20.519240] Call Trace:
>>>> [ 20.521729] [<ffffffff8162b029>] __schedule_bug+0x5e/0x6c
>>>> [ 20.527251] [<ffffffff81634592>] __schedule+0x762/0x7f0
>>>> [ 20.532599] [<ffffffff81634734>] schedule+0x24/0x70
>>>> [ 20.537599] [<ffffffff816336f4>] schedule_hrtimeout_range_clock+0xa4/0x130
>>>> [ 20.544592] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
>>>> [ 20.550026] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
>>>> [ 20.555462] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
>>>> [ 20.561763] [<ffffffff8163378e>] schedule_hrtimeout_range+0xe/0x10
>>>> [ 20.568064] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
>>>> [ 20.573415] [<ffffffff814b2cae>] ixgbe_release_swfw_sync_X540+0x4e/0x60
>>>> [ 20.580146] [<ffffffff814aebdd>] ixgbe_read_phy_reg_generic+0x10d/0x140
>>>> [ 20.586960] [<ffffffff814aedac>]
>>>> ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
>>>> [ 20.594908] [<ffffffff8145be6f>] ? bond_enslave+0x4ef/0xb80
>>>> [ 20.600601] [<ffffffff814a64e4>] ixgbe_get_settings+0x34/0x340
>>>> [ 20.606557] [<ffffffff81586ab8>] __ethtool_get_settings+0x88/0x130
>>>> [ 20.612858] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
>>>> [ 20.619244] [<ffffffff8145bed9>] bond_enslave+0x559/0xb80
>>>> [ 20.624767] [<ffffffff8146454f>] bonding_store_slaves+0x16f/0x1c0
>>>> [ 20.630983] [<ffffffff813bfb83>] dev_attr_store+0x13/0x30
>>>> [ 20.636503] [<ffffffff811c40b4>] sysfs_write_file+0xd4/0x150
>>>> [ 20.642283] [<ffffffff81154b81>] vfs_write+0xb1/0x190
>>>> [ 20.647462] [<ffffffff81154ee0>] sys_write+0x50/0xa0
>>>> [ 20.652548] [<ffffffff81637092>] system_call_fastpath+0x16/0x1b
>>>> [ 20.658696] bonding: bond0: enslaving eth_s2_0 as an active interface with a
>>>> down link.
>>>> [ 20.676577] bonding: bond0: Adding slave eth_s2_1.
>>>> [ 20.743760] pps pps1: new PPS source ptp1
>>>> [ 20.747792] ixgbe 0000:06:00.1: registered PHC device on eth_s2_1
>>>> [ 21.150267] BUG: scheduling while atomic: ifup-bonding/2003/0x00000002
>>>> [ 21.156836] 4 locks held by ifup-bonding/2003:
>>>> [ 21.161319] #0: (&buffer->mutex){......}, at: [<ffffffff811c401f>]
>>>> sysfs_write_file+0x3f/0x150
>>>> [ 21.170388] #1: (s_active#59){......}, at: [<ffffffff811c409b>]
>>>> sysfs_write_file+0xbb/0x150
>>>> [ 21.179149] #2: (rtnl_mutex){......}, at: [<ffffffff81590bf0>]
>>>> rtnl_trylock+0x10/0x20
>>>> [ 21.187403] #3: (&bond->lock){......}, at: [<ffffffff8145be6f>]
>>>> bond_enslave+0x4ef/0xb80
>>>> [ 21.195904] Modules linked in: iptable_filter kvm_intel kvm acpi_cpufreq
>>>> mperf button processor mousedev iTCO_wdt
>>>> [ 21.206644] Pid: 2003, comm: ifup-bonding Tainted: G W
>>>> 3.8.1-Isht-Van #5
>>>> [ 21.214240] Call Trace:
>>>> [ 21.216732] [<ffffffff8162b029>] __schedule_bug+0x5e/0x6c
>>>> [ 21.222254] [<ffffffff81634592>] __schedule+0x762/0x7f0
>>>> [ 21.227604] [<ffffffff81634734>] schedule+0x24/0x70
>>>> [ 21.232606] [<ffffffff816336f4>] schedule_hrtimeout_range_clock+0xa4/0x130
>>>> [ 21.239601] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
>>>> [ 21.245033] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
>>>> [ 21.251339] [<ffffffff8163378e>] schedule_hrtimeout_range+0xe/0x10
>>>> [ 21.257635] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
>>>> [ 21.262987] [<ffffffff814b2d7c>] ixgbe_acquire_swfw_sync_X540+0xbc/0x100
>>>> [ 21.269811] [<ffffffff814aeb0d>] ixgbe_read_phy_reg_generic+0x3d/0x140
>>>> [ 21.276461] [<ffffffff814aedac>]
>>>> ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
>>>> [ 21.284409] [<ffffffff8145be6f>] ? bond_enslave+0x4ef/0xb80
>>>> [ 21.290106] [<ffffffff814a64e4>] ixgbe_get_settings+0x34/0x340
>>>> [ 21.296067] [<ffffffff81586ab8>] __ethtool_get_settings+0x88/0x130
>>>> [ 21.302369] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
>>>> [ 21.308754] [<ffffffff8145bed9>] bond_enslave+0x559/0xb80
>>>> [ 21.314278] [<ffffffff8146454f>] bonding_store_slaves+0x16f/0x1c0
>>>> [ 21.320491] [<ffffffff813bfb83>] dev_attr_store+0x13/0x30
>>>> [ 21.326009] [<ffffffff811c40b4>] sysfs_write_file+0xd4/0x150
>>>> [ 21.331793] [<ffffffff81154b81>] vfs_write+0xb1/0x190
>>>> [ 21.336964] [<ffffffff81154ee0>] sys_write+0x50/0xa0
>>>> [ 21.342053] [<ffffffff81637092>] system_call_fastpath+0x16/0x1b
>>>> [ 21.348191] BUG: scheduling while atomic: ifup-bonding/2003/0x00000002
>>>> [ 21.354775] 4 locks held by ifup-bonding/2003:
>>>> [ 21.359258] #0: (&buffer->mutex){......}, at: [<ffffffff811c401f>]
>>>> sysfs_write_file+0x3f/0x150
>>>> [ 21.368283] #1: (s_active#59){......}, at: [<ffffffff811c409b>]
>>>> sysfs_write_file+0xbb/0x150
>>>> [ 21.377104] #2: (rtnl_mutex){......}, at: [<ffffffff81590bf0>]
>>>> rtnl_trylock+0x10/0x20
>>>> [ 21.385343] #3: (&bond->lock){......}, at: [<ffffffff8145be6f>]
>>>> bond_enslave+0x4ef/0xb80
>>>> [ 21.393887] Modules linked in: iptable_filter kvm_intel kvm acpi_cpufreq
>>>> mperf button processor mousedev iTCO_wdt
>>>> [ 21.404575] Pid: 2003, comm: ifup-bonding Tainted: G W
>>>> 3.8.1-Isht-Van #5
>>>> [ 21.412176] Call Trace:
>>>> [ 21.414666] [<ffffffff8162b029>] __schedule_bug+0x5e/0x6c
>>>> [ 21.420188] [<ffffffff81634592>] __schedule+0x762/0x7f0
>>>> [ 21.425536] [<ffffffff81634734>] schedule+0x24/0x70
>>>> [ 21.430541] [<ffffffff816336f4>] schedule_hrtimeout_range_clock+0xa4/0x130
>>>> [ 21.437532] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
>>>> [ 21.442967] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
>>>> [ 21.448407] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
>>>> [ 21.454712] [<ffffffff8163378e>] schedule_hrtimeout_range+0xe/0x10
>>>> [ 21.461015] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
>>>> [ 21.466370] [<ffffffff814b2cae>] ixgbe_release_swfw_sync_X540+0x4e/0x60
>>>> [ 21.473105] [<ffffffff814aebdd>] ixgbe_read_phy_reg_generic+0x10d/0x140
>>>> [ 21.479843] [<ffffffff814aedac>]
>>>> ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
>>>> [ 21.487787] [<ffffffff8145be6f>] ? bond_enslave+0x4ef/0xb80
>>>> [ 21.493513] [<ffffffff814a64e4>] ixgbe_get_settings+0x34/0x340
>>>> [ 21.499468] [<ffffffff81586ab8>] __ethtool_get_settings+0x88/0x130
>>>> [ 21.505767] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
>>>> [ 21.512153] [<ffffffff8145bed9>] bond_enslave+0x559/0xb80
>>>> [ 21.517677] [<ffffffff8146454f>] bonding_store_slaves+0x16f/0x1c0
>>>> [ 21.523889] [<ffffffff813bfb83>] dev_attr_store+0x13/0x30
>>>> [ 21.529412] [<ffffffff811c40b4>] sysfs_write_file+0xd4/0x150
>>>> [ 21.535193] [<ffffffff81154b81>] vfs_write+0xb1/0x190
>>>> [ 21.540373] [<ffffffff81154ee0>] sys_write+0x50/0xa0
>>>> [ 21.545463] [<ffffffff81637092>] system_call_fastpath+0x16/0x1b
>>>> --
>>>>
>>>
>>>
>>
>
> --
> 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/
>
^ permalink raw reply
* [PATCH net-next] be2net: Update copyright year
From: sarveshwar.bandi @ 2013-03-07 6:05 UTC (permalink / raw)
To: davem; +Cc: netdev, Vasundhara Volam, Sarveshwar Bandi
From: Vasundhara Volam <vasundhara.volam@emulex.com>
Signed-off-by: Vasundhara Volam <vasundhara.volam@emulex.com>
Signed-off-by: Sarveshwar Bandi <sarveshwar.bandi@emulex.com>
---
drivers/net/ethernet/emulex/benet/be.h | 2 +-
drivers/net/ethernet/emulex/benet/be_cmds.c | 2 +-
drivers/net/ethernet/emulex/benet/be_cmds.h | 2 +-
drivers/net/ethernet/emulex/benet/be_ethtool.c | 2 +-
drivers/net/ethernet/emulex/benet/be_hw.h | 2 +-
drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
drivers/net/ethernet/emulex/benet/be_roce.c | 2 +-
drivers/net/ethernet/emulex/benet/be_roce.h | 2 +-
8 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/emulex/benet/be.h b/drivers/net/ethernet/emulex/benet/be.h
index 28ceb84..ff1efe5 100644
--- a/drivers/net/ethernet/emulex/benet/be.h
+++ b/drivers/net/ethernet/emulex/benet/be.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005 - 2011 Emulex
+ * Copyright (C) 2005 - 2013 Emulex
* All rights reserved.
*
* This program is free software; you can redistribute it and/or
diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.c b/drivers/net/ethernet/emulex/benet/be_cmds.c
index 071aea7..4512e42 100644
--- a/drivers/net/ethernet/emulex/benet/be_cmds.c
+++ b/drivers/net/ethernet/emulex/benet/be_cmds.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005 - 2011 Emulex
+ * Copyright (C) 2005 - 2013 Emulex
* All rights reserved.
*
* This program is free software; you can redistribute it and/or
diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.h b/drivers/net/ethernet/emulex/benet/be_cmds.h
index 9697086..6ef4575 100644
--- a/drivers/net/ethernet/emulex/benet/be_cmds.h
+++ b/drivers/net/ethernet/emulex/benet/be_cmds.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005 - 2011 Emulex
+ * Copyright (C) 2005 - 2013 Emulex
* All rights reserved.
*
* This program is free software; you can redistribute it and/or
diff --git a/drivers/net/ethernet/emulex/benet/be_ethtool.c b/drivers/net/ethernet/emulex/benet/be_ethtool.c
index 76b302f..053f00d 100644
--- a/drivers/net/ethernet/emulex/benet/be_ethtool.c
+++ b/drivers/net/ethernet/emulex/benet/be_ethtool.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005 - 2011 Emulex
+ * Copyright (C) 2005 - 2013 Emulex
* All rights reserved.
*
* This program is free software; you can redistribute it and/or
diff --git a/drivers/net/ethernet/emulex/benet/be_hw.h b/drivers/net/ethernet/emulex/benet/be_hw.h
index 541d453..c515eea 100644
--- a/drivers/net/ethernet/emulex/benet/be_hw.h
+++ b/drivers/net/ethernet/emulex/benet/be_hw.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005 - 2011 Emulex
+ * Copyright (C) 2005 - 2013 Emulex
* All rights reserved.
*
* This program is free software; you can redistribute it and/or
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index 3860888..1f8103c 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005 - 2011 Emulex
+ * Copyright (C) 2005 - 2013 Emulex
* All rights reserved.
*
* This program is free software; you can redistribute it and/or
diff --git a/drivers/net/ethernet/emulex/benet/be_roce.c b/drivers/net/ethernet/emulex/benet/be_roce.c
index 55d32aa..f3d126d 100644
--- a/drivers/net/ethernet/emulex/benet/be_roce.c
+++ b/drivers/net/ethernet/emulex/benet/be_roce.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005 - 2011 Emulex
+ * Copyright (C) 2005 - 2013 Emulex
* All rights reserved.
*
* This program is free software; you can redistribute it and/or
diff --git a/drivers/net/ethernet/emulex/benet/be_roce.h b/drivers/net/ethernet/emulex/benet/be_roce.h
index db4ea80..2765729 100644
--- a/drivers/net/ethernet/emulex/benet/be_roce.h
+++ b/drivers/net/ethernet/emulex/benet/be_roce.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005 - 2011 Emulex
+ * Copyright (C) 2005 - 2013 Emulex
* All rights reserved.
*
* This program is free software; you can redistribute it and/or
--
1.7.9.5
^ permalink raw reply related
* [PATCH] fix a typo in afkey
From: Martin Zhang @ 2013-03-07 6:48 UTC (permalink / raw)
To: steffen.klassert, herbert, davem, netdev, linux-kernel
Cc: Junwei Zhang, Martin Zhang
From: Junwei Zhang <junwei.zhang@6wind.com>
Signed-off-by: Martin Zhang <martinbj2008@gmail.com>
---
net/key/af_key.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/key/af_key.c b/net/key/af_key.c
index 556fdaf..8555f33 100644
--- a/net/key/af_key.c
+++ b/net/key/af_key.c
@@ -2201,7 +2201,7 @@ static int pfkey_spdadd(struct sock *sk, struct sk_buff *skb, const struct sadb_
XFRM_POLICY_BLOCK : XFRM_POLICY_ALLOW);
xp->priority = pol->sadb_x_policy_priority;
- sa = ext_hdrs[SADB_EXT_ADDRESS_SRC-1],
+ sa = ext_hdrs[SADB_EXT_ADDRESS_SRC-1];
xp->family = pfkey_sadb_addr2xfrm_addr(sa, &xp->selector.saddr);
if (!xp->family) {
err = -EINVAL;
@@ -2214,7 +2214,7 @@ static int pfkey_spdadd(struct sock *sk, struct sk_buff *skb, const struct sadb_
if (xp->selector.sport)
xp->selector.sport_mask = htons(0xffff);
- sa = ext_hdrs[SADB_EXT_ADDRESS_DST-1],
+ sa = ext_hdrs[SADB_EXT_ADDRESS_DST-1];
pfkey_sadb_addr2xfrm_addr(sa, &xp->selector.daddr);
xp->selector.prefixlen_d = sa->sadb_address_prefixlen;
@@ -2315,7 +2315,7 @@ static int pfkey_spddelete(struct sock *sk, struct sk_buff *skb, const struct sa
memset(&sel, 0, sizeof(sel));
- sa = ext_hdrs[SADB_EXT_ADDRESS_SRC-1],
+ sa = ext_hdrs[SADB_EXT_ADDRESS_SRC-1];
sel.family = pfkey_sadb_addr2xfrm_addr(sa, &sel.saddr);
sel.prefixlen_s = sa->sadb_address_prefixlen;
sel.proto = pfkey_proto_to_xfrm(sa->sadb_address_proto);
@@ -2323,7 +2323,7 @@ static int pfkey_spddelete(struct sock *sk, struct sk_buff *skb, const struct sa
if (sel.sport)
sel.sport_mask = htons(0xffff);
- sa = ext_hdrs[SADB_EXT_ADDRESS_DST-1],
+ sa = ext_hdrs[SADB_EXT_ADDRESS_DST-1];
pfkey_sadb_addr2xfrm_addr(sa, &sel.daddr);
sel.prefixlen_d = sa->sadb_address_prefixlen;
sel.proto = pfkey_proto_to_xfrm(sa->sadb_address_proto);
--
1.7.10.4
^ permalink raw reply related
* Re: kernel panic in fib6_age (linux-3.6.6) and sugguested fix
From: Zhouyi Zhou @ 2013-03-07 6:58 UTC (permalink / raw)
To: netdev
In-Reply-To: <CAABZP2ztW5=1i2tzwqVF921tmrkrUws0pcKUBWNYAoC0MYXk4A@mail.gmail.com>
> How about this one below? without modifying the return value:
> __u8 neigh_flags = 0;
>
>
> neigh = dst_neigh_lookup(&rt->dst,
> &rt->rt6i_gateway);
> - if (neigh) {
> + if (!IS_ERR(neigh)) {
>
> neigh_flags = neigh->flags;
> neigh_release(neigh);
> }
you are correct, this one avoid breaking out of the process of the fib
table traveling
Zhouyi
^ permalink raw reply
* Re: upgrade to 3.8.1 : BUG Scheduling while atomic in bonding driver:
From: Linda Walsh @ 2013-03-07 7:05 UTC (permalink / raw)
To: Michael Wang
Cc: Eric Dumazet, Linux-Kernel, netdev, Jay Vosburgh, Jeff Kirsher,
Cong Wang
In-Reply-To: <51382AFE.5080302@linux.vnet.ibm.com>
Michael Wang wrote:
> On 03/02/2013 01:21 PM, Linda Walsh wrote:
> Update -- it *used* to stop the messages in 3.6.7.
>
> It no longer stops the messages in 3.8.1 -- (and isn't present by
> default -- tried
> adding the unlock/lock -- no difference.
>
> Weird. *sigh*
>
> Hi, Linda
>
> Do you have the BUG log after applied this patch?
>
> bond->lock seems to be the only one who will add the preempt_count, the
> patch should works...
>
> And have you tried the 3.9.0-rc1, is the issue still exist?
>
> Regards,
> Michael Wang
-------------------
What do you mean by 'bug log', do you mean kernel log --- including
the log from boot, in case anything weird pops out, but bug happens
edited out stretch of repetitious looking stuff that was unlikely to
be related...
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.8.1-Isht-Van (law@Ishtar) (gcc version
4.6.2 (SUSE Linux) ) #6 SMP PREEMPT Fri Mar 1 20:29:32 PST 2013
[ 0.000000] Command line: BOOT_IMAGE=381-Isht-Van rw root=/dev/sdc1
root=/dev/sdc1 showopts console=ttyS0,115200n8 console=tty0 elevator=cfq
pcie_aspm=force pcie_ports=native reboot=bios
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ffff] usable
...
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x0000000c2fffffff] usable
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] SMBIOS 2.6 present.
[ 0.000000] DMI: Dell Inc. PowerEdge T610/0CX0R0, BIOS 6.1.0 10/18/2011
[ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[ 0.000000] e820: last_pfn = 0xc30000 max_arch_pfn = 0x400000000
[ 0.000000] MTRR default type: uncachable
[ 0.000000] MTRR fixed ranges enabled:
...
[ 0.000000] EC000-FFFFF write-protect
[ 0.000000] MTRR variable ranges enabled:
[ 0.000000] 0 base 0000000000 mask FF80000000 write-back
...
[ 0.000000] 7 base 0C00000000 mask FFC0000000 write-back
[ 0.000000] 8 disabled
[ 0.000000] 9 disabled
[ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new
0x7010600070106
[ 0.000000] e820: update [mem 0xd0000000-0xffffffff] usable ==> reserved
[ 0.000000] e820: last_pfn = 0xcf379 max_arch_pfn = 0x400000000
[ 0.000000] initial memory mapped: [mem 0x00000000-0x1fffffff]
[ 0.000000] Base memory trampoline at [ffff880000098000] 98000 size 24576
[ 0.000000] Using GB pages for direct mapping
[ 0.000000] init_memory_mapping: [mem 0x00000000-0xcf378fff]
[ 0.000000] [mem 0x00000000-0xbfffffff] page 1G
[ 0.000000] [mem 0xc0000000-0xcf1fffff] page 2M
[ 0.000000] [mem 0xcf200000-0xcf378fff] page 4k
[ 0.000000] kernel direct mapping tables up to 0xcf378fff @ [mem
0x1fffd000-0x1fffffff]
[ 0.000000] init_memory_mapping: [mem 0x100000000-0xc2fffffff]
[ 0.000000] [mem 0x100000000-0xbffffffff] page 1G
[ 0.000000] [mem 0xc00000000-0xc2fffffff] page 2M
[ 0.000000] kernel direct mapping tables up to 0xc2fffffff @ [mem
0xcf377000-0xcf378fff]
[ 0.000000] ACPI: RSDP 00000000000f1170 00024 (v02 DELL )
...
[ 0.000000] ACPI: TCPA 00000000cf3b3f34 00064 (v02 DELL PE_SC3
00000001 DELL 00000001)
[ 0.000000] ACPI: SSDT 00000000cf3b7000 037A4 (v01 INTEL PPM RCM
80000001 INTL 20061109)
[ 0.000000] ACPI: Local APIC address 0xfee00000
...
[ 0.000000] SRAT: PXM 2 -> APIC 0x14 -> Node 1
[ 0.000000] SRAT: Node 1 PXM 2 [mem 0x00000000-0xcfffffff]
[ 0.000000] SRAT: Node 1 PXM 2 [mem 0x100000000-0x62fffffff]
[ 0.000000] SRAT: Node 0 PXM 1 [mem 0x630000000-0xc2fffffff]
[ 0.000000] NUMA: Node 1 [mem 0x00000000-0xcfffffff] + [mem
0x100000000-0x62fffffff] -> [mem 0x00000000-0x62fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x630000000-0xc2fffffff]
[ 0.000000] NODE_DATA [mem 0xc2fffd000-0xc2fffffff]
[ 0.000000] Initmem setup node 1 [mem 0x00000000-0x62fffffff]
[ 0.000000] NODE_DATA [mem 0x62fffd000-0x62fffffff]
[ 0.000000] [ffffea0000000000-ffffea0018bfffff] PMD ->
[ffff880617e00000-ffff88062fdfffff] on node 1
[ 0.000000] [ffffea0018c00000-ffffea0030bfffff] PMD ->
[ffff880c17600000-ffff880c2f5fffff] on node 0
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x00001000-0x00ffffff]
[ 0.000000] DMA32 [mem 0x01000000-0xffffffff]
[ 0.000000] Normal [mem 0x100000000-0xc2fffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 1: [mem 0x00001000-0x0009ffff]
[ 0.000000] node 1: [mem 0x00100000-0xcf378fff]
[ 0.000000] node 1: [mem 0x100000000-0x62fffffff]
[ 0.000000] node 0: [mem 0x630000000-0xc2fffffff]
[ 0.000000] On node 0 totalpages: 6291456
[ 0.000000] Normal zone: 98304 pages used for memmap
[ 0.000000] Normal zone: 6193152 pages, LIFO batch:31
[ 0.000000] On node 1 totalpages: 6288152
[ 0.000000] DMA zone: 64 pages used for memmap
[ 0.000000] DMA zone: 8 pages reserved
[ 0.000000] DMA zone: 3927 pages, LIFO batch:0
[ 0.000000] DMA32 zone: 13198 pages used for memmap
[ 0.000000] DMA32 zone: 831467 pages, LIFO batch:31
[ 0.000000] Normal zone: 84992 pages used for memmap
[ 0.000000] Normal zone: 5354496 pages, LIFO batch:31
[ 0.000000] ACPI: PM-Timer IO Port: 0x808
[ 0.000000] ACPI: Local APIC address 0xfee00000
...
[ 0.000000] ACPI: LAPIC (acpi_id[0x20] lapic_id[0xff] disabled)
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1])
[ 0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[ 0.000000] IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI
0-23
[ 0.000000] ACPI: IOAPIC (id[0x01] address[0xfec80000] gsi_base[32])
[ 0.000000] IOAPIC[1]: apic_id 1, version 32, address 0xfec80000, GSI
32-55
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[ 0.000000] ACPI: IRQ0 used by override.
[ 0.000000] ACPI: IRQ2 used by override.
[ 0.000000] ACPI: IRQ9 used by override.
[ 0.000000] Using ACPI (MADT) for SMP configuration information
[ 0.000000] ACPI: HPET id: 0x8086a301 base: 0xfed00000
[ 0.000000] smpboot: 32 Processors exceeds NR_CPUS limit of 12
[ 0.000000] smpboot: Allowing 12 CPUs, 0 hotplug CPUs
[ 0.000000] nr_irqs_gsi: 72
[ 0.000000] e820: [mem 0xd0000000-0xdfffffff] available for PCI devices
[ 0.000000] setup_percpu: NR_CPUS:12 nr_cpumask_bits:12 nr_cpu_ids:12
nr_node_ids:2
[ 0.000000] PERCPU: Embedded 476 pages/cpu @ffff880617200000 s1918016
r8192 d23488 u2097152
[ 0.000000] pcpu-alloc: s1918016 r8192 d23488 u2097152 alloc=1*2097152
[ 0.000000] pcpu-alloc: [0] 00 [0] 02 [0] 04 [0] 06 [0] 08 [0] 10 [1]
01 [1] 03
[ 0.000000] pcpu-alloc: [1] 05 [1] 07 [1] 09 [1] 11
[ 0.000000] Built 2 zonelists in Zone order, mobility grouping on.
Total pages: 12383042
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: reboot=bios BOOT_IMAGE=381-Isht-Van
rw root=/dev/sdc1 root=/dev/sdc1 showopts console=ttyS0,115200n8
console=tty0 elevator=cfq pcie_aspm=force pcie_ports=native reboot=bios
[ 0.000000] PCIe ASPM is forcibly enabled
[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] __ex_table already sorted, skipping sort
[ 0.000000] Memory: 49417684k/51118080k available (6379k kernel code,
799648k absent, 900748k reserved, 6697k data, 2356k init)
[ 0.000000] SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0,
CPUs=12, Nodes=2
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:4352 nr_irqs:1320 16
[ 0.000000] Extended CMOS year: 2000
[ 0.000000] Console: colour VGA+ 132x43
[ 0.000000] console [tty0] enabled
[ 0.000000] console [ttyS0] enabled
...
[ 0.000000] Enabling automatic NUMA balancing. Configure with
numa_balancing= or sysctl
[ 0.000000] hpet clockevent registered
[ 0.000000] tsc: Fast TSC calibration using PIT
[ 0.001000] tsc: Detected 2793.076 MHz processor
[ 0.000004] Calibrating delay loop (skipped), value calculated using
timer frequency.. 5586.15 BogoMIPS (lpj=2793076)
[ 0.010813] pid_max: default: 32768 minimum: 301
[ 0.015614] Security Framework initialized
[ 0.023350] Dentry cache hash table entries: 8388608 (order: 14,
67108864 bytes)
[ 0.044185] Inode-cache hash table entries: 4194304 (order: 13,
33554432 bytes)
[ 0.057474] Mount-cache hash table entries: 256
...
[ 0.089812] CPU: Physical Processor ID: 1
[ 0.093952] CPU: Processor Core ID: 0
[ 0.097757] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
[ 0.097757] ENERGY_PERF_BIAS: View and update with
x86_energy_perf_policy(8)
[ 0.110967] mce: CPU supports 9 MCE banks
[ 0.115114] CPU0: Thermal monitoring enabled (TM1)
[ 0.120048] process: using mwait in idle threads
[ 0.124793] Last level iTLB entries: 4KB 512, 2MB 7, 4MB 7
[ 0.124793] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32
[ 0.124793] tlb_flushall_shift: 6
[ 0.139667] Freeing SMP alternatives: 20k freed
[ 0.144332] ACPI: Core revision 20121018
[ 0.152164] dmar: Host address width 40
[ 0.156136] dmar: DRHD base: 0x000000fed90000 flags: 0x1
[ 0.161569] dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap
c90780106f0462 ecap f020f6
...
[ 0.224974] dmar: RMRR base: 0x000000cf4c2000 end: 0x000000cf4c2fff
[ 0.231442] dmar: ATSR flags: 0x0
[ 0.235046] Switched APIC routing to physical flat.
[ 0.240639] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[ 0.256738] smpboot: CPU0: Intel(R) Xeon(R) CPU X5660 @
2.80GHz (fam: 06, model: 2c, stepping: 02)
[ 0.368291] Performance Events: PEBS fmt1+, 16-deep LBR, Westmere
events, Intel PMU driver.
[ 0.376959] perf_event_intel: CPUID marked event: 'bus cycles'
unavailable
[ 0.383937] ... version: 3
[ 0.388059] ... bit width: 48
[ 0.392282] ... generic registers: 4
[ 0.396395] ... value mask: 0000ffffffffffff
[ 0.401818] ... max period: 000000007fffffff
[ 0.407240] ... fixed-purpose events: 3
[ 0.411353] ... event mask: 000000070000000f
[ 0.424313] SMP alternatives: lockdep: fixing up alternatives
[ 0.526339] NMI watchdog: enabled on all CPUs, permanently consumes
one hw-PMU counter.
[ 0.430197] smpboot: Booting Node 1, Processors #1
...
[ 0.767737] smpboot: Booting Node 0, Processors #10
[ 0.787660] SMP alternatives: lockdep: fixing up alternatives
[ 0.793815] OK
[ 0.795696] smpboot: Booting Node 1, Processors #11 OK
[ 0.814480] Brought up 12 CPUs
[ 0.817643] smpboot: Total of 12 processors activated (67031.54 BogoMIPS)
[ 0.837389] devtmpfs: initialized
[ 0.841517] NET: Registered protocol family 16
[ 0.846297] i2c-core: driver [dummy] registered
[ 0.846445] ACPI FADT declares the system doesn't support PCIe ASPM,
so disable it
[ 0.854119] ACPI: bus type pci registered
[ 0.858333] dca service started, version 1.12.1
[ 0.863002] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem
0xe0000000-0xefffffff] (base 0xe0000000)
[ 0.872412] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
[ 0.915444] PCI: Using configuration type 1 for base access
[ 0.923541] bio: create slab <bio-0> at 0
[ 0.927876] ACPI: Added _OSI(Module Device)
[ 0.932207] ACPI: Added _OSI(Processor Device)
[ 0.936769] ACPI: Added _OSI(3.0 _SCP Extensions)
[ 0.941613] ACPI: Added _OSI(Processor Aggregator Device)
[ 0.949347] ACPI: EC: Look up EC in DSDT
[ 0.952568] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[ 0.962779] ACPI: Interpreter enabled
[ 0.966551] ACPI: (supports S0 S5)
[ 0.970176] ACPI: Using IOAPIC for interrupt routing
[ 0.982895] HEST: Table parsing has been initialized.
[ 0.988063] PCI: Using host bridge windows from ACPI; if necessary,
use "pci=nocrs" and report a bug
[ 0.997500] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[ 1.003792] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[ 1.004949] pci_root PNP0A08:00: Requesting ACPI _OSC control (0x15)
[ 1.011897] pci_root PNP0A08:00: ACPI _OSC control (0x15) granted
[ 1.018511] PCI host bridge to bus 0000:00
[ 1.022727] pci_bus 0000:00: root bus resource [bus 00-ff]
...
[ 1.054860] pci_bus 0000:00: root bus resource [mem
0xfed40000-0xfed44fff]
[ 1.065200] pci 0000:00:00.0: [8086:3406] type 00 class 0x060000
...
[ 1.066442] pci 0000:00:16.0: [8086:3430] type 00 class 0x088000
[ 1.066459] pci 0000:00:16.0: reg 10: [mem 0xdf0e0000-0xdf0e3fff 64bit]
...
[ 1.067245] pci 0000:00:16.7: [8086:342c] type 00 class 0x088000
[ 1.067261] pci 0000:00:16.7: reg 10: [mem 0xdf0fc000-0xdf0fffff 64bit]
[ 1.067362] pci 0000:00:1a.0: [8086:2937] type 00 class 0x0c0300
...
[ 1.144174] pci 0000:00:1e.0: bridge window [mem
0xd0000000-0xfdffffff] (subtractive decode)
[ 1.144176] pci 0000:00:1e.0: bridge window [mem
0xfed40000-0xfed44fff] (subtractive decode)
[ 1.144234] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX1._PRT]
...
[ 1.201823] ACPI: PCI Interrupt Link [LK06] (IRQs 3 4 5 6 7 10 11 14
15) *0, disabled.
[ 1.210634] ACPI: PCI Interrupt Link [LK07] (IRQs 3 4 *5 6 7 10 11 14 15)
[ 1.218252] SCSI subsystem initialized
[ 1.222118] ACPI: bus type scsi registered
[ 1.226390] libata version 3.00 loaded.
[ 1.226405] ACPI: bus type usb registered
[ 1.230546] usbcore: registered new interface driver usbfs
[ 1.236210] usbcore: registered new interface driver hub
[ 1.241673] usbcore: registered new device driver usb
[ 1.246856] pps_core: LinuxPPS API ver. 1 registered
[ 1.251935] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
Rodolfo Giometti <giometti@linux.it>
[ 1.261180] PTP clock support registered
[ 1.265251] PCI: Using ACPI for IRQ routing
[ 1.276548] PCI: Discovered peer bus fe
[ 1.280502] PCI: root bus fe: using default resources
[ 1.280503] PCI: Probing PCI hardware (bus fe)
[ 1.280544] PCI host bridge to bus 0000:fe
[ 1.284756] pci_bus 0000:fe: root bus resource [io 0x0000-0xffff]
[ 1.291039] pci_bus 0000:fe: root bus resource [mem
0x00000000-0xffffffffff]
[ 1.298198] pci_bus 0000:fe: No busn resource found for root bus,
will use [bus fe-ff]
[ 1.306219] pci 0000:fe:00.0: [8086:2c70] type 00 class 0x060000
...
[ 1.307032] pci 0000:fe:06.3: [8086:2db3] type 00 class 0x060000
[ 1.307092] pci_bus 0000:fe: busn_res: [bus fe-ff] end is updated to fe
[ 1.307859] PCI: Discovered peer bus ff
[ 1.311814] PCI: root bus ff: using default resources
[ 1.311815] PCI: Probing PCI hardware (bus ff)
[ 1.311850] PCI host bridge to bus 0000:ff
[ 1.316053] pci_bus 0000:ff: root bus resource [io 0x0000-0xffff]
[ 1.322346] pci_bus 0000:ff: root bus resource [mem
0x00000000-0xffffffffff]
[ 1.329504] pci_bus 0000:ff: No busn resource found for root bus,
will use [bus ff-ff]
[ 1.337525] pci 0000:ff:00.0: [8086:2c70] type 00 class 0x060000
...
[ 1.338386] pci 0000:ff:06.3: [8086:2db3] type 00 class 0x060000
[ 1.338450] pci_bus 0000:ff: busn_res: [bus ff] end is updated to ff
[ 1.339197] PCI: pci_cache_line_size set to 64 bytes
[ 1.339469] e820: reserve RAM buffer [mem 0xcf379000-0xcfffffff]
[ 1.339687] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0
[ 1.345199] hpet0: 4 comparators, 64-bit 14.318180 MHz counter
[ 1.353153] Switching to clocksource hpet
[ 1.369117] FS-Cache: Loaded
[ 1.372138] pnp: PnP ACPI init
[ 1.375319] ACPI: bus type pnp registered
[ 1.379569] pnp 00:00: [dma 4]
...
[ 1.455138] pnp 00:0a: Plug and Play ACPI device, IDs PNP0103 (active)
[ 1.455269] system 00:0b: [mem 0xfed90000-0xfed91fff] could not be
reserved
[ 1.462353] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (active)
[ 1.462732] pnp: PnP ACPI: found 12 devices
[ 1.467044] ACPI: ACPI bus type pnp unregistered
[ 1.481774] pci 0000:06:00.1: address space collision: [mem
0xdf300000-0xdf37ffff pref] conflicts with 0000:06:00.0 [mem
0xdf300000-0xdf37ffff pref]
[ 1.495395] pci 0000:00:01.0: PCI bridge to [bus 01]
[ 1.500484] pci 0000:00:01.0: bridge window [mem 0xda000000-0xddffffff]
...
[ 1.611994] pci 0000:00:1e.0: bridge window [mem 0xde000000-0xdeffffff]
[ 1.623952] pci 0000:00:1e.0: bridge window [mem
0xd9000000-0xd97fffff 64bit pref]
[ 1.631898] pci 0000:00:1e.0: setting latency timer to 64
...
[ 1.631951] pci_bus 0000:ff: resource 5 [mem 0x00000000-0xffffffffff]
[ 1.632012] NET: Registered protocol family 2
[ 1.637148] TCP established hash table entries: 524288 (order: 11,
8388608 bytes)
[ 1.646389] TCP bind hash table entries: 65536 (order: 10, 5242880 bytes)
...
[ 1.815851] IOMMU: Setting identity map for device 0000:00:1a.7
[0xcf4c8000 - 0xcf4dffff]
[ 1.824137] IOMMU: Setting identity map for device 0000:00:1d.7
[0xcf4c8000 - 0xcf4dffff]
[ 1.832424] IOMMU: Prepare 0-16MiB unity mapping for LPC
[ 1.837883] IOMMU: Setting identity map for device 0000:00:1f.0 [0x0
- 0xffffff]
[ 1.845592] PCI-DMA: Intel(R) Virtualization Technology for Directed I/O
...
[ 1.923963] microcode: CPU11 sig=0x206c2, pf=0x1, revision=0x15
[ 1.930096] microcode: Microcode Update Driver: v2.00
<tigran@aivazian.fsnet.co.uk>, Peter Oruba
[ 1.939117] sha1_ssse3: Using SSSE3 optimized SHA-1 implementation
[ 1.939131] cryptomgr_test (77) used greatest stack depth: 5832 bytes
left
[ 1.954626] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[ 1.965735] Key type cifs.idmap registered
[ 1.970070] SGI XFS with ACLs, security attributes, realtime, large
block/inode numbers, no debug enabled
[ 1.980271] msgmni has been set to 32768
[ 1.985133] cryptomgr_test (97) used greatest stack depth: 5776 bytes
left
[ 1.985471] alg: No test for stdrng (krng)
[ 1.985539] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 250)
[ 1.985596] io scheduler noop registered
[ 1.985643] io scheduler cfq registered (default)
...
[ 1.987902] pcieport 0000:00:0a.0: irq 79 for MSI/MSI-X
[ 1.988057] pcieport 0000:00:01.0: Signaling PME through PCIe PME
interrupt
...
[ 1.988274] pcie_pme 0000:00:0a.0:pcie01: service driver pcie_pme loaded
[ 1.988375] intel_idle: MWAIT substates: 0x1120
[ 1.988375] intel_idle: v0.4 model 0x2C
[ 1.988376] intel_idle: lapic_timer_reliable_states 0xffffffff
[ 2.115394] cryptomgr_test (99) used greatest stack depth: 5208 bytes
left
[ 2.122414] ipmi message handler version 39.2
[ 2.126909] ipmi device interface
[ 2.130384] IPMI System Interface driver.
[ 2.134590] ipmi_si: probing via SMBIOS
[ 2.138537] ipmi_si: SMBIOS: io 0xca8 regsize 1 spacing 4 irq 0
[ 2.144571] ipmi_si: Adding SMBIOS-specified kcs state machine
[ 2.150581] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o
address 0xca8, slave address 0x20, irq 0
[ 2.376680] ipmi_si ipmi_si.0: Found new BMC (man_id: 0x0002a2,
prod_id: 0x0100, dev_id: 0x20)
[ 2.385509] ipmi_si ipmi_si.0: IPMI kcs interface initialized
[ 2.391506] ERST: Error Record Serialization Table (ERST) support is
initialized.
[ 2.399478] GHES: APEI firmware first mode is enabled by APEI bit and
WHEA _OSC.
[ 2.406995] ioatdma: Intel(R) QuickData Technology Driver 4.00
...
[ 2.416327] ioatdma 0000:00:16.7: irq 87 for MSI/MSI-X
[ 2.450434] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 2.480844] 00:04: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 2.507130] 00:05: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[ 2.513742] Non-volatile memory driver v1.3
[ 2.521604] brd: module loaded
[ 2.526285] loop: module loaded
[ 2.530376] nbd: registered device at major 43
[ 2.537559] gpio_ich: GPIO from 195 to 255 on gpio_ich
[ 2.543005] Loading iSCSI transport class v2.0-870.
[ 2.548103] megasas: 06.504.01.00-rc1 Mon. Oct. 1 17:00:00 PDT 2012
[ 2.554547] megasas: 0x1000:0x0079:0x1000:0x9275: bus 5:slot 0:func 0
[ 2.561326] megasas: FW now in Ready state
...
[ 2.844408] scsi 0:0:29:0: Direct-Access ATA Hitachi
HUA72202 A3EA PQ: 0 ANSI: 5
...
[ 2.958508] bonding: Ethernet Channel Bonding Driver: v3.7.1 (April
27, 2011)
[ 2.959107] bnx2: Broadcom NetXtreme II Gigabit Ethernet Driver bnx2
v2.2.3 (June 27, 2012)
[ 2.959422] scsi 1:0:4:0: Direct-Access ATA Hitachi HUA72202
A3EA PQ: 0 ANSI: 5
[ 2.959720] bnx2 0000:01:00.0 eth0: Broadcom NetXtreme II BCM5709
1000Base-T (C0) PCI Express found at mem da000000, IRQ 36, node addr
00:26:b9:2c:a4:ef
[ 2.960305] bnx2 0000:01:00.1 eth1: Broadcom NetXtreme II BCM5709
1000Base-T (C0) PCI Express found at mem dc000000, IRQ 48, node addr
00:26:b9:2c:a4:f1
[ 2.960347] e1000e: Intel(R) PRO/1000 Network Driver - 2.1.4-k
[ 2.960348] e1000e: Copyright(c) 1999 - 2012 Intel Corporation.
[ 2.960377] e1000e 0000:03:00.0: Disabling ASPM L1
[ 2.960470] e1000e 0000:03:00.0: Interrupt Throttling Rate (ints/sec)
set to dynamic conservative mode
[ 2.960511] e1000e 0000:03:00.0: irq 89 for MSI/MSI-X
[ 3.007831] scsi 1:0:5:0: Direct-Access ATA Hitachi HUA72202
A3EA PQ: 0 ANSI: 5
...
[ 3.127317] scsi 0:0:39:0: Direct-Access ATA Hitachi
HUA72202 A3EA PQ: 0 ANSI: 5
[ 3.132612] e1000e 0000:03:00.0 eth2: (PCI Express:2.5GT/s:Width x4)
00:15:17:bf:be:b2
[ 3.132614] e1000e 0000:03:00.0 eth2: Intel(R) PRO/1000 Network
Connection
[ 3.132689] e1000e 0000:03:00.0 eth2: MAC: 0, PHY: 4, PBA No: C57721-005
[ 3.132702] e1000e 0000:03:00.1: Disabling ASPM L1
[ 3.132795] e1000e 0000:03:00.1: Interrupt Throttling Rate (ints/sec)
set to dynamic conservative mode
[ 3.132836] e1000e 0000:03:00.1: irq 90 for MSI/MSI-X
[ 3.159261] Uhhuh. NMI received for unknown reason 31 on CPU 0.
[ 3.159261] Do you have a strange power saving mode enabled?
[ 3.159262] Dazed and confused, but trying to continue
[ 3.188918] dmar: DRHD: handling fault status reg 2
[ 3.193907] dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr
ffe76000
[ 3.193907] DMAR:[fault reason 06] PTE Read access is not set
[ 3.240182] scsi 0:2:0:0: Direct-Access LSI MR9280DE-8e
2.0. PQ: 0 ANSI: 5
[ 3.248746] scsi 0:2:1:0: Direct-Access LSI MR9280DE-8e
2.0. PQ: 0 ANSI: 5
[ 3.282652] dmar: DRHD: handling fault status reg 102
[ 3.284312] ses 0:0:14:0: Attached Enclosure device
[ 3.284426] ses 0:0:14:0: Attached scsi generic sg0 type 13
[ 3.301981] dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr
ffe8a000
[ 3.301981] DMAR:[fault reason 06] PTE Read access is not set
[ 3.305305] e1000e 0000:03:00.1 eth3: (PCI Express:2.5GT/s:Width x4)
00:15:17:bf:be:b3
[ 3.305307] e1000e 0000:03:00.1 eth3: Intel(R) PRO/1000 Network
Connection
[ 3.305382] e1000e 0000:03:00.1 eth3: MAC: 0, PHY: 4, PBA No: C57721-005
[ 3.305431] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver -
version 3.11.33-k
[ 3.305431] ixgbe: Copyright (c) 1999-2012 Intel Corporation.
[ 3.350903] scsi 1:0:32:0: Enclosure DP
BACKPLANE 1.07 PQ: 0 ANSI: 5
[ 3.359344] dmar: DRHD: handling fault status reg 202
[ 3.364534] dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr
ffe89000
[ 3.364534] DMAR:[fault reason 06] PTE Read access is not set
[ 3.386416] ses 0:0:27:0: Attached Enclosure device
...
[ 3.508700] sd 0:2:1:0: [sdb] Attached SCSI disk
[ 3.622261] ses 1:0:32:0: Attached Enclosure device
[ 3.627372] ses 1:0:32:0: Attached scsi generic sg4 type 13
[ 3.733753] ixgbe 0000:06:00.0: irq 91 for MSI/MSI-X
[ 3.733763] ixgbe 0000:06:00.0: irq 92 for MSI/MSI-X
[ 3.733772] ixgbe 0000:06:00.0: irq 93 for MSI/MSI-X
[ 3.733780] ixgbe 0000:06:00.0: irq 94 for MSI/MSI-X
[ 3.733789] ixgbe 0000:06:00.0: irq 95 for MSI/MSI-X
[ 3.733797] ixgbe 0000:06:00.0: irq 96 for MSI/MSI-X
[ 3.733805] ixgbe 0000:06:00.0: irq 97 for MSI/MSI-X
[ 3.733814] ixgbe 0000:06:00.0: irq 98 for MSI/MSI-X
[ 3.733822] ixgbe 0000:06:00.0: irq 99 for MSI/MSI-X
[ 3.733831] ixgbe 0000:06:00.0: irq 100 for MSI/MSI-X
[ 3.733839] ixgbe 0000:06:00.0: irq 101 for MSI/MSI-X
[ 3.733847] ixgbe 0000:06:00.0: irq 102 for MSI/MSI-X
[ 3.733856] ixgbe 0000:06:00.0: irq 103 for MSI/MSI-X
[ 3.733933] ixgbe 0000:06:00.0: Multiqueue Enabled: Rx Queue count =
12, Tx Queue count = 12
[ 3.742464] dmar: DRHD: handling fault status reg 302
[ 3.742467] dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr
ffe86000
[ 3.742467] DMAR:[fault reason 06] PTE Read access is not set
[ 3.805353] dmar: DRHD: handling fault status reg 402
[ 3.810529] dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr
ffe87000
[ 3.810529] DMAR:[fault reason 06] PTE Read access is not set
[ 3.820908] ixgbe 0000:06:00.0: (PCI Express:5.0GT/s:Width x8)
a0:36:9f:15:c9:c0
[ 3.889229] dmar: DRHD: handling fault status reg 502
[ 3.894389] dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr
ffe84000
[ 3.894389] DMAR:[fault reason 06] PTE Read access is not set
...
[ 4.037793] sd 1:2:0:0: [sdc] Attached SCSI disk
[ 4.062063] dmar: DRHD: handling fault status reg 702
[ 4.067233] dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr
ffe7f000
[ 4.067233] DMAR:[fault reason 06] PTE Read access is not set
[ 4.100647] sdd: sdd1
[ 4.103655] sd 1:2:1:0: [sdd] Attached SCSI disk
[ 4.123872] ixgbe 0000:06:00.0: Intel(R) 10 Gigabit Network Connection
[ 4.558317] ixgbe 0000:06:00.1: irq 104 for MSI/MSI-X
[ 4.558326] ixgbe 0000:06:00.1: irq 105 for MSI/MSI-X
[ 4.558335] ixgbe 0000:06:00.1: irq 106 for MSI/MSI-X
[ 4.558343] ixgbe 0000:06:00.1: irq 107 for MSI/MSI-X
[ 4.558351] ixgbe 0000:06:00.1: irq 108 for MSI/MSI-X
[ 4.558360] ixgbe 0000:06:00.1: irq 109 for MSI/MSI-X
[ 4.558368] ixgbe 0000:06:00.1: irq 110 for MSI/MSI-X
[ 4.558376] ixgbe 0000:06:00.1: irq 111 for MSI/MSI-X
[ 4.558385] ixgbe 0000:06:00.1: irq 112 for MSI/MSI-X
[ 4.558393] ixgbe 0000:06:00.1: irq 113 for MSI/MSI-X
[ 4.558401] ixgbe 0000:06:00.1: irq 114 for MSI/MSI-X
[ 4.558410] ixgbe 0000:06:00.1: irq 115 for MSI/MSI-X
[ 4.558418] ixgbe 0000:06:00.1: irq 116 for MSI/MSI-X
[ 4.558490] ixgbe 0000:06:00.1: Multiqueue Enabled: Rx Queue count =
12, Tx Queue count = 12
[ 4.627063] ixgbe 0000:06:00.1: (PCI Express:5.0GT/s:Width x8)
a0:36:9f:15:c9:c2
[ 4.794640] ixgbe 0000:06:00.1: MAC: 3, PHY: 3, PBA No: G45270-002
[ 4.943908] ixgbe 0000:06:00.1: Intel(R) 10 Gigabit Network Connection
[ 4.950603] I2O subsystem v1.325
[ 4.953953] i2o: max drivers = 8
...
[ 5.519890] usbserial: USB Serial support registered for generic
[ 5.526107] i8042: PNP: No PS/2 controller found. Probing ports directly.
[ 5.535870] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 5.541055] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 5.549583] usbcore: registered new interface driver wacom
[ 5.555277] input: PC Speaker as /devices/platform/pcspkr/input/input0
[ 5.562198] rtc_cmos 00:03: RTC can wake from S4
[ 5.567265] rtc_cmos 00:03: rtc core: registered rtc_cmos as rtc0
[ 5.574040] rtc0: alarms up to one day, y3k, 242 bytes nvram, hpet irqs
[ 5.580796] i2c /dev entries driver
[ 5.585128] ACPI Error: No handler for Region [IPMI]
(ffff880613c39240) [IPMI] (20121018/evregion-376)
[ 5.594665] ACPI Error: Region IPMI (ID=7) has no handler
(20121018/exfldio-305)
[ 5.602573] ACPI Error: Method parse/execution failed
[\_SB_.PMI0._GHL] (Node ffff880613c38b18), AE_NOT_EXIST
(20121018/psparse-537)
[ 5.614909] ACPI Error: Method parse/execution failed
[\_SB_.PMI0._PMC] (Node ffff880613c38a78), AE_NOT_EXIST
(20121018/psparse-537)
[ 5.627254] ACPI Exception: AE_NOT_EXIST, Evaluating _PMC
(20121018/power_meter-753)
[ 5.635332] coretemp coretemp.1: TjMax is 96 degrees C
...
[ 5.635573] coretemp coretemp.0: TjMax is 96 degrees C
[ 5.635834] device-mapper: uevent: version 1.0.3
[ 5.640724] device-mapper: ioctl: 4.23.1-ioctl (2012-12-18)
initialised: dm-devel@redhat.com
[ 5.649319] EDAC MC: Ver: 3.0.0
[ 5.653653] EDAC MC1: Giving out device to 'i7core_edac.c' 'i7 core
#1': DEV 0000:fe:03.0
[ 5.662012] EDAC PCI0: Giving out device to module 'i7core_edac'
controller 'EDAC PCI controller': DEV '0000:fe:03.0' (POLLED)
[ 5.674123] EDAC MC0: Giving out device to 'i7core_edac.c' 'i7 core
#0': DEV 0000:ff:03.0
[ 5.682450] EDAC PCI1: Giving out device to module 'i7core_edac'
controller 'EDAC PCI controller': DEV '0000:ff:03.0' (POLLED)
[ 5.694321] EDAC i7core: Driver loaded, 2 memory controller(s) found.
[ 5.701319] cpuidle: using governor ladder
[ 5.706287] cpuidle: using governor menu
[ 5.711285] EFI Variables Facility v0.08 2004-May-17
[ 5.716452] dcdbas dcdbas: Dell Systems Management Base Driver
(version 5.6.0-3.2)
[ 5.724250] usbcore: registered new interface driver usbhid
[ 5.729946] usbhid: USB HID core driver
[ 5.733841] usb 7-1: new low-speed USB device number 2 using uhci_hcd
[ 5.740464] GACT probability on
[ 5.743781] Netfilter messages via NETLINK v0.30.
[ 5.748733] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 5.754795] TCP: highspeed registered
[ 5.758606] TCP: htcp registered
[ 5.761957] TCP: scalable registered
[ 5.765638] TCP: lp registered
[ 5.768828] NET: Registered protocol family 17
[ 5.773416] Key type dns_resolver registered
[ 5.778771] registered taskstats version 1
[ 5.785472] console [netcon0] enabled
[ 5.789268] netconsole: network logging started
[ 5.794417] rtc_cmos 00:03: setting system clock to 2013-03-03
13:36:33 UTC (1362317793)
...
[ 6.034685] Freeing unused kernel memory: 2356k freed
[ 6.040393] Write protecting the kernel read-only data: 12288k
[ 6.055099] Freeing unused kernel memory: 1804k freed
[ 6.066535] Freeing unused kernel memory: 1296k freed
...
[ 7.272433] XFS (sdc6): Ending clean mount
[ 8.729858] ACPI: Requesting acpi_cpufreq
[ 8.736906] mousedev: PS/2 mouse device common for all mice
[ 8.740862] Uhhuh. NMI received for unknown reason 31 on CPU 0.
[ 8.740862] Do you have a strange power saving mode enabled?
[ 8.740863] Dazed and confused, but trying to continue
[ 8.763852] input: Power Button as
/devices/LNXSYSTM:00/LNXPWRBN:00/input/input5
[ 8.771464] ACPI: Power Button [PWRF]
[ 8.816722] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.10
[ 8.822886] iTCO_wdt: Found a ICH9 TCO device (Version=2, TCOBASE=0x0860)
[ 8.830275] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[ 8.871909] kvm: VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL does not work
properly. Using workaround
[ 9.311531] Adding 8393924k swap on /dev/sdc5. Priority:-1 extents:1
across:8393924k
[ 9.898467] bio: create slab <bio-1> at 1
[ 10.320156] bio: create slab <bio-2> at 2
[ 12.848010] XFS (sdc2): Mounting Filesystem
...
[ 14.534075] XFS (dm-6): Ending clean mount
[ 18.538494] bonding: bond0: Setting MII monitoring interval to 250.
[ 18.552402] bonding: bond0: Adding slave eth_s2_0.
[ 18.620810] pps pps0: new PPS source ptp0
[ 18.624829] ixgbe 0000:06:00.0: registered PHC device on eth_s2_0
[ 19.055454] bonding: bond0: enslaving eth_s2_0 as an active interface
with a down link.
[ 19.073574] bonding: bond0: Adding slave eth_s2_1.
[ 19.140326] pps pps1: new PPS source ptp1
[ 19.144340] ixgbe 0000:06:00.1: registered PHC device on eth_s2_1
[ 19.574896] bonding: bond0: enslaving eth_s2_1 as an active interface
with a down link.
[ 19.597337] ixgbe 0000:06:00.0 eth_s2_0: changing MTU from 1500 to 9000
[ 20.466899] ixgbe 0000:06:00.1 eth_s2_1: changing MTU from 1500 to 9000
[ 22.177843] e1000e 0000:03:00.0 eth0: changing MTU from 1500 to 9000
[ 22.472021] e1000e 0000:03:00.0: irq 89 for MSI/MSI-X
[ 22.572957] e1000e 0000:03:00.0: irq 89 for MSI/MSI-X
[ 22.917065] e1000e 0000:03:00.1 eth1: changing MTU from 1500 to 9000
[ 23.211319] e1000e 0000:03:00.1: irq 90 for MSI/MSI-X
[ 23.311726] e1000e 0000:03:00.1: irq 90 for MSI/MSI-X
[ 23.677061] bnx2 0000:01:00.0: irq 117 for MSI/MSI-X
...
[ 23.677168] bnx2 0000:01:00.0: irq 125 for MSI/MSI-X
[ 23.729930] bnx2 0000:01:00.0 eth2: using MSIX
[ 23.730055] ip (2400) used greatest stack depth: 2096 bytes left
[ 24.075847] bnx2 0000:01:00.1: irq 126 for MSI/MSI-X
...
[ 24.075913] bnx2 0000:01:00.1: irq 134 for MSI/MSI-X
[ 24.129293] bnx2 0000:01:00.1 eth3: using MSIX
[ 24.776033] ixgbe 0000:06:00.0 eth_s2_0: NIC Link is Up 10 Gbps, Flow
Control: RX/TX
[ 24.820010] BUG: scheduling while atomic: kworker/u:2/109/0x00000002
[ 24.826415] 4 locks held by kworker/u:2/109:
[ 24.826425] #0: ((bond_dev->name)){......}, at:
[<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
[ 24.826428] #1: ((&(&bond->mii_work)->work)){......}, at:
[<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
[ 24.826435] #2: (rtnl_mutex){......}, at: [<ffffffff81590c00>]
rtnl_trylock+0x10/0x20
[ 24.826441] #3: (&bond->lock){......}, at: [<ffffffff8145af55>]
bond_mii_monitor+0x2d5/0x630
[ 24.826448] Modules linked in: iptable_filter kvm_intel kvm iTCO_wdt
acpi_cpufreq mperf button mousedev processor
[ 24.826451] Pid: 109, comm: kworker/u:2 Not tainted 3.8.1-Isht-Van #6
[ 24.826452] Call Trace:
[ 24.826459] [<ffffffff8162b039>] __schedule_bug+0x5e/0x6c
[ 24.826475] [<ffffffff816345a2>] __schedule+0x762/0x7f0
[ 24.826479] [<ffffffff81634744>] schedule+0x24/0x70
[ 24.826488] [<ffffffff81633704>]
schedule_hrtimeout_range_clock+0xa4/0x130
[ 24.826495] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
[ 24.826499] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
[ 24.826507] [<ffffffff8163379e>] schedule_hrtimeout_range+0xe/0x10
[ 24.826512] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
[ 24.826518] [<ffffffff814b2d8c>] ixgbe_acquire_swfw_sync_X540+0xbc/0x100
[ 24.826527] [<ffffffff814aeb1d>] ixgbe_read_phy_reg_generic+0x3d/0x140
[ 24.826532] [<ffffffff814aedbc>]
ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
[ 24.826537] [<ffffffff8145af55>] ? bond_mii_monitor+0x2d5/0x630
[ 24.826543] [<ffffffff814a64f4>] ixgbe_get_settings+0x34/0x340
[ 24.826546] [<ffffffff81586ac8>] __ethtool_get_settings+0x88/0x130
[ 24.826552] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
[ 24.826554] [<ffffffff8145afc4>] bond_mii_monitor+0x344/0x630
[ 24.826556] [<ffffffff8105dab1>] process_one_work+0x1a1/0x5d0
[ 24.826558] [<ffffffff8105da4d>] ? process_one_work+0x13d/0x5d0
[ 24.826560] [<ffffffff8145ac80>] ? bond_loadbalance_arp_mon+0x300/0x300
[ 24.826563] [<ffffffff8105ed60>] worker_thread+0x160/0x3f0
[ 24.826565] [<ffffffff8105ec00>] ? manage_workers+0x290/0x290
[ 24.826569] [<ffffffff81064446>] kthread+0xd6/0xe0
[ 24.826573] [<ffffffff8107004a>] ? finish_task_switch+0x3a/0x100
[ 24.826576] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
[ 24.826578] [<ffffffff81636fec>] ret_from_fork+0x7c/0xb0
[ 24.826580] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
[ 24.829930] BUG: scheduling while atomic: kworker/u:2/109/0x00000002
[ 24.836284] 4 locks held by kworker/u:2/109:
[ 24.836287] #0: ((bond_dev->name)){......}, at:
[<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
[ 24.836297] #1: ((&(&bond->mii_work)->work)){......}, at:
[<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
[ 24.836304] #2: (rtnl_mutex){......}, at: [<ffffffff81590c00>]
rtnl_trylock+0x10/0x20
[ 24.836312] #3: (&bond->lock){......}, at: [<ffffffff8145af55>]
bond_mii_monitor+0x2d5/0x630
[ 24.836320] Modules linked in: iptable_filter kvm_intel kvm iTCO_wdt
acpi_cpufreq mperf button mousedev processor
[ 24.836334] Pid: 109, comm: kworker/u:2 Tainted: G W
3.8.1-Isht-Van #6
[ 24.836336] Call Trace:
[ 24.836342] [<ffffffff8162b039>] __schedule_bug+0x5e/0x6c
[ 24.836348] [<ffffffff816345a2>] __schedule+0x762/0x7f0
[ 24.836352] [<ffffffff81634744>] schedule+0x24/0x70
[ 24.836357] [<ffffffff81633704>]
schedule_hrtimeout_range_clock+0xa4/0x130
[ 24.836362] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
[ 24.836366] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
[ 24.836371] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
[ 24.836375] [<ffffffff8163379e>] schedule_hrtimeout_range+0xe/0x10
[ 24.836380] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
[ 24.836385] [<ffffffff814b2cbe>] ixgbe_release_swfw_sync_X540+0x4e/0x60
[ 24.836390] [<ffffffff814aebed>] ixgbe_read_phy_reg_generic+0x10d/0x140
[ 24.836395] [<ffffffff814aedbc>]
ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
[ 24.836400] [<ffffffff8145af55>] ? bond_mii_monitor+0x2d5/0x630
[ 24.836404] [<ffffffff814a64f4>] ixgbe_get_settings+0x34/0x340
[ 24.836409] [<ffffffff81586ac8>] __ethtool_get_settings+0x88/0x130
[ 24.836413] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
[ 24.836418] [<ffffffff8145afc4>] bond_mii_monitor+0x344/0x630
[ 24.836422] [<ffffffff8105dab1>] process_one_work+0x1a1/0x5d0
[ 24.836426] [<ffffffff8105da4d>] ? process_one_work+0x13d/0x5d0
[ 24.836431] [<ffffffff8145ac80>] ? bond_loadbalance_arp_mon+0x300/0x300
[ 24.836436] [<ffffffff8105ed60>] worker_thread+0x160/0x3f0
[ 24.836440] [<ffffffff8105ec00>] ? manage_workers+0x290/0x290
[ 24.836445] [<ffffffff81064446>] kthread+0xd6/0xe0
[ 24.836449] [<ffffffff8107004a>] ? finish_task_switch+0x3a/0x100
[ 24.836455] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
[ 24.836459] [<ffffffff81636fec>] ret_from_fork+0x7c/0xb0
[ 24.836464] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
[ 24.839952] bonding: bond0: link status definitely up for interface
eth_s2_0, 10000 Mbps full duplex.
[ 24.839968] bonding: bond0: first active interface up!
[ 24.955598] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow
Control: Rx/Tx
[ 25.621770] ixgbe 0000:06:00.1 eth_s2_1: NIC Link is Up 10 Gbps, Flow
Control: RX/TX
[ 25.838277] BUG: scheduling while atomic: kworker/u:2/109/0x00000002
[ 25.844673] 4 locks held by kworker/u:2/109:
[ 25.844676] #0: ((bond_dev->name)){......}, at:
[<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
[ 25.844689] #1: ((&(&bond->mii_work)->work)){......}, at:
[<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
[ 25.844705] #2: (rtnl_mutex){......}, at: [<ffffffff81590c00>]
rtnl_trylock+0x10/0x20
[ 25.844715] #3: (&bond->lock){......}, at: [<ffffffff8145af55>]
bond_mii_monitor+0x2d5/0x630
[ 25.844724] Modules linked in: iptable_filter kvm_intel kvm iTCO_wdt
acpi_cpufreq mperf button mousedev processor
[ 25.844740] Pid: 109, comm: kworker/u:2 Tainted: G W
3.8.1-Isht-Van #6
[ 25.844743] Call Trace:
[ 25.844752] [<ffffffff8162b039>] __schedule_bug+0x5e/0x6c
[ 25.844759] [<ffffffff816345a2>] __schedule+0x762/0x7f0
[ 25.844764] [<ffffffff81634744>] schedule+0x24/0x70
[ 25.844770] [<ffffffff81633704>]
schedule_hrtimeout_range_clock+0xa4/0x130
[ 25.844776] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
[ 25.844781] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
[ 25.844786] [<ffffffff8163379e>] schedule_hrtimeout_range+0xe/0x10
[ 25.844791] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
[ 25.844798] [<ffffffff814b2d8c>] ixgbe_acquire_swfw_sync_X540+0xbc/0x100
[ 25.844805] [<ffffffff814aeb1d>] ixgbe_read_phy_reg_generic+0x3d/0x140
[ 25.844811] [<ffffffff814aedbc>]
ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
[ 25.844818] [<ffffffff8145af55>] ? bond_mii_monitor+0x2d5/0x630
[ 25.844832] [<ffffffff814a64f4>] ixgbe_get_settings+0x34/0x340
[ 25.844845] [<ffffffff81586ac8>] __ethtool_get_settings+0x88/0x130
[ 25.844858] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
[ 25.844866] [<ffffffff8145afc4>] bond_mii_monitor+0x344/0x630
[ 25.844871] [<ffffffff8105dab1>] process_one_work+0x1a1/0x5d0
[ 25.844875] [<ffffffff8105da4d>] ? process_one_work+0x13d/0x5d0
[ 25.844880] [<ffffffff8145ac80>] ? bond_loadbalance_arp_mon+0x300/0x300
[ 25.844885] [<ffffffff8105ed60>] worker_thread+0x160/0x3f0
[ 25.844890] [<ffffffff8105ec00>] ? manage_workers+0x290/0x290
[ 25.844896] [<ffffffff81064446>] kthread+0xd6/0xe0
[ 25.844901] [<ffffffff8107004a>] ? finish_task_switch+0x3a/0x100
[ 25.844907] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
[ 25.844911] [<ffffffff81636fec>] ret_from_fork+0x7c/0xb0
[ 25.844916] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
[ 25.848369] BUG: scheduling while atomic: kworker/u:2/109/0x00000002
[ 25.854761] 4 locks held by kworker/u:2/109:
[ 25.854764] #0: ((bond_dev->name)){......}, at:
[<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
[ 25.854774] #1: ((&(&bond->mii_work)->work)){......}, at:
[<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
[ 25.854781] #2: (rtnl_mutex){......}, at: [<ffffffff81590c00>]
rtnl_trylock+0x10/0x20
[ 25.854790] #3: (&bond->lock){......}, at: [<ffffffff8145af55>]
bond_mii_monitor+0x2d5/0x630
[ 25.854798] Modules linked in: iptable_filter kvm_intel kvm iTCO_wdt
acpi_cpufreq mperf button mousedev processor
[ 25.854812] Pid: 109, comm: kworker/u:2 Tainted: G W
3.8.1-Isht-Van #6
[ 25.854814] Call Trace:
[ 25.854820] [<ffffffff8162b039>] __schedule_bug+0x5e/0x6c
[ 25.854826] [<ffffffff816345a2>] __schedule+0x762/0x7f0
[ 25.854831] [<ffffffff81634744>] schedule+0x24/0x70
[ 25.854835] [<ffffffff81633704>]
schedule_hrtimeout_range_clock+0xa4/0x130
[ 25.854840] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
[ 25.854844] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
[ 25.854849] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
[ 25.854854] [<ffffffff8163379e>] schedule_hrtimeout_range+0xe/0x10
[ 25.854858] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
[ 25.854863] [<ffffffff814b2cbe>] ixgbe_release_swfw_sync_X540+0x4e/0x60
[ 25.854869] [<ffffffff814aebed>] ixgbe_read_phy_reg_generic+0x10d/0x140
[ 25.854874] [<ffffffff814aedbc>]
ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
[ 25.854879] [<ffffffff8145af55>] ? bond_mii_monitor+0x2d5/0x630
[ 25.854883] [<ffffffff814a64f4>] ixgbe_get_settings+0x34/0x340
[ 25.854888] [<ffffffff81586ac8>] __ethtool_get_settings+0x88/0x130
[ 25.854892] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
[ 25.854897] [<ffffffff8145afc4>] bond_mii_monitor+0x344/0x630
[ 25.854901] [<ffffffff8105dab1>] process_one_work+0x1a1/0x5d0
[ 25.854905] [<ffffffff8105da4d>] ? process_one_work+0x13d/0x5d0
[ 25.854910] [<ffffffff8145ac80>] ? bond_loadbalance_arp_mon+0x300/0x300
[ 25.854915] [<ffffffff8105ed60>] worker_thread+0x160/0x3f0
[ 25.854920] [<ffffffff8105ec00>] ? manage_workers+0x290/0x290
[ 25.854925] [<ffffffff81064446>] kthread+0xd6/0xe0
[ 25.854929] [<ffffffff8107004a>] ? finish_task_switch+0x3a/0x100
[ 25.854935] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
[ 25.854939] [<ffffffff81636fec>] ret_from_fork+0x7c/0xb0
[ 25.854944] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
[ 25.858392] bonding: bond0: link status definitely up for interface
eth_s2_1, 10000 Mbps full duplex.
[ 27.292402] bnx2 0000:01:00.1 eth3: NIC Copper Link is Up, 1000 Mbps
full duplex
[ 27.292406] , receive & transmit flow control ON
[ 28.682172] e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow
Control: Rx/Tx
[ 29.037441] Status code returned 0xc000005e NT_STATUS_NO_LOGON_SERVERS
[ 29.037451] CIFS VFS: Send error in SessSetup = -5
[ 29.043058] CIFS VFS: cifs_mount failed w/return code = -5
[ 30.005962] Status code returned 0xc000005e NT_STATUS_NO_LOGON_SERVERS
[ 30.005971] CIFS VFS: Send error in SessSetup = -5
[ 30.011333] CIFS VFS: cifs_mount failed w/return code = -5
[ 31.093294] Status code returned 0xc000000d NT_STATUS_INVALID_PARAMETER
[ 31.093303] CIFS VFS: Send error in SessSetup = -22
[ 31.098672] CIFS VFS: cifs_mount failed w/return code = -22
[ 32.339022] device eth0 entered promiscuous mode
[ 32.523684] device eth1 entered promiscuous mode
[ 32.739312] device eth2 entered promiscuous mode
[ 32.922051] device eth3 entered promiscuous mode
[ 33.075705] device bond0 entered promiscuous mode
[ 33.075711] device eth_s2_0 entered promiscuous mode
[ 33.076022] device eth_s2_1 entered promiscuous mode
[ 34.783087] u32 classifier
[ 34.783089] Performance counters on
[ 34.783090] input device check on
[ 34.783091] Actions configured
[ 40.834154] bnx2 0000:01:00.0 eth2: NIC Copper Link is Up, 100 Mbps
full duplex
[ 40.834158] , receive & transmit flow control ON
^ permalink raw reply
* Re: [RFC PATCH net-next 0/3] Allow bridge to function in non-promisc mode
From: Stephen Hemminger @ 2013-03-07 7:19 UTC (permalink / raw)
To: vyasevic; +Cc: netdev, bridge
In-Reply-To: <1362623485-18209-1-git-send-email-vyasevic@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 415 bytes --]
I understand the desire to add more functionality, but in this case it
would introduce lots more problems. STP would break and it doesn't seem to
gain anything that can't be done by other means.
Turning bridge into macvlan seems unnecessary. Combining apples and bananas
doesn't always make a tasty smoothy, sometimes it is just a mess.
Maybe adding a little more to macvlan to do what you want would be simpler.
[-- Attachment #2: Type: text/html, Size: 476 bytes --]
^ permalink raw reply
* Re: [PATCH net-next 03/12] ipvs: prefer NETDEV_DOWN event to free cached dsts
From: Hans Schillstrom @ 2013-03-07 7:43 UTC (permalink / raw)
To: Julian Anastasov; +Cc: Simon Horman, lvs-devel, netdev
In-Reply-To: <alpine.LFD.2.00.1303062310520.1899@ja.ssi.bg>
[-- Attachment #1: Type: text/plain, Size: 2612 bytes --]
Hello
On Wed, 2013-03-06 at 23:21 +0200, Julian Anastasov wrote:
> Hello,
>
> On Wed, 6 Mar 2013, Hans Schillstrom wrote:
>
> > Hi Julian
> >
> > On Wed, 2013-03-06 at 10:42 +0200, Julian Anastasov wrote:
> > > The real server becomes unreachable on down event,
> > > no need to wait device unregistration. Should help in
> > > releasing dsts early before dst->dev is replaced with lo.
> >
> > Have you test this in a network namespace ?
> > i.e. kill the namespace with heave traffic through it
>
> This should not be a problem. Even without ns exit
> situation, we can have a case where device goes down,
> the output routes will start to fail and we will
> not cache route anymore. It can happen while the
> input device floods us with requests.
I've gone through the unregister code a couple of times now
and in theory it should work.
The test suit have also been running without problem
> > From what I remember this was a tricky area...
> >
> > I have some test cases for this, should I run them ?
>
> If it is easy...
>
> > > Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off by: Hans Schillstrom <hans@schillstrom.com>
> > > ---
> > > net/netfilter/ipvs/ip_vs_ctl.c | 8 +++-----
> > > 1 files changed, 3 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
> > > index c68198b..76fc8f2 100644
> > > --- a/net/netfilter/ipvs/ip_vs_ctl.c
> > > +++ b/net/netfilter/ipvs/ip_vs_ctl.c
> > > @@ -1512,10 +1512,8 @@ __ip_vs_dev_reset(struct ip_vs_dest *dest, struct net_device *dev)
> > > spin_unlock_bh(&dest->dst_lock);
> > >
> > > }
> > > -/*
> > > - * Netdev event receiver
> > > - * Currently only NETDEV_UNREGISTER is handled, i.e. if we hold a reference to
> > > - * a device that is "unregister" it must be released.
> > > +/* Netdev event receiver
> > > + * Currently only NETDEV_DOWN is handled to release refs to cached dsts
> > > */
> > > static int ip_vs_dst_event(struct notifier_block *this, unsigned long event,
> > > void *ptr)
> > > @@ -1527,7 +1525,7 @@ static int ip_vs_dst_event(struct notifier_block *this, unsigned long event,
> > > struct ip_vs_dest *dest;
> > > unsigned int idx;
> > >
> > > - if (event != NETDEV_UNREGISTER || !ipvs)
> > > + if (event != NETDEV_DOWN || !ipvs)
> > > return NOTIFY_DONE;
> > > IP_VS_DBG(3, "%s() dev=%s\n", __func__, dev->name);
> > > EnterFunction(2);
> >
> >
> > Regards
> > Hans
>
> Regards
>
> --
> Julian Anastasov <ja@ssi.bg>
Regargs
Hans
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 6177 bytes --]
^ permalink raw reply
* Re: [PATCH ipsec-next v2] xfrm: allow to avoid copying DSCP during encapsulation
From: Steffen Klassert @ 2013-03-07 7:46 UTC (permalink / raw)
To: Nicolas Dichtel; +Cc: herbert, davem, netdev
In-Reply-To: <1361526894-4104-1-git-send-email-nicolas.dichtel@6wind.com>
On Fri, Feb 22, 2013 at 10:54:54AM +0100, Nicolas Dichtel wrote:
> By default, DSCP is copying during encapsulation.
> Copying the DSCP in IPsec tunneling may be a bit dangerous because packets with
> different DSCP may get reordered relative to each other in the network and then
> dropped by the remote IPsec GW if the reordering becomes too big compared to the
> replay window.
>
> It is possible to avoid this copy with netfilter rules, but it's very convenient
> to be able to configure it for each SA directly.
>
> This patch adds a toogle for this purpose. By default, it's not set to maintain
> backward compatibility.
>
> Field flags in struct xfrm_usersa_info is full, hence I add a new attribute.
>
> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Applied to ipsec-next, thanks!
^ permalink raw reply
* Re: [PATCH] xfrm_user: constify netlink dispatch table
From: Steffen Klassert @ 2013-03-07 7:47 UTC (permalink / raw)
To: Mathias Krause; +Cc: Herbert Xu, David S. Miller, netdev
In-Reply-To: <1361711427-7880-1-git-send-email-minipli@googlemail.com>
On Sun, Feb 24, 2013 at 02:10:27PM +0100, Mathias Krause wrote:
> There is no need to modify the netlink dispatch table at runtime.
>
> Signed-off-by: Mathias Krause <minipli@googlemail.com>
Applied to ipsec-next, thanks!
^ permalink raw reply
* Re: upgrade to 3.8.1 : BUG Scheduling while atomic in bonding driver:
From: Michael Wang @ 2013-03-07 7:48 UTC (permalink / raw)
To: Linda Walsh
Cc: Eric Dumazet, Linux-Kernel, netdev, Jay Vosburgh, Jeff Kirsher,
Cong Wang
In-Reply-To: <51383C47.7050009@tlinx.org>
On 03/07/2013 03:05 PM, Linda Walsh wrote:
>
>
>
>
> Michael Wang wrote:
>> On 03/02/2013 01:21 PM, Linda Walsh wrote:
>> Update -- it *used* to stop the messages in 3.6.7.
>>
>> It no longer stops the messages in 3.8.1 -- (and isn't present by
>> default -- tried
>> adding the unlock/lock -- no difference.
>>
>> Weird. *sigh*
>>
>> Hi, Linda
>>
>> Do you have the BUG log after applied this patch?
>>
>> bond->lock seems to be the only one who will add the preempt_count, the
>> patch should works...
>>
>> And have you tried the 3.9.0-rc1, is the issue still exist?
>>
>> Regards,
>> Michael Wang
> -------------------
>
> What do you mean by 'bug log', do you mean kernel log --- including
> the log from boot, in case anything weird pops out, but bug happens
> edited out stretch of repetitious looking stuff that was unlikely to
> be related...
But do you have the log after applied the change which unlock bond->lock
before enter bond_update_speed_duplex() ? you mentioned that the fix
doesn't address the problem, but I'd like to take a look at the log, may
be there will be more clue ;-)
And have you tried 3.9.0-rc1? may be the issue already solved.
Regards,
Michael Wang
>
>
> [ 0.000000] Initializing cgroup subsys cpuset
> [ 0.000000] Initializing cgroup subsys cpu
> [ 0.000000] Linux version 3.8.1-Isht-Van (law@Ishtar) (gcc version
> 4.6.2 (SUSE Linux) ) #6 SMP PREEMPT Fri Mar 1 20:29:32 PST 2013
> [ 0.000000] Command line: BOOT_IMAGE=381-Isht-Van rw root=/dev/sdc1
> root=/dev/sdc1 showopts console=ttyS0,115200n8 console=tty0 elevator=cfq
> pcie_aspm=force pcie_ports=native reboot=bios
> [ 0.000000] KERNEL supported cpus:
> [ 0.000000] Intel GenuineIntel
> [ 0.000000] e820: BIOS-provided physical RAM map:
> [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ffff] usable
> ...
> [ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x0000000c2fffffff] usable
> [ 0.000000] NX (Execute Disable) protection: active
> [ 0.000000] SMBIOS 2.6 present.
> [ 0.000000] DMI: Dell Inc. PowerEdge T610/0CX0R0, BIOS 6.1.0 10/18/2011
> [ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
> [ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
> [ 0.000000] e820: last_pfn = 0xc30000 max_arch_pfn = 0x400000000
> [ 0.000000] MTRR default type: uncachable
> [ 0.000000] MTRR fixed ranges enabled:
> ...
> [ 0.000000] EC000-FFFFF write-protect
> [ 0.000000] MTRR variable ranges enabled:
> [ 0.000000] 0 base 0000000000 mask FF80000000 write-back
> ...
> [ 0.000000] 7 base 0C00000000 mask FFC0000000 write-back
> [ 0.000000] 8 disabled
> [ 0.000000] 9 disabled
> [ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new
> 0x7010600070106
> [ 0.000000] e820: update [mem 0xd0000000-0xffffffff] usable ==> reserved
> [ 0.000000] e820: last_pfn = 0xcf379 max_arch_pfn = 0x400000000
> [ 0.000000] initial memory mapped: [mem 0x00000000-0x1fffffff]
> [ 0.000000] Base memory trampoline at [ffff880000098000] 98000 size 24576
> [ 0.000000] Using GB pages for direct mapping
> [ 0.000000] init_memory_mapping: [mem 0x00000000-0xcf378fff]
> [ 0.000000] [mem 0x00000000-0xbfffffff] page 1G
> [ 0.000000] [mem 0xc0000000-0xcf1fffff] page 2M
> [ 0.000000] [mem 0xcf200000-0xcf378fff] page 4k
> [ 0.000000] kernel direct mapping tables up to 0xcf378fff @ [mem
> 0x1fffd000-0x1fffffff]
> [ 0.000000] init_memory_mapping: [mem 0x100000000-0xc2fffffff]
> [ 0.000000] [mem 0x100000000-0xbffffffff] page 1G
> [ 0.000000] [mem 0xc00000000-0xc2fffffff] page 2M
> [ 0.000000] kernel direct mapping tables up to 0xc2fffffff @ [mem
> 0xcf377000-0xcf378fff]
> [ 0.000000] ACPI: RSDP 00000000000f1170 00024 (v02 DELL )
> ...
> [ 0.000000] ACPI: TCPA 00000000cf3b3f34 00064 (v02 DELL PE_SC3
> 00000001 DELL 00000001)
> [ 0.000000] ACPI: SSDT 00000000cf3b7000 037A4 (v01 INTEL PPM RCM
> 80000001 INTL 20061109)
> [ 0.000000] ACPI: Local APIC address 0xfee00000
> ...
> [ 0.000000] SRAT: PXM 2 -> APIC 0x14 -> Node 1
> [ 0.000000] SRAT: Node 1 PXM 2 [mem 0x00000000-0xcfffffff]
> [ 0.000000] SRAT: Node 1 PXM 2 [mem 0x100000000-0x62fffffff]
> [ 0.000000] SRAT: Node 0 PXM 1 [mem 0x630000000-0xc2fffffff]
> [ 0.000000] NUMA: Node 1 [mem 0x00000000-0xcfffffff] + [mem
> 0x100000000-0x62fffffff] -> [mem 0x00000000-0x62fffffff]
> [ 0.000000] Initmem setup node 0 [mem 0x630000000-0xc2fffffff]
> [ 0.000000] NODE_DATA [mem 0xc2fffd000-0xc2fffffff]
> [ 0.000000] Initmem setup node 1 [mem 0x00000000-0x62fffffff]
> [ 0.000000] NODE_DATA [mem 0x62fffd000-0x62fffffff]
> [ 0.000000] [ffffea0000000000-ffffea0018bfffff] PMD ->
> [ffff880617e00000-ffff88062fdfffff] on node 1
> [ 0.000000] [ffffea0018c00000-ffffea0030bfffff] PMD ->
> [ffff880c17600000-ffff880c2f5fffff] on node 0
> [ 0.000000] Zone ranges:
> [ 0.000000] DMA [mem 0x00001000-0x00ffffff]
> [ 0.000000] DMA32 [mem 0x01000000-0xffffffff]
> [ 0.000000] Normal [mem 0x100000000-0xc2fffffff]
> [ 0.000000] Movable zone start for each node
> [ 0.000000] Early memory node ranges
> [ 0.000000] node 1: [mem 0x00001000-0x0009ffff]
> [ 0.000000] node 1: [mem 0x00100000-0xcf378fff]
> [ 0.000000] node 1: [mem 0x100000000-0x62fffffff]
> [ 0.000000] node 0: [mem 0x630000000-0xc2fffffff]
> [ 0.000000] On node 0 totalpages: 6291456
> [ 0.000000] Normal zone: 98304 pages used for memmap
> [ 0.000000] Normal zone: 6193152 pages, LIFO batch:31
> [ 0.000000] On node 1 totalpages: 6288152
> [ 0.000000] DMA zone: 64 pages used for memmap
> [ 0.000000] DMA zone: 8 pages reserved
> [ 0.000000] DMA zone: 3927 pages, LIFO batch:0
> [ 0.000000] DMA32 zone: 13198 pages used for memmap
> [ 0.000000] DMA32 zone: 831467 pages, LIFO batch:31
> [ 0.000000] Normal zone: 84992 pages used for memmap
> [ 0.000000] Normal zone: 5354496 pages, LIFO batch:31
> [ 0.000000] ACPI: PM-Timer IO Port: 0x808
> [ 0.000000] ACPI: Local APIC address 0xfee00000
> ...
> [ 0.000000] ACPI: LAPIC (acpi_id[0x20] lapic_id[0xff] disabled)
> [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1])
> [ 0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
> [ 0.000000] IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI
> 0-23
> [ 0.000000] ACPI: IOAPIC (id[0x01] address[0xfec80000] gsi_base[32])
> [ 0.000000] IOAPIC[1]: apic_id 1, version 32, address 0xfec80000, GSI
> 32-55
> [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
> [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
> [ 0.000000] ACPI: IRQ0 used by override.
> [ 0.000000] ACPI: IRQ2 used by override.
> [ 0.000000] ACPI: IRQ9 used by override.
> [ 0.000000] Using ACPI (MADT) for SMP configuration information
> [ 0.000000] ACPI: HPET id: 0x8086a301 base: 0xfed00000
> [ 0.000000] smpboot: 32 Processors exceeds NR_CPUS limit of 12
> [ 0.000000] smpboot: Allowing 12 CPUs, 0 hotplug CPUs
> [ 0.000000] nr_irqs_gsi: 72
> [ 0.000000] e820: [mem 0xd0000000-0xdfffffff] available for PCI devices
> [ 0.000000] setup_percpu: NR_CPUS:12 nr_cpumask_bits:12 nr_cpu_ids:12
> nr_node_ids:2
> [ 0.000000] PERCPU: Embedded 476 pages/cpu @ffff880617200000 s1918016
> r8192 d23488 u2097152
> [ 0.000000] pcpu-alloc: s1918016 r8192 d23488 u2097152 alloc=1*2097152
> [ 0.000000] pcpu-alloc: [0] 00 [0] 02 [0] 04 [0] 06 [0] 08 [0] 10 [1]
> 01 [1] 03
> [ 0.000000] pcpu-alloc: [1] 05 [1] 07 [1] 09 [1] 11
> [ 0.000000] Built 2 zonelists in Zone order, mobility grouping on.
> Total pages: 12383042
> [ 0.000000] Policy zone: Normal
> [ 0.000000] Kernel command line: reboot=bios BOOT_IMAGE=381-Isht-Van
> rw root=/dev/sdc1 root=/dev/sdc1 showopts console=ttyS0,115200n8
> console=tty0 elevator=cfq pcie_aspm=force pcie_ports=native reboot=bios
> [ 0.000000] PCIe ASPM is forcibly enabled
> [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
> [ 0.000000] __ex_table already sorted, skipping sort
> [ 0.000000] Memory: 49417684k/51118080k available (6379k kernel code,
> 799648k absent, 900748k reserved, 6697k data, 2356k init)
> [ 0.000000] SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0,
> CPUs=12, Nodes=2
> [ 0.000000] Preemptible hierarchical RCU implementation.
> [ 0.000000] NR_IRQS:4352 nr_irqs:1320 16
> [ 0.000000] Extended CMOS year: 2000
> [ 0.000000] Console: colour VGA+ 132x43
> [ 0.000000] console [tty0] enabled
> [ 0.000000] console [ttyS0] enabled
> ...
> [ 0.000000] Enabling automatic NUMA balancing. Configure with
> numa_balancing= or sysctl
> [ 0.000000] hpet clockevent registered
> [ 0.000000] tsc: Fast TSC calibration using PIT
> [ 0.001000] tsc: Detected 2793.076 MHz processor
> [ 0.000004] Calibrating delay loop (skipped), value calculated using
> timer frequency.. 5586.15 BogoMIPS (lpj=2793076)
> [ 0.010813] pid_max: default: 32768 minimum: 301
> [ 0.015614] Security Framework initialized
> [ 0.023350] Dentry cache hash table entries: 8388608 (order: 14,
> 67108864 bytes)
> [ 0.044185] Inode-cache hash table entries: 4194304 (order: 13,
> 33554432 bytes)
> [ 0.057474] Mount-cache hash table entries: 256
> ...
> [ 0.089812] CPU: Physical Processor ID: 1
> [ 0.093952] CPU: Processor Core ID: 0
> [ 0.097757] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
> [ 0.097757] ENERGY_PERF_BIAS: View and update with
> x86_energy_perf_policy(8)
> [ 0.110967] mce: CPU supports 9 MCE banks
> [ 0.115114] CPU0: Thermal monitoring enabled (TM1)
> [ 0.120048] process: using mwait in idle threads
> [ 0.124793] Last level iTLB entries: 4KB 512, 2MB 7, 4MB 7
> [ 0.124793] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32
> [ 0.124793] tlb_flushall_shift: 6
> [ 0.139667] Freeing SMP alternatives: 20k freed
> [ 0.144332] ACPI: Core revision 20121018
> [ 0.152164] dmar: Host address width 40
> [ 0.156136] dmar: DRHD base: 0x000000fed90000 flags: 0x1
> [ 0.161569] dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap
> c90780106f0462 ecap f020f6
> ...
> [ 0.224974] dmar: RMRR base: 0x000000cf4c2000 end: 0x000000cf4c2fff
> [ 0.231442] dmar: ATSR flags: 0x0
> [ 0.235046] Switched APIC routing to physical flat.
> [ 0.240639] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
> [ 0.256738] smpboot: CPU0: Intel(R) Xeon(R) CPU X5660 @
> 2.80GHz (fam: 06, model: 2c, stepping: 02)
> [ 0.368291] Performance Events: PEBS fmt1+, 16-deep LBR, Westmere
> events, Intel PMU driver.
> [ 0.376959] perf_event_intel: CPUID marked event: 'bus cycles'
> unavailable
> [ 0.383937] ... version: 3
> [ 0.388059] ... bit width: 48
> [ 0.392282] ... generic registers: 4
> [ 0.396395] ... value mask: 0000ffffffffffff
> [ 0.401818] ... max period: 000000007fffffff
> [ 0.407240] ... fixed-purpose events: 3
> [ 0.411353] ... event mask: 000000070000000f
> [ 0.424313] SMP alternatives: lockdep: fixing up alternatives
> [ 0.526339] NMI watchdog: enabled on all CPUs, permanently consumes
> one hw-PMU counter.
> [ 0.430197] smpboot: Booting Node 1, Processors #1
> ...
> [ 0.767737] smpboot: Booting Node 0, Processors #10
> [ 0.787660] SMP alternatives: lockdep: fixing up alternatives
> [ 0.793815] OK
> [ 0.795696] smpboot: Booting Node 1, Processors #11 OK
> [ 0.814480] Brought up 12 CPUs
> [ 0.817643] smpboot: Total of 12 processors activated (67031.54 BogoMIPS)
> [ 0.837389] devtmpfs: initialized
> [ 0.841517] NET: Registered protocol family 16
> [ 0.846297] i2c-core: driver [dummy] registered
> [ 0.846445] ACPI FADT declares the system doesn't support PCIe ASPM,
> so disable it
> [ 0.854119] ACPI: bus type pci registered
> [ 0.858333] dca service started, version 1.12.1
> [ 0.863002] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem
> 0xe0000000-0xefffffff] (base 0xe0000000)
> [ 0.872412] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
> [ 0.915444] PCI: Using configuration type 1 for base access
> [ 0.923541] bio: create slab <bio-0> at 0
> [ 0.927876] ACPI: Added _OSI(Module Device)
> [ 0.932207] ACPI: Added _OSI(Processor Device)
> [ 0.936769] ACPI: Added _OSI(3.0 _SCP Extensions)
> [ 0.941613] ACPI: Added _OSI(Processor Aggregator Device)
> [ 0.949347] ACPI: EC: Look up EC in DSDT
> [ 0.952568] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
> [ 0.962779] ACPI: Interpreter enabled
> [ 0.966551] ACPI: (supports S0 S5)
> [ 0.970176] ACPI: Using IOAPIC for interrupt routing
> [ 0.982895] HEST: Table parsing has been initialized.
> [ 0.988063] PCI: Using host bridge windows from ACPI; if necessary,
> use "pci=nocrs" and report a bug
> [ 0.997500] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
> [ 1.003792] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
> [ 1.004949] pci_root PNP0A08:00: Requesting ACPI _OSC control (0x15)
> [ 1.011897] pci_root PNP0A08:00: ACPI _OSC control (0x15) granted
> [ 1.018511] PCI host bridge to bus 0000:00
> [ 1.022727] pci_bus 0000:00: root bus resource [bus 00-ff]
> ...
> [ 1.054860] pci_bus 0000:00: root bus resource [mem
> 0xfed40000-0xfed44fff]
> [ 1.065200] pci 0000:00:00.0: [8086:3406] type 00 class 0x060000
> ...
> [ 1.066442] pci 0000:00:16.0: [8086:3430] type 00 class 0x088000
> [ 1.066459] pci 0000:00:16.0: reg 10: [mem 0xdf0e0000-0xdf0e3fff 64bit]
> ...
> [ 1.067245] pci 0000:00:16.7: [8086:342c] type 00 class 0x088000
> [ 1.067261] pci 0000:00:16.7: reg 10: [mem 0xdf0fc000-0xdf0fffff 64bit]
> [ 1.067362] pci 0000:00:1a.0: [8086:2937] type 00 class 0x0c0300
> ...
> [ 1.144174] pci 0000:00:1e.0: bridge window [mem
> 0xd0000000-0xfdffffff] (subtractive decode)
> [ 1.144176] pci 0000:00:1e.0: bridge window [mem
> 0xfed40000-0xfed44fff] (subtractive decode)
> [ 1.144234] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX1._PRT]
> ...
> [ 1.201823] ACPI: PCI Interrupt Link [LK06] (IRQs 3 4 5 6 7 10 11 14
> 15) *0, disabled.
> [ 1.210634] ACPI: PCI Interrupt Link [LK07] (IRQs 3 4 *5 6 7 10 11 14 15)
> [ 1.218252] SCSI subsystem initialized
> [ 1.222118] ACPI: bus type scsi registered
> [ 1.226390] libata version 3.00 loaded.
> [ 1.226405] ACPI: bus type usb registered
> [ 1.230546] usbcore: registered new interface driver usbfs
> [ 1.236210] usbcore: registered new interface driver hub
> [ 1.241673] usbcore: registered new device driver usb
> [ 1.246856] pps_core: LinuxPPS API ver. 1 registered
> [ 1.251935] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
> Rodolfo Giometti <giometti@linux.it>
> [ 1.261180] PTP clock support registered
> [ 1.265251] PCI: Using ACPI for IRQ routing
> [ 1.276548] PCI: Discovered peer bus fe
> [ 1.280502] PCI: root bus fe: using default resources
> [ 1.280503] PCI: Probing PCI hardware (bus fe)
> [ 1.280544] PCI host bridge to bus 0000:fe
> [ 1.284756] pci_bus 0000:fe: root bus resource [io 0x0000-0xffff]
> [ 1.291039] pci_bus 0000:fe: root bus resource [mem
> 0x00000000-0xffffffffff]
> [ 1.298198] pci_bus 0000:fe: No busn resource found for root bus,
> will use [bus fe-ff]
> [ 1.306219] pci 0000:fe:00.0: [8086:2c70] type 00 class 0x060000
> ...
> [ 1.307032] pci 0000:fe:06.3: [8086:2db3] type 00 class 0x060000
> [ 1.307092] pci_bus 0000:fe: busn_res: [bus fe-ff] end is updated to fe
> [ 1.307859] PCI: Discovered peer bus ff
> [ 1.311814] PCI: root bus ff: using default resources
> [ 1.311815] PCI: Probing PCI hardware (bus ff)
> [ 1.311850] PCI host bridge to bus 0000:ff
> [ 1.316053] pci_bus 0000:ff: root bus resource [io 0x0000-0xffff]
> [ 1.322346] pci_bus 0000:ff: root bus resource [mem
> 0x00000000-0xffffffffff]
> [ 1.329504] pci_bus 0000:ff: No busn resource found for root bus,
> will use [bus ff-ff]
> [ 1.337525] pci 0000:ff:00.0: [8086:2c70] type 00 class 0x060000
> ...
> [ 1.338386] pci 0000:ff:06.3: [8086:2db3] type 00 class 0x060000
> [ 1.338450] pci_bus 0000:ff: busn_res: [bus ff] end is updated to ff
> [ 1.339197] PCI: pci_cache_line_size set to 64 bytes
> [ 1.339469] e820: reserve RAM buffer [mem 0xcf379000-0xcfffffff]
> [ 1.339687] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0
> [ 1.345199] hpet0: 4 comparators, 64-bit 14.318180 MHz counter
> [ 1.353153] Switching to clocksource hpet
> [ 1.369117] FS-Cache: Loaded
> [ 1.372138] pnp: PnP ACPI init
> [ 1.375319] ACPI: bus type pnp registered
> [ 1.379569] pnp 00:00: [dma 4]
> ...
> [ 1.455138] pnp 00:0a: Plug and Play ACPI device, IDs PNP0103 (active)
> [ 1.455269] system 00:0b: [mem 0xfed90000-0xfed91fff] could not be
> reserved
> [ 1.462353] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (active)
> [ 1.462732] pnp: PnP ACPI: found 12 devices
> [ 1.467044] ACPI: ACPI bus type pnp unregistered
> [ 1.481774] pci 0000:06:00.1: address space collision: [mem
> 0xdf300000-0xdf37ffff pref] conflicts with 0000:06:00.0 [mem
> 0xdf300000-0xdf37ffff pref]
> [ 1.495395] pci 0000:00:01.0: PCI bridge to [bus 01]
> [ 1.500484] pci 0000:00:01.0: bridge window [mem 0xda000000-0xddffffff]
> ...
> [ 1.611994] pci 0000:00:1e.0: bridge window [mem 0xde000000-0xdeffffff]
> [ 1.623952] pci 0000:00:1e.0: bridge window [mem
> 0xd9000000-0xd97fffff 64bit pref]
> [ 1.631898] pci 0000:00:1e.0: setting latency timer to 64
> ...
> [ 1.631951] pci_bus 0000:ff: resource 5 [mem 0x00000000-0xffffffffff]
> [ 1.632012] NET: Registered protocol family 2
> [ 1.637148] TCP established hash table entries: 524288 (order: 11,
> 8388608 bytes)
> [ 1.646389] TCP bind hash table entries: 65536 (order: 10, 5242880 bytes)
> ...
> [ 1.815851] IOMMU: Setting identity map for device 0000:00:1a.7
> [0xcf4c8000 - 0xcf4dffff]
> [ 1.824137] IOMMU: Setting identity map for device 0000:00:1d.7
> [0xcf4c8000 - 0xcf4dffff]
> [ 1.832424] IOMMU: Prepare 0-16MiB unity mapping for LPC
> [ 1.837883] IOMMU: Setting identity map for device 0000:00:1f.0 [0x0
> - 0xffffff]
> [ 1.845592] PCI-DMA: Intel(R) Virtualization Technology for Directed I/O
> ...
> [ 1.923963] microcode: CPU11 sig=0x206c2, pf=0x1, revision=0x15
> [ 1.930096] microcode: Microcode Update Driver: v2.00
> <tigran@aivazian.fsnet.co.uk>, Peter Oruba
> [ 1.939117] sha1_ssse3: Using SSSE3 optimized SHA-1 implementation
> [ 1.939131] cryptomgr_test (77) used greatest stack depth: 5832 bytes
> left
> [ 1.954626] HugeTLB registered 2 MB page size, pre-allocated 0 pages
> [ 1.965735] Key type cifs.idmap registered
> [ 1.970070] SGI XFS with ACLs, security attributes, realtime, large
> block/inode numbers, no debug enabled
> [ 1.980271] msgmni has been set to 32768
> [ 1.985133] cryptomgr_test (97) used greatest stack depth: 5776 bytes
> left
> [ 1.985471] alg: No test for stdrng (krng)
> [ 1.985539] Block layer SCSI generic (bsg) driver version 0.4 loaded
> (major 250)
> [ 1.985596] io scheduler noop registered
> [ 1.985643] io scheduler cfq registered (default)
> ...
> [ 1.987902] pcieport 0000:00:0a.0: irq 79 for MSI/MSI-X
> [ 1.988057] pcieport 0000:00:01.0: Signaling PME through PCIe PME
> interrupt
> ...
> [ 1.988274] pcie_pme 0000:00:0a.0:pcie01: service driver pcie_pme loaded
> [ 1.988375] intel_idle: MWAIT substates: 0x1120
> [ 1.988375] intel_idle: v0.4 model 0x2C
> [ 1.988376] intel_idle: lapic_timer_reliable_states 0xffffffff
> [ 2.115394] cryptomgr_test (99) used greatest stack depth: 5208 bytes
> left
> [ 2.122414] ipmi message handler version 39.2
> [ 2.126909] ipmi device interface
> [ 2.130384] IPMI System Interface driver.
> [ 2.134590] ipmi_si: probing via SMBIOS
> [ 2.138537] ipmi_si: SMBIOS: io 0xca8 regsize 1 spacing 4 irq 0
> [ 2.144571] ipmi_si: Adding SMBIOS-specified kcs state machine
> [ 2.150581] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o
> address 0xca8, slave address 0x20, irq 0
> [ 2.376680] ipmi_si ipmi_si.0: Found new BMC (man_id: 0x0002a2,
> prod_id: 0x0100, dev_id: 0x20)
> [ 2.385509] ipmi_si ipmi_si.0: IPMI kcs interface initialized
> [ 2.391506] ERST: Error Record Serialization Table (ERST) support is
> initialized.
> [ 2.399478] GHES: APEI firmware first mode is enabled by APEI bit and
> WHEA _OSC.
> [ 2.406995] ioatdma: Intel(R) QuickData Technology Driver 4.00
> ...
> [ 2.416327] ioatdma 0000:00:16.7: irq 87 for MSI/MSI-X
> [ 2.450434] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [ 2.480844] 00:04: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
> [ 2.507130] 00:05: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
> [ 2.513742] Non-volatile memory driver v1.3
> [ 2.521604] brd: module loaded
> [ 2.526285] loop: module loaded
> [ 2.530376] nbd: registered device at major 43
> [ 2.537559] gpio_ich: GPIO from 195 to 255 on gpio_ich
> [ 2.543005] Loading iSCSI transport class v2.0-870.
> [ 2.548103] megasas: 06.504.01.00-rc1 Mon. Oct. 1 17:00:00 PDT 2012
> [ 2.554547] megasas: 0x1000:0x0079:0x1000:0x9275: bus 5:slot 0:func 0
> [ 2.561326] megasas: FW now in Ready state
> ...
> [ 2.844408] scsi 0:0:29:0: Direct-Access ATA Hitachi
> HUA72202 A3EA PQ: 0 ANSI: 5
> ...
> [ 2.958508] bonding: Ethernet Channel Bonding Driver: v3.7.1 (April
> 27, 2011)
> [ 2.959107] bnx2: Broadcom NetXtreme II Gigabit Ethernet Driver bnx2
> v2.2.3 (June 27, 2012)
> [ 2.959422] scsi 1:0:4:0: Direct-Access ATA Hitachi HUA72202
> A3EA PQ: 0 ANSI: 5
> [ 2.959720] bnx2 0000:01:00.0 eth0: Broadcom NetXtreme II BCM5709
> 1000Base-T (C0) PCI Express found at mem da000000, IRQ 36, node addr
> 00:26:b9:2c:a4:ef
> [ 2.960305] bnx2 0000:01:00.1 eth1: Broadcom NetXtreme II BCM5709
> 1000Base-T (C0) PCI Express found at mem dc000000, IRQ 48, node addr
> 00:26:b9:2c:a4:f1
> [ 2.960347] e1000e: Intel(R) PRO/1000 Network Driver - 2.1.4-k
> [ 2.960348] e1000e: Copyright(c) 1999 - 2012 Intel Corporation.
> [ 2.960377] e1000e 0000:03:00.0: Disabling ASPM L1
> [ 2.960470] e1000e 0000:03:00.0: Interrupt Throttling Rate (ints/sec)
> set to dynamic conservative mode
> [ 2.960511] e1000e 0000:03:00.0: irq 89 for MSI/MSI-X
> [ 3.007831] scsi 1:0:5:0: Direct-Access ATA Hitachi HUA72202
> A3EA PQ: 0 ANSI: 5
> ...
> [ 3.127317] scsi 0:0:39:0: Direct-Access ATA Hitachi
> HUA72202 A3EA PQ: 0 ANSI: 5
> [ 3.132612] e1000e 0000:03:00.0 eth2: (PCI Express:2.5GT/s:Width x4)
> 00:15:17:bf:be:b2
> [ 3.132614] e1000e 0000:03:00.0 eth2: Intel(R) PRO/1000 Network
> Connection
> [ 3.132689] e1000e 0000:03:00.0 eth2: MAC: 0, PHY: 4, PBA No: C57721-005
> [ 3.132702] e1000e 0000:03:00.1: Disabling ASPM L1
> [ 3.132795] e1000e 0000:03:00.1: Interrupt Throttling Rate (ints/sec)
> set to dynamic conservative mode
> [ 3.132836] e1000e 0000:03:00.1: irq 90 for MSI/MSI-X
> [ 3.159261] Uhhuh. NMI received for unknown reason 31 on CPU 0.
> [ 3.159261] Do you have a strange power saving mode enabled?
> [ 3.159262] Dazed and confused, but trying to continue
> [ 3.188918] dmar: DRHD: handling fault status reg 2
> [ 3.193907] dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr
> ffe76000
> [ 3.193907] DMAR:[fault reason 06] PTE Read access is not set
> [ 3.240182] scsi 0:2:0:0: Direct-Access LSI MR9280DE-8e
> 2.0. PQ: 0 ANSI: 5
> [ 3.248746] scsi 0:2:1:0: Direct-Access LSI MR9280DE-8e
> 2.0. PQ: 0 ANSI: 5
> [ 3.282652] dmar: DRHD: handling fault status reg 102
> [ 3.284312] ses 0:0:14:0: Attached Enclosure device
> [ 3.284426] ses 0:0:14:0: Attached scsi generic sg0 type 13
> [ 3.301981] dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr
> ffe8a000
> [ 3.301981] DMAR:[fault reason 06] PTE Read access is not set
> [ 3.305305] e1000e 0000:03:00.1 eth3: (PCI Express:2.5GT/s:Width x4)
> 00:15:17:bf:be:b3
> [ 3.305307] e1000e 0000:03:00.1 eth3: Intel(R) PRO/1000 Network
> Connection
> [ 3.305382] e1000e 0000:03:00.1 eth3: MAC: 0, PHY: 4, PBA No: C57721-005
> [ 3.305431] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver -
> version 3.11.33-k
> [ 3.305431] ixgbe: Copyright (c) 1999-2012 Intel Corporation.
> [ 3.350903] scsi 1:0:32:0: Enclosure DP
> BACKPLANE 1.07 PQ: 0 ANSI: 5
> [ 3.359344] dmar: DRHD: handling fault status reg 202
> [ 3.364534] dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr
> ffe89000
> [ 3.364534] DMAR:[fault reason 06] PTE Read access is not set
> [ 3.386416] ses 0:0:27:0: Attached Enclosure device
> ...
> [ 3.508700] sd 0:2:1:0: [sdb] Attached SCSI disk
> [ 3.622261] ses 1:0:32:0: Attached Enclosure device
> [ 3.627372] ses 1:0:32:0: Attached scsi generic sg4 type 13
> [ 3.733753] ixgbe 0000:06:00.0: irq 91 for MSI/MSI-X
> [ 3.733763] ixgbe 0000:06:00.0: irq 92 for MSI/MSI-X
> [ 3.733772] ixgbe 0000:06:00.0: irq 93 for MSI/MSI-X
> [ 3.733780] ixgbe 0000:06:00.0: irq 94 for MSI/MSI-X
> [ 3.733789] ixgbe 0000:06:00.0: irq 95 for MSI/MSI-X
> [ 3.733797] ixgbe 0000:06:00.0: irq 96 for MSI/MSI-X
> [ 3.733805] ixgbe 0000:06:00.0: irq 97 for MSI/MSI-X
> [ 3.733814] ixgbe 0000:06:00.0: irq 98 for MSI/MSI-X
> [ 3.733822] ixgbe 0000:06:00.0: irq 99 for MSI/MSI-X
> [ 3.733831] ixgbe 0000:06:00.0: irq 100 for MSI/MSI-X
> [ 3.733839] ixgbe 0000:06:00.0: irq 101 for MSI/MSI-X
> [ 3.733847] ixgbe 0000:06:00.0: irq 102 for MSI/MSI-X
> [ 3.733856] ixgbe 0000:06:00.0: irq 103 for MSI/MSI-X
> [ 3.733933] ixgbe 0000:06:00.0: Multiqueue Enabled: Rx Queue count =
> 12, Tx Queue count = 12
> [ 3.742464] dmar: DRHD: handling fault status reg 302
> [ 3.742467] dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr
> ffe86000
> [ 3.742467] DMAR:[fault reason 06] PTE Read access is not set
> [ 3.805353] dmar: DRHD: handling fault status reg 402
> [ 3.810529] dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr
> ffe87000
> [ 3.810529] DMAR:[fault reason 06] PTE Read access is not set
> [ 3.820908] ixgbe 0000:06:00.0: (PCI Express:5.0GT/s:Width x8)
> a0:36:9f:15:c9:c0
> [ 3.889229] dmar: DRHD: handling fault status reg 502
> [ 3.894389] dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr
> ffe84000
> [ 3.894389] DMAR:[fault reason 06] PTE Read access is not set
> ...
> [ 4.037793] sd 1:2:0:0: [sdc] Attached SCSI disk
> [ 4.062063] dmar: DRHD: handling fault status reg 702
> [ 4.067233] dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr
> ffe7f000
> [ 4.067233] DMAR:[fault reason 06] PTE Read access is not set
> [ 4.100647] sdd: sdd1
> [ 4.103655] sd 1:2:1:0: [sdd] Attached SCSI disk
> [ 4.123872] ixgbe 0000:06:00.0: Intel(R) 10 Gigabit Network Connection
> [ 4.558317] ixgbe 0000:06:00.1: irq 104 for MSI/MSI-X
> [ 4.558326] ixgbe 0000:06:00.1: irq 105 for MSI/MSI-X
> [ 4.558335] ixgbe 0000:06:00.1: irq 106 for MSI/MSI-X
> [ 4.558343] ixgbe 0000:06:00.1: irq 107 for MSI/MSI-X
> [ 4.558351] ixgbe 0000:06:00.1: irq 108 for MSI/MSI-X
> [ 4.558360] ixgbe 0000:06:00.1: irq 109 for MSI/MSI-X
> [ 4.558368] ixgbe 0000:06:00.1: irq 110 for MSI/MSI-X
> [ 4.558376] ixgbe 0000:06:00.1: irq 111 for MSI/MSI-X
> [ 4.558385] ixgbe 0000:06:00.1: irq 112 for MSI/MSI-X
> [ 4.558393] ixgbe 0000:06:00.1: irq 113 for MSI/MSI-X
> [ 4.558401] ixgbe 0000:06:00.1: irq 114 for MSI/MSI-X
> [ 4.558410] ixgbe 0000:06:00.1: irq 115 for MSI/MSI-X
> [ 4.558418] ixgbe 0000:06:00.1: irq 116 for MSI/MSI-X
> [ 4.558490] ixgbe 0000:06:00.1: Multiqueue Enabled: Rx Queue count =
> 12, Tx Queue count = 12
> [ 4.627063] ixgbe 0000:06:00.1: (PCI Express:5.0GT/s:Width x8)
> a0:36:9f:15:c9:c2
> [ 4.794640] ixgbe 0000:06:00.1: MAC: 3, PHY: 3, PBA No: G45270-002
> [ 4.943908] ixgbe 0000:06:00.1: Intel(R) 10 Gigabit Network Connection
> [ 4.950603] I2O subsystem v1.325
> [ 4.953953] i2o: max drivers = 8
> ...
> [ 5.519890] usbserial: USB Serial support registered for generic
> [ 5.526107] i8042: PNP: No PS/2 controller found. Probing ports directly.
> [ 5.535870] serio: i8042 KBD port at 0x60,0x64 irq 1
> [ 5.541055] serio: i8042 AUX port at 0x60,0x64 irq 12
> [ 5.549583] usbcore: registered new interface driver wacom
> [ 5.555277] input: PC Speaker as /devices/platform/pcspkr/input/input0
> [ 5.562198] rtc_cmos 00:03: RTC can wake from S4
> [ 5.567265] rtc_cmos 00:03: rtc core: registered rtc_cmos as rtc0
> [ 5.574040] rtc0: alarms up to one day, y3k, 242 bytes nvram, hpet irqs
> [ 5.580796] i2c /dev entries driver
> [ 5.585128] ACPI Error: No handler for Region [IPMI]
> (ffff880613c39240) [IPMI] (20121018/evregion-376)
> [ 5.594665] ACPI Error: Region IPMI (ID=7) has no handler
> (20121018/exfldio-305)
> [ 5.602573] ACPI Error: Method parse/execution failed
> [\_SB_.PMI0._GHL] (Node ffff880613c38b18), AE_NOT_EXIST
> (20121018/psparse-537)
> [ 5.614909] ACPI Error: Method parse/execution failed
> [\_SB_.PMI0._PMC] (Node ffff880613c38a78), AE_NOT_EXIST
> (20121018/psparse-537)
> [ 5.627254] ACPI Exception: AE_NOT_EXIST, Evaluating _PMC
> (20121018/power_meter-753)
> [ 5.635332] coretemp coretemp.1: TjMax is 96 degrees C
> ...
> [ 5.635573] coretemp coretemp.0: TjMax is 96 degrees C
> [ 5.635834] device-mapper: uevent: version 1.0.3
> [ 5.640724] device-mapper: ioctl: 4.23.1-ioctl (2012-12-18)
> initialised: dm-devel@redhat.com
> [ 5.649319] EDAC MC: Ver: 3.0.0
> [ 5.653653] EDAC MC1: Giving out device to 'i7core_edac.c' 'i7 core
> #1': DEV 0000:fe:03.0
> [ 5.662012] EDAC PCI0: Giving out device to module 'i7core_edac'
> controller 'EDAC PCI controller': DEV '0000:fe:03.0' (POLLED)
> [ 5.674123] EDAC MC0: Giving out device to 'i7core_edac.c' 'i7 core
> #0': DEV 0000:ff:03.0
> [ 5.682450] EDAC PCI1: Giving out device to module 'i7core_edac'
> controller 'EDAC PCI controller': DEV '0000:ff:03.0' (POLLED)
> [ 5.694321] EDAC i7core: Driver loaded, 2 memory controller(s) found.
> [ 5.701319] cpuidle: using governor ladder
> [ 5.706287] cpuidle: using governor menu
> [ 5.711285] EFI Variables Facility v0.08 2004-May-17
> [ 5.716452] dcdbas dcdbas: Dell Systems Management Base Driver
> (version 5.6.0-3.2)
> [ 5.724250] usbcore: registered new interface driver usbhid
> [ 5.729946] usbhid: USB HID core driver
> [ 5.733841] usb 7-1: new low-speed USB device number 2 using uhci_hcd
> [ 5.740464] GACT probability on
> [ 5.743781] Netfilter messages via NETLINK v0.30.
> [ 5.748733] ip_tables: (C) 2000-2006 Netfilter Core Team
> [ 5.754795] TCP: highspeed registered
> [ 5.758606] TCP: htcp registered
> [ 5.761957] TCP: scalable registered
> [ 5.765638] TCP: lp registered
> [ 5.768828] NET: Registered protocol family 17
> [ 5.773416] Key type dns_resolver registered
> [ 5.778771] registered taskstats version 1
> [ 5.785472] console [netcon0] enabled
> [ 5.789268] netconsole: network logging started
> [ 5.794417] rtc_cmos 00:03: setting system clock to 2013-03-03
> 13:36:33 UTC (1362317793)
> ...
> [ 6.034685] Freeing unused kernel memory: 2356k freed
> [ 6.040393] Write protecting the kernel read-only data: 12288k
> [ 6.055099] Freeing unused kernel memory: 1804k freed
> [ 6.066535] Freeing unused kernel memory: 1296k freed
> ...
> [ 7.272433] XFS (sdc6): Ending clean mount
> [ 8.729858] ACPI: Requesting acpi_cpufreq
> [ 8.736906] mousedev: PS/2 mouse device common for all mice
> [ 8.740862] Uhhuh. NMI received for unknown reason 31 on CPU 0.
> [ 8.740862] Do you have a strange power saving mode enabled?
> [ 8.740863] Dazed and confused, but trying to continue
> [ 8.763852] input: Power Button as
> /devices/LNXSYSTM:00/LNXPWRBN:00/input/input5
> [ 8.771464] ACPI: Power Button [PWRF]
> [ 8.816722] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.10
> [ 8.822886] iTCO_wdt: Found a ICH9 TCO device (Version=2, TCOBASE=0x0860)
> [ 8.830275] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
> [ 8.871909] kvm: VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL does not work
> properly. Using workaround
> [ 9.311531] Adding 8393924k swap on /dev/sdc5. Priority:-1 extents:1
> across:8393924k
> [ 9.898467] bio: create slab <bio-1> at 1
> [ 10.320156] bio: create slab <bio-2> at 2
> [ 12.848010] XFS (sdc2): Mounting Filesystem
> ...
> [ 14.534075] XFS (dm-6): Ending clean mount
> [ 18.538494] bonding: bond0: Setting MII monitoring interval to 250.
> [ 18.552402] bonding: bond0: Adding slave eth_s2_0.
> [ 18.620810] pps pps0: new PPS source ptp0
> [ 18.624829] ixgbe 0000:06:00.0: registered PHC device on eth_s2_0
> [ 19.055454] bonding: bond0: enslaving eth_s2_0 as an active interface
> with a down link.
> [ 19.073574] bonding: bond0: Adding slave eth_s2_1.
> [ 19.140326] pps pps1: new PPS source ptp1
> [ 19.144340] ixgbe 0000:06:00.1: registered PHC device on eth_s2_1
> [ 19.574896] bonding: bond0: enslaving eth_s2_1 as an active interface
> with a down link.
> [ 19.597337] ixgbe 0000:06:00.0 eth_s2_0: changing MTU from 1500 to 9000
> [ 20.466899] ixgbe 0000:06:00.1 eth_s2_1: changing MTU from 1500 to 9000
> [ 22.177843] e1000e 0000:03:00.0 eth0: changing MTU from 1500 to 9000
> [ 22.472021] e1000e 0000:03:00.0: irq 89 for MSI/MSI-X
> [ 22.572957] e1000e 0000:03:00.0: irq 89 for MSI/MSI-X
> [ 22.917065] e1000e 0000:03:00.1 eth1: changing MTU from 1500 to 9000
> [ 23.211319] e1000e 0000:03:00.1: irq 90 for MSI/MSI-X
> [ 23.311726] e1000e 0000:03:00.1: irq 90 for MSI/MSI-X
> [ 23.677061] bnx2 0000:01:00.0: irq 117 for MSI/MSI-X
> ...
> [ 23.677168] bnx2 0000:01:00.0: irq 125 for MSI/MSI-X
> [ 23.729930] bnx2 0000:01:00.0 eth2: using MSIX
> [ 23.730055] ip (2400) used greatest stack depth: 2096 bytes left
> [ 24.075847] bnx2 0000:01:00.1: irq 126 for MSI/MSI-X
> ...
> [ 24.075913] bnx2 0000:01:00.1: irq 134 for MSI/MSI-X
> [ 24.129293] bnx2 0000:01:00.1 eth3: using MSIX
> [ 24.776033] ixgbe 0000:06:00.0 eth_s2_0: NIC Link is Up 10 Gbps, Flow
> Control: RX/TX
> [ 24.820010] BUG: scheduling while atomic: kworker/u:2/109/0x00000002
> [ 24.826415] 4 locks held by kworker/u:2/109:
> [ 24.826425] #0: ((bond_dev->name)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 24.826428] #1: ((&(&bond->mii_work)->work)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 24.826435] #2: (rtnl_mutex){......}, at: [<ffffffff81590c00>]
> rtnl_trylock+0x10/0x20
> [ 24.826441] #3: (&bond->lock){......}, at: [<ffffffff8145af55>]
> bond_mii_monitor+0x2d5/0x630
> [ 24.826448] Modules linked in: iptable_filter kvm_intel kvm iTCO_wdt
> acpi_cpufreq mperf button mousedev processor
> [ 24.826451] Pid: 109, comm: kworker/u:2 Not tainted 3.8.1-Isht-Van #6
> [ 24.826452] Call Trace:
> [ 24.826459] [<ffffffff8162b039>] __schedule_bug+0x5e/0x6c
> [ 24.826475] [<ffffffff816345a2>] __schedule+0x762/0x7f0
> [ 24.826479] [<ffffffff81634744>] schedule+0x24/0x70
> [ 24.826488] [<ffffffff81633704>]
> schedule_hrtimeout_range_clock+0xa4/0x130
> [ 24.826495] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
> [ 24.826499] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
> [ 24.826507] [<ffffffff8163379e>] schedule_hrtimeout_range+0xe/0x10
> [ 24.826512] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
> [ 24.826518] [<ffffffff814b2d8c>] ixgbe_acquire_swfw_sync_X540+0xbc/0x100
> [ 24.826527] [<ffffffff814aeb1d>] ixgbe_read_phy_reg_generic+0x3d/0x140
> [ 24.826532] [<ffffffff814aedbc>]
> ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
> [ 24.826537] [<ffffffff8145af55>] ? bond_mii_monitor+0x2d5/0x630
> [ 24.826543] [<ffffffff814a64f4>] ixgbe_get_settings+0x34/0x340
> [ 24.826546] [<ffffffff81586ac8>] __ethtool_get_settings+0x88/0x130
> [ 24.826552] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
> [ 24.826554] [<ffffffff8145afc4>] bond_mii_monitor+0x344/0x630
> [ 24.826556] [<ffffffff8105dab1>] process_one_work+0x1a1/0x5d0
> [ 24.826558] [<ffffffff8105da4d>] ? process_one_work+0x13d/0x5d0
> [ 24.826560] [<ffffffff8145ac80>] ? bond_loadbalance_arp_mon+0x300/0x300
> [ 24.826563] [<ffffffff8105ed60>] worker_thread+0x160/0x3f0
> [ 24.826565] [<ffffffff8105ec00>] ? manage_workers+0x290/0x290
> [ 24.826569] [<ffffffff81064446>] kthread+0xd6/0xe0
> [ 24.826573] [<ffffffff8107004a>] ? finish_task_switch+0x3a/0x100
> [ 24.826576] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 24.826578] [<ffffffff81636fec>] ret_from_fork+0x7c/0xb0
> [ 24.826580] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 24.829930] BUG: scheduling while atomic: kworker/u:2/109/0x00000002
> [ 24.836284] 4 locks held by kworker/u:2/109:
> [ 24.836287] #0: ((bond_dev->name)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 24.836297] #1: ((&(&bond->mii_work)->work)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 24.836304] #2: (rtnl_mutex){......}, at: [<ffffffff81590c00>]
> rtnl_trylock+0x10/0x20
> [ 24.836312] #3: (&bond->lock){......}, at: [<ffffffff8145af55>]
> bond_mii_monitor+0x2d5/0x630
> [ 24.836320] Modules linked in: iptable_filter kvm_intel kvm iTCO_wdt
> acpi_cpufreq mperf button mousedev processor
> [ 24.836334] Pid: 109, comm: kworker/u:2 Tainted: G W
> 3.8.1-Isht-Van #6
> [ 24.836336] Call Trace:
> [ 24.836342] [<ffffffff8162b039>] __schedule_bug+0x5e/0x6c
> [ 24.836348] [<ffffffff816345a2>] __schedule+0x762/0x7f0
> [ 24.836352] [<ffffffff81634744>] schedule+0x24/0x70
> [ 24.836357] [<ffffffff81633704>]
> schedule_hrtimeout_range_clock+0xa4/0x130
> [ 24.836362] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
> [ 24.836366] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
> [ 24.836371] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
> [ 24.836375] [<ffffffff8163379e>] schedule_hrtimeout_range+0xe/0x10
> [ 24.836380] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
> [ 24.836385] [<ffffffff814b2cbe>] ixgbe_release_swfw_sync_X540+0x4e/0x60
> [ 24.836390] [<ffffffff814aebed>] ixgbe_read_phy_reg_generic+0x10d/0x140
> [ 24.836395] [<ffffffff814aedbc>]
> ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
> [ 24.836400] [<ffffffff8145af55>] ? bond_mii_monitor+0x2d5/0x630
> [ 24.836404] [<ffffffff814a64f4>] ixgbe_get_settings+0x34/0x340
> [ 24.836409] [<ffffffff81586ac8>] __ethtool_get_settings+0x88/0x130
> [ 24.836413] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
> [ 24.836418] [<ffffffff8145afc4>] bond_mii_monitor+0x344/0x630
> [ 24.836422] [<ffffffff8105dab1>] process_one_work+0x1a1/0x5d0
> [ 24.836426] [<ffffffff8105da4d>] ? process_one_work+0x13d/0x5d0
> [ 24.836431] [<ffffffff8145ac80>] ? bond_loadbalance_arp_mon+0x300/0x300
> [ 24.836436] [<ffffffff8105ed60>] worker_thread+0x160/0x3f0
> [ 24.836440] [<ffffffff8105ec00>] ? manage_workers+0x290/0x290
> [ 24.836445] [<ffffffff81064446>] kthread+0xd6/0xe0
> [ 24.836449] [<ffffffff8107004a>] ? finish_task_switch+0x3a/0x100
> [ 24.836455] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 24.836459] [<ffffffff81636fec>] ret_from_fork+0x7c/0xb0
> [ 24.836464] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 24.839952] bonding: bond0: link status definitely up for interface
> eth_s2_0, 10000 Mbps full duplex.
> [ 24.839968] bonding: bond0: first active interface up!
> [ 24.955598] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow
> Control: Rx/Tx
> [ 25.621770] ixgbe 0000:06:00.1 eth_s2_1: NIC Link is Up 10 Gbps, Flow
> Control: RX/TX
> [ 25.838277] BUG: scheduling while atomic: kworker/u:2/109/0x00000002
> [ 25.844673] 4 locks held by kworker/u:2/109:
> [ 25.844676] #0: ((bond_dev->name)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 25.844689] #1: ((&(&bond->mii_work)->work)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 25.844705] #2: (rtnl_mutex){......}, at: [<ffffffff81590c00>]
> rtnl_trylock+0x10/0x20
> [ 25.844715] #3: (&bond->lock){......}, at: [<ffffffff8145af55>]
> bond_mii_monitor+0x2d5/0x630
> [ 25.844724] Modules linked in: iptable_filter kvm_intel kvm iTCO_wdt
> acpi_cpufreq mperf button mousedev processor
> [ 25.844740] Pid: 109, comm: kworker/u:2 Tainted: G W
> 3.8.1-Isht-Van #6
> [ 25.844743] Call Trace:
> [ 25.844752] [<ffffffff8162b039>] __schedule_bug+0x5e/0x6c
> [ 25.844759] [<ffffffff816345a2>] __schedule+0x762/0x7f0
> [ 25.844764] [<ffffffff81634744>] schedule+0x24/0x70
> [ 25.844770] [<ffffffff81633704>]
> schedule_hrtimeout_range_clock+0xa4/0x130
> [ 25.844776] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
> [ 25.844781] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
> [ 25.844786] [<ffffffff8163379e>] schedule_hrtimeout_range+0xe/0x10
> [ 25.844791] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
> [ 25.844798] [<ffffffff814b2d8c>] ixgbe_acquire_swfw_sync_X540+0xbc/0x100
> [ 25.844805] [<ffffffff814aeb1d>] ixgbe_read_phy_reg_generic+0x3d/0x140
> [ 25.844811] [<ffffffff814aedbc>]
> ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
> [ 25.844818] [<ffffffff8145af55>] ? bond_mii_monitor+0x2d5/0x630
> [ 25.844832] [<ffffffff814a64f4>] ixgbe_get_settings+0x34/0x340
> [ 25.844845] [<ffffffff81586ac8>] __ethtool_get_settings+0x88/0x130
> [ 25.844858] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
> [ 25.844866] [<ffffffff8145afc4>] bond_mii_monitor+0x344/0x630
> [ 25.844871] [<ffffffff8105dab1>] process_one_work+0x1a1/0x5d0
> [ 25.844875] [<ffffffff8105da4d>] ? process_one_work+0x13d/0x5d0
> [ 25.844880] [<ffffffff8145ac80>] ? bond_loadbalance_arp_mon+0x300/0x300
> [ 25.844885] [<ffffffff8105ed60>] worker_thread+0x160/0x3f0
> [ 25.844890] [<ffffffff8105ec00>] ? manage_workers+0x290/0x290
> [ 25.844896] [<ffffffff81064446>] kthread+0xd6/0xe0
> [ 25.844901] [<ffffffff8107004a>] ? finish_task_switch+0x3a/0x100
> [ 25.844907] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 25.844911] [<ffffffff81636fec>] ret_from_fork+0x7c/0xb0
> [ 25.844916] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 25.848369] BUG: scheduling while atomic: kworker/u:2/109/0x00000002
> [ 25.854761] 4 locks held by kworker/u:2/109:
> [ 25.854764] #0: ((bond_dev->name)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 25.854774] #1: ((&(&bond->mii_work)->work)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 25.854781] #2: (rtnl_mutex){......}, at: [<ffffffff81590c00>]
> rtnl_trylock+0x10/0x20
> [ 25.854790] #3: (&bond->lock){......}, at: [<ffffffff8145af55>]
> bond_mii_monitor+0x2d5/0x630
> [ 25.854798] Modules linked in: iptable_filter kvm_intel kvm iTCO_wdt
> acpi_cpufreq mperf button mousedev processor
> [ 25.854812] Pid: 109, comm: kworker/u:2 Tainted: G W
> 3.8.1-Isht-Van #6
> [ 25.854814] Call Trace:
> [ 25.854820] [<ffffffff8162b039>] __schedule_bug+0x5e/0x6c
> [ 25.854826] [<ffffffff816345a2>] __schedule+0x762/0x7f0
> [ 25.854831] [<ffffffff81634744>] schedule+0x24/0x70
> [ 25.854835] [<ffffffff81633704>]
> schedule_hrtimeout_range_clock+0xa4/0x130
> [ 25.854840] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
> [ 25.854844] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
> [ 25.854849] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
> [ 25.854854] [<ffffffff8163379e>] schedule_hrtimeout_range+0xe/0x10
> [ 25.854858] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
> [ 25.854863] [<ffffffff814b2cbe>] ixgbe_release_swfw_sync_X540+0x4e/0x60
> [ 25.854869] [<ffffffff814aebed>] ixgbe_read_phy_reg_generic+0x10d/0x140
> [ 25.854874] [<ffffffff814aedbc>]
> ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
> [ 25.854879] [<ffffffff8145af55>] ? bond_mii_monitor+0x2d5/0x630
> [ 25.854883] [<ffffffff814a64f4>] ixgbe_get_settings+0x34/0x340
> [ 25.854888] [<ffffffff81586ac8>] __ethtool_get_settings+0x88/0x130
> [ 25.854892] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
> [ 25.854897] [<ffffffff8145afc4>] bond_mii_monitor+0x344/0x630
> [ 25.854901] [<ffffffff8105dab1>] process_one_work+0x1a1/0x5d0
> [ 25.854905] [<ffffffff8105da4d>] ? process_one_work+0x13d/0x5d0
> [ 25.854910] [<ffffffff8145ac80>] ? bond_loadbalance_arp_mon+0x300/0x300
> [ 25.854915] [<ffffffff8105ed60>] worker_thread+0x160/0x3f0
> [ 25.854920] [<ffffffff8105ec00>] ? manage_workers+0x290/0x290
> [ 25.854925] [<ffffffff81064446>] kthread+0xd6/0xe0
> [ 25.854929] [<ffffffff8107004a>] ? finish_task_switch+0x3a/0x100
> [ 25.854935] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 25.854939] [<ffffffff81636fec>] ret_from_fork+0x7c/0xb0
> [ 25.854944] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 25.858392] bonding: bond0: link status definitely up for interface
> eth_s2_1, 10000 Mbps full duplex.
> [ 27.292402] bnx2 0000:01:00.1 eth3: NIC Copper Link is Up, 1000 Mbps
> full duplex
> [ 27.292406] , receive & transmit flow control ON
> [ 28.682172] e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow
> Control: Rx/Tx
> [ 29.037441] Status code returned 0xc000005e NT_STATUS_NO_LOGON_SERVERS
> [ 29.037451] CIFS VFS: Send error in SessSetup = -5
> [ 29.043058] CIFS VFS: cifs_mount failed w/return code = -5
> [ 30.005962] Status code returned 0xc000005e NT_STATUS_NO_LOGON_SERVERS
> [ 30.005971] CIFS VFS: Send error in SessSetup = -5
> [ 30.011333] CIFS VFS: cifs_mount failed w/return code = -5
> [ 31.093294] Status code returned 0xc000000d NT_STATUS_INVALID_PARAMETER
> [ 31.093303] CIFS VFS: Send error in SessSetup = -22
> [ 31.098672] CIFS VFS: cifs_mount failed w/return code = -22
> [ 32.339022] device eth0 entered promiscuous mode
> [ 32.523684] device eth1 entered promiscuous mode
> [ 32.739312] device eth2 entered promiscuous mode
> [ 32.922051] device eth3 entered promiscuous mode
> [ 33.075705] device bond0 entered promiscuous mode
> [ 33.075711] device eth_s2_0 entered promiscuous mode
> [ 33.076022] device eth_s2_1 entered promiscuous mode
> [ 34.783087] u32 classifier
> [ 34.783089] Performance counters on
> [ 34.783090] input device check on
> [ 34.783091] Actions configured
> [ 40.834154] bnx2 0000:01:00.0 eth2: NIC Copper Link is Up, 100 Mbps
> full duplex
> [ 40.834158] , receive & transmit flow control ON
>
>
>
^ permalink raw reply
* Re: [PATCH net-next 11/12] ipvs: reorder keys in connection structure
From: Hans Schillstrom @ 2013-03-07 7:49 UTC (permalink / raw)
To: Julian Anastasov; +Cc: Simon Horman, lvs-devel, netdev
In-Reply-To: <alpine.LFD.2.00.1303062246480.1899@ja.ssi.bg>
[-- Attachment #1: Type: text/plain, Size: 5410 bytes --]
Hi Julian
On Wed, 2013-03-06 at 23:01 +0200, Julian Anastasov wrote:
> Hello,
>
> On Wed, 6 Mar 2013, Hans Schillstrom wrote:
>
> > Hi Julian
> > Great job you have done !
> > I'll test it immediate...
>
> Thanks, it would be good to catch the problems
> in early phase...
>
> > On Wed, 2013-03-06 at 10:42 +0200, Julian Anastasov wrote:
> > > __ip_vs_conn_in_get and ip_vs_conn_out_get are
> > > hot places. Optimize them, so that ports are matched first.
> > > By moving net and fwmark below, on 32-bit arch we can fit
> > > caddr in 32-byte cache line and all addresses in 64-byte
> > > cache line.
> >
> > Earlier I made some rearrangements like the one you have made.
> > My conclusion at that time was that the best gain was to have
> > fwmark and net within the first 64 bytes, and move daddr to the next
> > cache line.
>
> But fwmark is used only for lookups in backup
> server. The net field is checked first only in
> ip_vs_ct_in_get (on scheduling), it can be optimized too.
> Modern CPUs have 64-byte cache line and may be the
> places of these fields do not play much because checking
> the two ports is enough to differentiate most of the
> connections. The addresses play when ports do not
> differ, i.e. mostly for persistent connections. So,
> on 64-byte cache line it would be more difficult to
> see any difference.
I made some tests on weaker machine (i7-3930K) with moderate background
load, there is absolute no measurable difference with daddr in first
cache line or in second line.
So based on that I prefer your solution since it keeps data together.
> > I uesd UDP at ~7Gbit/sec and 256k source address into a x86_64 machine,
> > and a 50/50 mix of fwmarks and port in that tests.
> >
> > I guess that you have made similar test, and even take
> > ip_vs_conn_out_get() into your calculations ?
>
> No, I have only virtual boxes for tests...
>
> > Regards
> > Hans
> >
> > >
> > > Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Hans Schillstrom <hans@schillstrom.com>
> > > ---
> > > include/net/ip_vs.h | 12 ++++++------
> > > net/netfilter/ipvs/ip_vs_conn.c | 8 ++++----
> > > 2 files changed, 10 insertions(+), 10 deletions(-)
> > >
> > > diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
> > > index 9059360..2bc30e6 100644
> > > --- a/include/net/ip_vs.h
> > > +++ b/include/net/ip_vs.h
> > > @@ -566,20 +566,19 @@ struct ip_vs_conn_param {
> > > */
> > > struct ip_vs_conn {
> > > struct hlist_node c_list; /* hashed list heads */
> > > -#ifdef CONFIG_NET_NS
> > > - struct net *net; /* Name space */
> > > -#endif
> > > /* Protocol, addresses and port numbers */
> > > - u16 af; /* address family */
> > > __be16 cport;
> > > - __be16 vport;
> > > __be16 dport;
> > > - __u32 fwmark; /* Fire wall mark from skb */
> > > + __be16 vport;
> > > + u16 af; /* address family */
> > > union nf_inet_addr caddr; /* client address */
> > > union nf_inet_addr vaddr; /* virtual address */
> > > union nf_inet_addr daddr; /* destination address */
> > > volatile __u32 flags; /* status flags */
> > > __u16 protocol; /* Which protocol (TCP/UDP) */
> > > +#ifdef CONFIG_NET_NS
> > > + struct net *net; /* Name space */
> > > +#endif
> > >
> > > /* counter and timer */
> > > atomic_t refcnt; /* reference count */
> > > @@ -593,6 +592,7 @@ struct ip_vs_conn {
> > > * state transition triggerd
> > > * synchronization
> > > */
> > > + __u32 fwmark; /* Fire wall mark from skb */
> > > unsigned long sync_endtime; /* jiffies + sent_retries */
> > >
> > > /* Control members */
> > > diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
> > > index b0cd2be..a4d8ec5 100644
> > > --- a/net/netfilter/ipvs/ip_vs_conn.c
> > > +++ b/net/netfilter/ipvs/ip_vs_conn.c
> > > @@ -265,8 +265,8 @@ __ip_vs_conn_in_get(const struct ip_vs_conn_param *p)
> > > rcu_read_lock();
> > >
> > > hlist_for_each_entry_rcu(cp, &ip_vs_conn_tab[hash], c_list) {
> > > - if (cp->af == p->af &&
> > > - p->cport == cp->cport && p->vport == cp->vport &&
> > > + if (p->cport == cp->cport && p->vport == cp->vport &&
> > > + cp->af == p->af &&
> > > ip_vs_addr_equal(p->af, p->caddr, &cp->caddr) &&
> > > ip_vs_addr_equal(p->af, p->vaddr, &cp->vaddr) &&
> > > ((!p->cport) ^ (!(cp->flags & IP_VS_CONN_F_NO_CPORT))) &&
> > > @@ -404,8 +404,8 @@ struct ip_vs_conn *ip_vs_conn_out_get(const struct ip_vs_conn_param *p)
> > > rcu_read_lock();
> > >
> > > hlist_for_each_entry_rcu(cp, &ip_vs_conn_tab[hash], c_list) {
> > > - if (cp->af == p->af &&
> > > - p->vport == cp->cport && p->cport == cp->dport &&
> > > + if (p->vport == cp->cport && p->cport == cp->dport &&
> > > + cp->af == p->af &&
> > > ip_vs_addr_equal(p->af, p->vaddr, &cp->caddr) &&
> > > ip_vs_addr_equal(p->af, p->caddr, &cp->daddr) &&
> > > p->protocol == cp->protocol &&
>
> Regards
>
> --
> Julian Anastasov <ja@ssi.bg>
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 6177 bytes --]
^ permalink raw reply
* Re: upgrade to 3.8.1 : BUG Scheduling while atomic in bonding driver:
From: Michael Wang @ 2013-03-07 8:04 UTC (permalink / raw)
To: Linda Walsh
Cc: Eric Dumazet, Linux-Kernel, netdev, Jay Vosburgh, Jeff Kirsher,
Cong Wang
In-Reply-To: <51383C47.7050009@tlinx.org>
On 03/07/2013 03:05 PM, Linda Walsh wrote:
[snip]
> [ 24.820010] BUG: scheduling while atomic: kworker/u:2/109/0x00000002
> [ 24.826415] 4 locks held by kworker/u:2/109:
> [ 24.826425] #0: ((bond_dev->name)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 24.826428] #1: ((&(&bond->mii_work)->work)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 24.826435] #2: (rtnl_mutex){......}, at: [<ffffffff81590c00>]
> rtnl_trylock+0x10/0x20
> [ 24.826441] #3: (&bond->lock){......}, at: [<ffffffff8145af55>]
> bond_mii_monitor+0x2d5/0x630
> [ 24.826448] Modules linked in: iptable_filter kvm_intel kvm iTCO_wdt
> acpi_cpufreq mperf button mousedev processor
> [ 24.826451] Pid: 109, comm: kworker/u:2 Not tainted 3.8.1-Isht-Van #6
> [ 24.826452] Call Trace:
> [ 24.826459] [<ffffffff8162b039>] __schedule_bug+0x5e/0x6c
> [ 24.826475] [<ffffffff816345a2>] __schedule+0x762/0x7f0
> [ 24.826479] [<ffffffff81634744>] schedule+0x24/0x70
> [ 24.826488] [<ffffffff81633704>]
> schedule_hrtimeout_range_clock+0xa4/0x130
> [ 24.826495] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
> [ 24.826499] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
> [ 24.826507] [<ffffffff8163379e>] schedule_hrtimeout_range+0xe/0x10
> [ 24.826512] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
> [ 24.826518] [<ffffffff814b2d8c>] ixgbe_acquire_swfw_sync_X540+0xbc/0x100
> [ 24.826527] [<ffffffff814aeb1d>] ixgbe_read_phy_reg_generic+0x3d/0x140
> [ 24.826532] [<ffffffff814aedbc>]
> ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
> [ 24.826537] [<ffffffff8145af55>] ? bond_mii_monitor+0x2d5/0x630
> [ 24.826543] [<ffffffff814a64f4>] ixgbe_get_settings+0x34/0x340
> [ 24.826546] [<ffffffff81586ac8>] __ethtool_get_settings+0x88/0x130
> [ 24.826552] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
> [ 24.826554] [<ffffffff8145afc4>] bond_mii_monitor+0x344/0x630
And both bond_enslave() and bond_mii_monitor() are using bond_update_speed_duplex()
with preempt disabled.
Along with the changes in bond_enslave(), I think you also need this (untested):
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 11d01d6..9af143a 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -2373,7 +2373,9 @@ static void bond_miimon_commit(struct bonding *bond)
bond_set_backup_slave(slave);
}
+ read_unlock(&bond->lock);
bond_update_speed_duplex(slave);
+ read_lock(&bond->lock);
pr_info("%s: link status definitely up for interface %s, %u Mbps %s duplex.\n",
bond->dev->name, slave->dev->name,
Regards,
Michael Wang
> [ 24.826556] [<ffffffff8105dab1>] process_one_work+0x1a1/0x5d0
> [ 24.826558] [<ffffffff8105da4d>] ? process_one_work+0x13d/0x5d0
> [ 24.826560] [<ffffffff8145ac80>] ? bond_loadbalance_arp_mon+0x300/0x300
> [ 24.826563] [<ffffffff8105ed60>] worker_thread+0x160/0x3f0
> [ 24.826565] [<ffffffff8105ec00>] ? manage_workers+0x290/0x290
> [ 24.826569] [<ffffffff81064446>] kthread+0xd6/0xe0
> [ 24.826573] [<ffffffff8107004a>] ? finish_task_switch+0x3a/0x100
> [ 24.826576] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 24.826578] [<ffffffff81636fec>] ret_from_fork+0x7c/0xb0
> [ 24.826580] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 24.829930] BUG: scheduling while atomic: kworker/u:2/109/0x00000002
> [ 24.836284] 4 locks held by kworker/u:2/109:
> [ 24.836287] #0: ((bond_dev->name)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 24.836297] #1: ((&(&bond->mii_work)->work)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 24.836304] #2: (rtnl_mutex){......}, at: [<ffffffff81590c00>]
> rtnl_trylock+0x10/0x20
> [ 24.836312] #3: (&bond->lock){......}, at: [<ffffffff8145af55>]
> bond_mii_monitor+0x2d5/0x630
> [ 24.836320] Modules linked in: iptable_filter kvm_intel kvm iTCO_wdt
> acpi_cpufreq mperf button mousedev processor
> [ 24.836334] Pid: 109, comm: kworker/u:2 Tainted: G W
> 3.8.1-Isht-Van #6
> [ 24.836336] Call Trace:
> [ 24.836342] [<ffffffff8162b039>] __schedule_bug+0x5e/0x6c
> [ 24.836348] [<ffffffff816345a2>] __schedule+0x762/0x7f0
> [ 24.836352] [<ffffffff81634744>] schedule+0x24/0x70
> [ 24.836357] [<ffffffff81633704>]
> schedule_hrtimeout_range_clock+0xa4/0x130
> [ 24.836362] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
> [ 24.836366] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
> [ 24.836371] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
> [ 24.836375] [<ffffffff8163379e>] schedule_hrtimeout_range+0xe/0x10
> [ 24.836380] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
> [ 24.836385] [<ffffffff814b2cbe>] ixgbe_release_swfw_sync_X540+0x4e/0x60
> [ 24.836390] [<ffffffff814aebed>] ixgbe_read_phy_reg_generic+0x10d/0x140
> [ 24.836395] [<ffffffff814aedbc>]
> ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
> [ 24.836400] [<ffffffff8145af55>] ? bond_mii_monitor+0x2d5/0x630
> [ 24.836404] [<ffffffff814a64f4>] ixgbe_get_settings+0x34/0x340
> [ 24.836409] [<ffffffff81586ac8>] __ethtool_get_settings+0x88/0x130
> [ 24.836413] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
> [ 24.836418] [<ffffffff8145afc4>] bond_mii_monitor+0x344/0x630
> [ 24.836422] [<ffffffff8105dab1>] process_one_work+0x1a1/0x5d0
> [ 24.836426] [<ffffffff8105da4d>] ? process_one_work+0x13d/0x5d0
> [ 24.836431] [<ffffffff8145ac80>] ? bond_loadbalance_arp_mon+0x300/0x300
> [ 24.836436] [<ffffffff8105ed60>] worker_thread+0x160/0x3f0
> [ 24.836440] [<ffffffff8105ec00>] ? manage_workers+0x290/0x290
> [ 24.836445] [<ffffffff81064446>] kthread+0xd6/0xe0
> [ 24.836449] [<ffffffff8107004a>] ? finish_task_switch+0x3a/0x100
> [ 24.836455] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 24.836459] [<ffffffff81636fec>] ret_from_fork+0x7c/0xb0
> [ 24.836464] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 24.839952] bonding: bond0: link status definitely up for interface
> eth_s2_0, 10000 Mbps full duplex.
> [ 24.839968] bonding: bond0: first active interface up!
> [ 24.955598] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow
> Control: Rx/Tx
> [ 25.621770] ixgbe 0000:06:00.1 eth_s2_1: NIC Link is Up 10 Gbps, Flow
> Control: RX/TX
> [ 25.838277] BUG: scheduling while atomic: kworker/u:2/109/0x00000002
> [ 25.844673] 4 locks held by kworker/u:2/109:
> [ 25.844676] #0: ((bond_dev->name)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 25.844689] #1: ((&(&bond->mii_work)->work)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 25.844705] #2: (rtnl_mutex){......}, at: [<ffffffff81590c00>]
> rtnl_trylock+0x10/0x20
> [ 25.844715] #3: (&bond->lock){......}, at: [<ffffffff8145af55>]
> bond_mii_monitor+0x2d5/0x630
> [ 25.844724] Modules linked in: iptable_filter kvm_intel kvm iTCO_wdt
> acpi_cpufreq mperf button mousedev processor
> [ 25.844740] Pid: 109, comm: kworker/u:2 Tainted: G W
> 3.8.1-Isht-Van #6
> [ 25.844743] Call Trace:
> [ 25.844752] [<ffffffff8162b039>] __schedule_bug+0x5e/0x6c
> [ 25.844759] [<ffffffff816345a2>] __schedule+0x762/0x7f0
> [ 25.844764] [<ffffffff81634744>] schedule+0x24/0x70
> [ 25.844770] [<ffffffff81633704>]
> schedule_hrtimeout_range_clock+0xa4/0x130
> [ 25.844776] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
> [ 25.844781] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
> [ 25.844786] [<ffffffff8163379e>] schedule_hrtimeout_range+0xe/0x10
> [ 25.844791] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
> [ 25.844798] [<ffffffff814b2d8c>] ixgbe_acquire_swfw_sync_X540+0xbc/0x100
> [ 25.844805] [<ffffffff814aeb1d>] ixgbe_read_phy_reg_generic+0x3d/0x140
> [ 25.844811] [<ffffffff814aedbc>]
> ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
> [ 25.844818] [<ffffffff8145af55>] ? bond_mii_monitor+0x2d5/0x630
> [ 25.844832] [<ffffffff814a64f4>] ixgbe_get_settings+0x34/0x340
> [ 25.844845] [<ffffffff81586ac8>] __ethtool_get_settings+0x88/0x130
> [ 25.844858] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
> [ 25.844866] [<ffffffff8145afc4>] bond_mii_monitor+0x344/0x630
> [ 25.844871] [<ffffffff8105dab1>] process_one_work+0x1a1/0x5d0
> [ 25.844875] [<ffffffff8105da4d>] ? process_one_work+0x13d/0x5d0
> [ 25.844880] [<ffffffff8145ac80>] ? bond_loadbalance_arp_mon+0x300/0x300
> [ 25.844885] [<ffffffff8105ed60>] worker_thread+0x160/0x3f0
> [ 25.844890] [<ffffffff8105ec00>] ? manage_workers+0x290/0x290
> [ 25.844896] [<ffffffff81064446>] kthread+0xd6/0xe0
> [ 25.844901] [<ffffffff8107004a>] ? finish_task_switch+0x3a/0x100
> [ 25.844907] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 25.844911] [<ffffffff81636fec>] ret_from_fork+0x7c/0xb0
> [ 25.844916] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 25.848369] BUG: scheduling while atomic: kworker/u:2/109/0x00000002
> [ 25.854761] 4 locks held by kworker/u:2/109:
> [ 25.854764] #0: ((bond_dev->name)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 25.854774] #1: ((&(&bond->mii_work)->work)){......}, at:
> [<ffffffff8105da4d>] process_one_work+0x13d/0x5d0
> [ 25.854781] #2: (rtnl_mutex){......}, at: [<ffffffff81590c00>]
> rtnl_trylock+0x10/0x20
> [ 25.854790] #3: (&bond->lock){......}, at: [<ffffffff8145af55>]
> bond_mii_monitor+0x2d5/0x630
> [ 25.854798] Modules linked in: iptable_filter kvm_intel kvm iTCO_wdt
> acpi_cpufreq mperf button mousedev processor
> [ 25.854812] Pid: 109, comm: kworker/u:2 Tainted: G W
> 3.8.1-Isht-Van #6
> [ 25.854814] Call Trace:
> [ 25.854820] [<ffffffff8162b039>] __schedule_bug+0x5e/0x6c
> [ 25.854826] [<ffffffff816345a2>] __schedule+0x762/0x7f0
> [ 25.854831] [<ffffffff81634744>] schedule+0x24/0x70
> [ 25.854835] [<ffffffff81633704>]
> schedule_hrtimeout_range_clock+0xa4/0x130
> [ 25.854840] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
> [ 25.854844] [<ffffffff81068250>] ? update_rmtp+0x60/0x60
> [ 25.854849] [<ffffffff81068f9f>] ? hrtimer_start_range_ns+0xf/0x20
> [ 25.854854] [<ffffffff8163379e>] schedule_hrtimeout_range+0xe/0x10
> [ 25.854858] [<ffffffff8104ec1b>] usleep_range+0x3b/0x40
> [ 25.854863] [<ffffffff814b2cbe>] ixgbe_release_swfw_sync_X540+0x4e/0x60
> [ 25.854869] [<ffffffff814aebed>] ixgbe_read_phy_reg_generic+0x10d/0x140
> [ 25.854874] [<ffffffff814aedbc>]
> ixgbe_get_copper_link_capabilities_generic+0x2c/0x60
> [ 25.854879] [<ffffffff8145af55>] ? bond_mii_monitor+0x2d5/0x630
> [ 25.854883] [<ffffffff814a64f4>] ixgbe_get_settings+0x34/0x340
> [ 25.854888] [<ffffffff81586ac8>] __ethtool_get_settings+0x88/0x130
> [ 25.854892] [<ffffffff814568a3>] bond_update_speed_duplex+0x23/0x60
> [ 25.854897] [<ffffffff8145afc4>] bond_mii_monitor+0x344/0x630
> [ 25.854901] [<ffffffff8105dab1>] process_one_work+0x1a1/0x5d0
> [ 25.854905] [<ffffffff8105da4d>] ? process_one_work+0x13d/0x5d0
> [ 25.854910] [<ffffffff8145ac80>] ? bond_loadbalance_arp_mon+0x300/0x300
> [ 25.854915] [<ffffffff8105ed60>] worker_thread+0x160/0x3f0
> [ 25.854920] [<ffffffff8105ec00>] ? manage_workers+0x290/0x290
> [ 25.854925] [<ffffffff81064446>] kthread+0xd6/0xe0
> [ 25.854929] [<ffffffff8107004a>] ? finish_task_switch+0x3a/0x100
> [ 25.854935] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 25.854939] [<ffffffff81636fec>] ret_from_fork+0x7c/0xb0
> [ 25.854944] [<ffffffff81064370>] ? flush_kthread_worker+0x160/0x160
> [ 25.858392] bonding: bond0: link status definitely up for interface
> eth_s2_1, 10000 Mbps full duplex.
> [ 27.292402] bnx2 0000:01:00.1 eth3: NIC Copper Link is Up, 1000 Mbps
> full duplex
> [ 27.292406] , receive & transmit flow control ON
> [ 28.682172] e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow
> Control: Rx/Tx
> [ 29.037441] Status code returned 0xc000005e NT_STATUS_NO_LOGON_SERVERS
> [ 29.037451] CIFS VFS: Send error in SessSetup = -5
> [ 29.043058] CIFS VFS: cifs_mount failed w/return code = -5
> [ 30.005962] Status code returned 0xc000005e NT_STATUS_NO_LOGON_SERVERS
> [ 30.005971] CIFS VFS: Send error in SessSetup = -5
> [ 30.011333] CIFS VFS: cifs_mount failed w/return code = -5
> [ 31.093294] Status code returned 0xc000000d NT_STATUS_INVALID_PARAMETER
> [ 31.093303] CIFS VFS: Send error in SessSetup = -22
> [ 31.098672] CIFS VFS: cifs_mount failed w/return code = -22
> [ 32.339022] device eth0 entered promiscuous mode
> [ 32.523684] device eth1 entered promiscuous mode
> [ 32.739312] device eth2 entered promiscuous mode
> [ 32.922051] device eth3 entered promiscuous mode
> [ 33.075705] device bond0 entered promiscuous mode
> [ 33.075711] device eth_s2_0 entered promiscuous mode
> [ 33.076022] device eth_s2_1 entered promiscuous mode
> [ 34.783087] u32 classifier
> [ 34.783089] Performance counters on
> [ 34.783090] input device check on
> [ 34.783091] Actions configured
> [ 40.834154] bnx2 0000:01:00.0 eth2: NIC Copper Link is Up, 100 Mbps
> full duplex
> [ 40.834158] , receive & transmit flow control ON
>
>
>
^ permalink raw reply related
* Re: [PATCH net-next 1/3] net: stmmac: add gmac autoneg set for SGMII, TBI, and RTBI
From: Giuseppe CAVALLARO @ 2013-03-07 8:50 UTC (permalink / raw)
To: Byungho An
Cc: netdev, linux-kernel, davem, jeffrey.t.kirsher, kgene.kim, cpgs
In-Reply-To: <022601ce1a20$ff6b2290$fe4167b0$%an@samsung.com>
On 3/6/2013 5:13 AM, Byungho An wrote:
> Hello Peppe,
>> If you agree, you could also re-send *all* to the mailing list to
>> be finally reviewed.
>>
>
> Anyway, in my opinion, you can take them in your tree for now with my
> tested-by if you want. Of course, I'll implement additional patches as you
> requested on top of them for remained stuff such as SGMII, TBI, ethtool and
> so on.
> I think those should be separated for each purpose and we can add and modify
> after those two patches.
Ok Byungho, I'm preparing a new update for the stmmac that will also
include the initial support for SGMII and RGMII. Thx to have tested it!
Obviously on top of these patches, feel free to add further code.
TBI and RTBI are not supported yet.
P.S. in this update I've also added the ethtool missing stuff ;-)
Peppe
^ permalink raw reply
* upgrade to 3.8.1 : BUG Scheduling while atomic in bonding driver:
From: Linda Walsh @ 2013-03-07 8:52 UTC (permalink / raw)
To: LKML, Linux Kernel Network Developers
I am *not* seeing the bug in 3.8.2 with the 2nd patch applied (in
addition to the first)...
Michael Wang wrote:
>
>
> And both bond_enslave() and bond_mii_monitor() are using bond_update_speed_duplex()
> with preempt disabled.
>
> Along with the changes in bond_enslave(), I think you also need this (untested):
>
> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
> index 11d01d6..9af143a 100644
> --- a/drivers/net/bonding/bond_main.c
> +++ b/drivers/net/bonding/bond_main.c
> @@ -2373,7 +2373,9 @@ static void bond_miimon_commit(struct bonding *bond)
> bond_set_backup_slave(slave);
> }
>
> + read_unlock(&bond->lock);
> bond_update_speed_duplex(slave);
> + read_lock(&bond->lock);
>
> pr_info("%s: link status definitely up for interface %s, %u Mbps %s duplex.\n",
> bond->dev->name, slave->dev->name,
>
>
> Regards,
> Michael Wang
>
>
>
^ permalink raw reply
* Re: upgrade to 3.8.1 : BUG Scheduling while atomic in bonding driver:
From: Michael Wang @ 2013-03-07 9:50 UTC (permalink / raw)
To: Linda Walsh
Cc: Eric Dumazet, Linux-Kernel, netdev, Jay Vosburgh, Jeff Kirsher,
Cong Wang
In-Reply-To: <513854E6.9010709@tlinx.org>
On 03/07/2013 04:50 PM, Linda Walsh wrote:
>
> I am *not* seeing the bug in 3.8.2 with the 2nd patch applied (in
> addition to the first)...
So that means bond lock is the reason, nice, but this is really not a
good fix if we just unlock it...
The better way is to move the cycle wait logical out of the
bond_update_speed_duplex() IMO, I think we need the folk who work on
this driver to make the decision ;-)
Regards,
Michael Wang
>
>
> Michael Wang wrote:
>>
>>
>> And both bond_enslave() and bond_mii_monitor() are using bond_update_speed_duplex()
>> with preempt disabled.
>>
>> Along with the changes in bond_enslave(), I think you also need this (untested):
>>
>> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
>> index 11d01d6..9af143a 100644
>> --- a/drivers/net/bonding/bond_main.c
>> +++ b/drivers/net/bonding/bond_main.c
>> @@ -2373,7 +2373,9 @@ static void bond_miimon_commit(struct bonding *bond)
>> bond_set_backup_slave(slave);
>> }
>>
>> + read_unlock(&bond->lock);
>> bond_update_speed_duplex(slave);
>> + read_lock(&bond->lock);
>>
>> pr_info("%s: link status definitely up for interface %s, %u Mbps %s duplex.\n",
>> bond->dev->name, slave->dev->name,
>>
>>
>> Regards,
>> Michael Wang
>>
>>
>>
>
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox