* Re: [PATCH 20/34] myri10ge: Use pci_enable_msix_range()
From: Hyong-Youb Kim @ 2014-02-01 14:13 UTC (permalink / raw)
To: Sergei Shtylyov, Alexander Gordeev, linux-kernel
Cc: Hyong-Youb Kim, netdev, linux-pci
In-Reply-To: <52EBF885.30309@cogentembedded.com>
On 2/1/2014 4:24 AM, Sergei Shtylyov wrote:
> Hello.
>
> On 01/31/2014 06:08 PM, Alexander Gordeev wrote:
>
[...]
>> + if (status < 0)
>> + goto disable_msix;
>
> Hm, if enabling MSI failed, we don't need to disable it, right? So,
> perhaps the label should be renamed?
>
The code following disable_msix does not call pci_disable_msix(). It
frees the allocated vector buffer and loads the firmware that uses a
single interrupt vector. So, it is "disable" in the sense that the
driver is not going to use MSI-X vectors. I agree that naming could be
better.
disable_msix:
if (mgp->msix_vectors != NULL) {
kfree(mgp->msix_vectors);
mgp->msix_vectors = NULL;
}
abort_with_fw:
mgp->num_slices = 1;
set_fw_name(mgp, old_fw, old_allocated);
myri10ge_load_firmware(mgp, 0);
^ permalink raw reply
* Re: [PATCH RFC 1/1] usb: Tell xhci when usb data might be misaligned
From: Ming Lei @ 2014-02-01 14:18 UTC (permalink / raw)
To: Mark Lord
Cc: Sarah Sharp, Bjørn Mork, David Laight,
linux-usb@vger.kernel.org, netdev@vger.kernel.org,
Greg Kroah-Hartman, David Miller, Dan Williams, Nyman, Mathias,
Alan Stern, Freddy Xin
In-Reply-To: <52ECF6F5.6060207@pobox.com>
On Sat, Feb 1, 2014 at 9:30 PM, Mark Lord <mlord@pobox.com> wrote:
> On 14-02-01 02:54 AM, Ming Lei wrote:
> ..
>> With SG enabled, for the iperf client test case, the average urb size
>> for transmission will be increased from ~1500 to ~20K bytes in my
>> test case:
>>
>> iperf -c $SRV -t 30 -P 4 -w 128K
>>
>> So I am wondering you guys do not care the improvement ..
>
> No, that's not it. Simply, the recent changes killed the driver
I just want to clarify the sg approach does improve performance,
instead of no improvement mentioned by your guys.
> for some users, something Linus calls a "regression", and does not permit.
Even real regressions are easily/often introduced, and we are discussing
how to fix that. I suggest to unset the flag only for the known buggy
controllers.
Thanks,
--
Ming Lei
^ permalink raw reply
* Re: [PATCH RFC 1/1] usb: Tell xhci when usb data might be misaligned
From: Mark Lord @ 2014-02-01 20:05 UTC (permalink / raw)
To: Ming Lei
Cc: Sarah Sharp, Bjørn Mork, David Laight,
linux-usb@vger.kernel.org, netdev@vger.kernel.org,
Greg Kroah-Hartman, David Miller, Dan Williams, Nyman, Mathias,
Alan Stern, Freddy Xin
In-Reply-To: <CACVXFVOynsojKo+aukHY4q+MkEyhHXC0=OpN0ysu0TGuUjY8sA@mail.gmail.com>
On 14-02-01 09:18 AM, Ming Lei wrote:
>
> Even real regressions are easily/often introduced, and we are discussing
> how to fix that. I suggest to unset the flag only for the known buggy
> controllers.
It is not the controllers that are particularly "buggy" here.
But rather the drivers and design of parts of the kernel.
Cheers
--
Mark Lord
Real-Time Remedies Inc.
mlord@pobox.com
^ permalink raw reply
* Re: BUG ip_dst_cache (Not tainted): Poison overwritten
From: Tommi Rantala @ 2014-02-01 20:29 UTC (permalink / raw)
To: Eric Dumazet; +Cc: netdev, Dave Jones, trinity, LKML
In-Reply-To: <1391201873.28432.86.camel@edumazet-glaptop2.roam.corp.google.com>
2014-01-31 Eric Dumazet <eric.dumazet@gmail.com>:
> On Fri, 2014-01-31 at 22:11 +0200, Tommi Rantala wrote:
>> Hello,
>>
>> Hit this while fuzzing v3.13-9218-g0e47c96 with trinity in a qemu
>> virtual machine.
>>
>> Tommi
>
> Hi Tommi
>
> Could you please try the following fix ?
Thanks, giving this a spin. This does not reproduce very easily with
Trinity, I'll let you know if anything blows up.
Tommi
> I'll send an official patch in a couple of hours
>
> There are two bugs :
> One dst leak, and one plain bug, as rt initial NULL
> value might be scratched.
>
> net/ipv4/ip_tunnel.c | 27 ++++++++++-----------------
> 1 file changed, 10 insertions(+), 17 deletions(-)
>
> diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c
> index bd28f386bd02..bc6acdcb7625 100644
> --- a/net/ipv4/ip_tunnel.c
> +++ b/net/ipv4/ip_tunnel.c
> @@ -101,27 +101,21 @@ static void tunnel_dst_reset_all(struct ip_tunnel *t)
> __tunnel_dst_set(per_cpu_ptr(t->dst_cache, i), NULL);
> }
>
> -static struct dst_entry *tunnel_dst_get(struct ip_tunnel *t)
> +static struct dst_entry *tunnel_dst_check(struct ip_tunnel *t, u32 cookie)
> {
> struct dst_entry *dst;
>
> rcu_read_lock();
> dst = rcu_dereference(this_cpu_ptr(t->dst_cache)->dst);
> - if (dst)
> + if (dst) {
> + if (dst->obsolete && dst->ops->check(dst, cookie) == NULL) {
> + rcu_read_unlock();
> + tunnel_dst_reset(t);
> + return NULL;
> + }
> dst_hold(dst);
> - rcu_read_unlock();
> - return dst;
> -}
> -
> -static struct dst_entry *tunnel_dst_check(struct ip_tunnel *t, u32 cookie)
> -{
> - struct dst_entry *dst = tunnel_dst_get(t);
> -
> - if (dst && dst->obsolete && dst->ops->check(dst, cookie) == NULL) {
> - tunnel_dst_reset(t);
> - return NULL;
> }
> -
> + rcu_read_unlock();
> return dst;
> }
>
> @@ -584,7 +578,7 @@ void ip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev,
> struct flowi4 fl4;
> u8 tos, ttl;
> __be16 df;
> - struct rtable *rt = NULL; /* Route to the other host */
> + struct rtable *rt; /* Route to the other host */
> unsigned int max_headroom; /* The extra header space needed */
> __be32 dst;
> int err;
> @@ -657,8 +651,7 @@ void ip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev,
> init_tunnel_flow(&fl4, protocol, dst, tnl_params->saddr,
> tunnel->parms.o_key, RT_TOS(tos), tunnel->parms.link);
>
> - if (connected)
> - rt = (struct rtable *)tunnel_dst_check(tunnel, 0);
> + rt = (connected) ? (struct rtable *)tunnel_dst_check(tunnel, 0) : NULL;
>
> if (!rt) {
> rt = ip_route_output_key(tunnel->net, &fl4);
>
>
^ permalink raw reply
* Re: [PATCH RESEND net-next] bonding: don't permit slaves to change their mtu independently
From: David Miller @ 2014-02-02 0:53 UTC (permalink / raw)
To: dingtianhong; +Cc: fubar, vfalico, andy, netdev
In-Reply-To: <52E343AD.3080402@huawei.com>
From: Ding Tianhong <dingtianhong@huawei.com>
Date: Sat, 25 Jan 2014 12:55:09 +0800
> I have come to a conclusion by testing all modes for mtu changing:
>
> 1). If the slaves support changing mtu and no need to restart the device,
> just like virtual nic, the master will not lost any packages for all
> mode.
>
> 2). If the slaves support changing mtu and need to restart the device,
> just like Intel 82599, the AB, 802.3, ALB and TLB mode may lost
> packages, but other modes could work well.
>
> The reason is that when the slave's mtu has been changed, the slave's hw will
> restart, if the slave is current active slave, the master may set the
> slave to backup state and reselect a new slave, after the reselect processing,
> the master could work again, but if in load-balance mode, the master could
> select another active slave to send and recv packages.
>
> So the best way to fix the problem is don't permit slave to change their
> mtu independently.
>
> Cc: Jay Vosburgh <fubar@us.ibm.com>
> Cc: Veaceslav Falico <vfalico@redhat.com>
> Cc: Andy Gospodarek <andy@greyhouse.net>
> Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
This has been rotting in patchwork for a week, and desperately needs
someone to review it.
^ permalink raw reply
* Re: [PATCH RESEND net-next v3 0/2] bonding: Fix some issues for fail_over_mac
From: David Miller @ 2014-02-02 0:53 UTC (permalink / raw)
To: dingtianhong; +Cc: fubar, vfalico, netdev, andy
In-Reply-To: <52E3447B.6050206@huawei.com>
From: Ding Tianhong <dingtianhong@huawei.com>
Date: Sat, 25 Jan 2014 12:58:35 +0800
> The parameter fail_over_mac only affect active-backup mode, if it was
> set to active or follow and works with other modes, just like RR or XOR
> mode, the bonding could not set all slaves to the master's address, it
> will cause the slave could not work well with master.
>
> v1->v2: According Jay's suggestion, that we should permit setting an option
> at any time, but only have it take effect in active-backup mode, so
> I add mode checking together with fail_over_mac during enslavement and
> rebuild the patches.
>
> v2->v3: The correct way to fix the problem is that we should not add restrictions when
> setting options, just need to modify the bond enslave and removal processing
> to check the mode in addition to fail_over_mac when setting a slave's MAC during
> enslavement. The change active slave processing already only calls the fail_over_mac
> function when in active-backup mode.
>
> Remove the cleanup patch because the net-next is frozen now.
This series has been rotting in patchwork for a week, and desperately
needs someone to review it.
^ permalink raw reply
* Re: [PATCH v2 0/4] OpenCores 10/100 MAC ethtool operations
From: David Miller @ 2014-02-02 0:57 UTC (permalink / raw)
To: jcmvbkbc; +Cc: netdev, linux-kernel, ben, f.fainelli, marc
In-Reply-To: <1391146867-30508-1-git-send-email-jcmvbkbc@gmail.com>
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Fri, 31 Jan 2014 09:41:03 +0400
> Hello David, Ben, Florian and everybody,
>
> this series implements ethtool callbacks for the ethoc driver as was
> requested by Florian.
>
> Changes v1->v2:
> - fix {get,set}_settings return code in case there's no PHY;
> - fix set_ringparam: check ring sizes, change ring sizes on the fly.
Series applied, thanks.
^ permalink raw reply
* Re: [PATCH][trivial] vxlan: remove extra newline after function definition
From: David Miller @ 2014-02-02 0:58 UTC (permalink / raw)
To: dbaluta; +Cc: netdev
In-Reply-To: <1391154612-5682-1-git-send-email-dbaluta@ixiacom.com>
From: Daniel Baluta <dbaluta@ixiacom.com>
Date: Fri, 31 Jan 2014 09:50:12 +0200
> Signed-off-by: Daniel Baluta <dbaluta@ixiacom.com>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH 0/2] Drivers: net: hyperv: Cleanup the recive path
From: David Miller @ 2014-02-02 1:01 UTC (permalink / raw)
To: kys; +Cc: olaf, netdev, jasowang, linux-kernel, apw, devel
In-Reply-To: <1391185478-5655-1-git-send-email-kys@microsoft.com>
From: "K. Y. Srinivasan" <kys@microsoft.com>
Date: Fri, 31 Jan 2014 08:24:38 -0800
> Some minor cleanup of the receive path. Get rid of unnecessary
> indirection as well as unnecessary re-establishment of state.
It is not appropriate to submit cleanups at this time.
Please wait until the net-next tree opens back up, and submit
your changes against it at that time.
^ permalink raw reply
* LOAN
From: Mr. Duke @ 2014-02-01 17:05 UTC (permalink / raw)
To: Recipients
We offer all kinds of loan at 3% interest rate.. If interested, reply us now for more details via email: macrofinancefirm@live.com
^ permalink raw reply
* inet_diag_dump_icsk() change seems bogus...
From: David Miller @ 2014-02-02 8:45 UTC (permalink / raw)
To: netdev; +Cc: ncardwell
Upon further review, commit 70315d22d3c7383f9a508d0aab21e2eb35b2303a
("inet_diag: fix inet_diag_dump_icsk() to use correct state for
timewait sockets") doesn't seem valid to me.
Take a close look at get_tcp4_sock() and get_timewait4_sock() which
you reference in your commit message.
The former always gets it's socket from head->chain and the latter
always gets it's socket from head->twchain.
Yet in this inet_diag_dump_icsk() change, you're changing the
head->chain iterator to check for timewait sockets. That doesn't
seem possible.
Only head->twchain holds timewait sockets, and this code was handling
it correctly already.
What gives?
^ permalink raw reply
* Re: mlx4: Use pci_enable_msix_range()
From: Amir Vadai @ 2014-02-02 9:43 UTC (permalink / raw)
To: Alexander Gordeev; +Cc: linux-kernel, David S. Miller, netdev, linux-pci
In-Reply-To: <2f6674dabb90d4cbca3ef4039c3b893f2e5e9ec4.1391172839.git.agordeev@redhat.com>
On 31/01/14 16:08 +0100, Alexander Gordeev wrote:
> As result of deprecation of MSI-X/MSI enablement functions
> pci_enable_msix() and pci_enable_msi_block() all drivers
> using these two interfaces need to be updated to use the
> new pci_enable_msi_range() and pci_enable_msix_range()
> interfaces.
>
> Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
> ---
> drivers/net/ethernet/mellanox/mlx4/main.c | 19 ++++---------------
> 1 files changed, 4 insertions(+), 15 deletions(-)
>
Acked By: Amir Vadai <amirv@mellanox.com>
^ permalink raw reply
* Re: [Xen-devel] [PATCH v6] xen/grant-table: Avoid m2p_override during mapping
From: Julien Grall @ 2014-02-02 10:29 UTC (permalink / raw)
To: Stefano Stabellini, Zoltan Kiss
Cc: jonathan.davies, wei.liu2, ian.campbell, netdev, linux-kernel,
xen-devel
In-Reply-To: <alpine.DEB.2.02.1401232333280.15917@kaball.uk.xensource.com>
On 23/01/14 23:34, Stefano Stabellini wrote:
> On Thu, 23 Jan 2014, Zoltan Kiss wrote:
>> The grant mapping API does m2p_override unnecessarily: only gntdev needs it,
>> for blkback and future netback patches it just cause a lock contention, as
>> those pages never go to userspace. Therefore this series does the following:
>> - the original functions were renamed to __gnttab_[un]map_refs, with a new
>> parameter m2p_override
>> - based on m2p_override either they follow the original behaviour, or just set
>> the private flag and call set_phys_to_machine
>> - gnttab_[un]map_refs are now a wrapper to call __gnttab_[un]map_refs with
>> m2p_override false
>> - a new function gnttab_[un]map_refs_userspace provides the old behaviour
>>
>> It also removes a stray space from page.h and change ret to 0 if
>> XENFEAT_auto_translated_physmap, as that is the only possible return value
>> there.
>>
>> v2:
>> - move the storing of the old mfn in page->index to gnttab_map_refs
>> - move the function header update to a separate patch
>>
>> v3:
>> - a new approach to retain old behaviour where it needed
>> - squash the patches into one
>>
>> v4:
>> - move out the common bits from m2p* functions, and pass pfn/mfn as parameter
>> - clear page->private before doing anything with the page, so m2p_find_override
>> won't race with this
>>
>> v5:
>> - change return value handling in __gnttab_[un]map_refs
>> - remove a stray space in page.h
>> - add detail why ret = 0 now at some places
>>
>> v6:
>> - don't pass pfn to m2p* functions, just get it locally
>>
>> Signed-off-by: Zoltan Kiss <zoltan.kiss@citrix.com>
>> Suggested-by: David Vrabel <david.vrabel@citrix.com>
>
> Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Hello,
This patch is breaking Linux compilation on ARM:
drivers/xen/grant-table.c: In function ‘__gnttab_map_refs’:
drivers/xen/grant-table.c:989:3: error: implicit declaration of function ‘FOREIGN_FRAME’ [-Werror=implicit-function-declaration]
if (unlikely(!set_phys_to_machine(pfn, FOREIGN_FRAME(mfn)))) {
^
drivers/xen/grant-table.c: In function ‘__gnttab_unmap_refs’:
drivers/xen/grant-table.c:1054:3: error: implicit declaration of function ‘get_phys_to_machine’ [-Werror=implicit-function-declaration]
mfn = get_phys_to_machine(pfn);
^
drivers/xen/grant-table.c:1055:43: error: ‘FOREIGN_FRAME_BIT’ undeclared (first use in this function)
if (mfn == INVALID_P2M_ENTRY || !(mfn & FOREIGN_FRAME_BIT)) {
^
drivers/xen/grant-table.c:1055:43: note: each undeclared identifier is reported only once for each function it appears in
drivers/xen/grant-table.c:1068:9: error: too many arguments to function ‘m2p_remove_override’
mfn);
^
In file included from include/xen/page.h:4:0,
from drivers/xen/grant-table.c:48:
/local/home/julien/works/midway/linux/arch/arm/include/asm/xen/page.h:106:19: note: declared here
static inline int m2p_remove_override(struct page *page, bool clear_pte)
^
cc1: some warnings being treated as errors
>
>
>
>> arch/x86/include/asm/xen/page.h | 5 +-
>> arch/x86/xen/p2m.c | 17 +------
>> drivers/block/xen-blkback/blkback.c | 15 +++---
>> drivers/xen/gntdev.c | 13 +++--
>> drivers/xen/grant-table.c | 89 ++++++++++++++++++++++++++++++-----
>> include/xen/grant_table.h | 8 +++-
>> 6 files changed, 101 insertions(+), 46 deletions(-)
>>
>> diff --git a/arch/x86/include/asm/xen/page.h b/arch/x86/include/asm/xen/page.h
>> index b913915..ce47243 100644
>> --- a/arch/x86/include/asm/xen/page.h
>> +++ b/arch/x86/include/asm/xen/page.h
>> @@ -52,7 +52,8 @@ extern unsigned long set_phys_range_identity(unsigned long pfn_s,
>> extern int m2p_add_override(unsigned long mfn, struct page *page,
>> struct gnttab_map_grant_ref *kmap_op);
>> extern int m2p_remove_override(struct page *page,
>> - struct gnttab_map_grant_ref *kmap_op);
>> + struct gnttab_map_grant_ref *kmap_op,
>> + unsigned long mfn);
>> extern struct page *m2p_find_override(unsigned long mfn);
>> extern unsigned long m2p_find_override_pfn(unsigned long mfn, unsigned long pfn);
>>
>> @@ -121,7 +122,7 @@ static inline unsigned long mfn_to_pfn(unsigned long mfn)
>> pfn = m2p_find_override_pfn(mfn, ~0);
>> }
>>
>> - /*
>> + /*
>> * pfn is ~0 if there are no entries in the m2p for mfn or if the
>> * entry doesn't map back to the mfn and m2p_override doesn't have a
>> * valid entry for it.
>> diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
>> index 2ae8699..bd4724b 100644
>> --- a/arch/x86/xen/p2m.c
>> +++ b/arch/x86/xen/p2m.c
>> @@ -888,13 +888,6 @@ int m2p_add_override(unsigned long mfn, struct page *page,
>> "m2p_add_override: pfn %lx not mapped", pfn))
>> return -EINVAL;
>> }
>> - WARN_ON(PagePrivate(page));
>> - SetPagePrivate(page);
>> - set_page_private(page, mfn);
>> - page->index = pfn_to_mfn(pfn);
>> -
>> - if (unlikely(!set_phys_to_machine(pfn, FOREIGN_FRAME(mfn))))
>> - return -ENOMEM;
>>
>> if (kmap_op != NULL) {
>> if (!PageHighMem(page)) {
>> @@ -933,19 +926,16 @@ int m2p_add_override(unsigned long mfn, struct page *page,
>> }
>> EXPORT_SYMBOL_GPL(m2p_add_override);
>> int m2p_remove_override(struct page *page,
>> - struct gnttab_map_grant_ref *kmap_op)
>> + struct gnttab_map_grant_ref *kmap_op,
>> + unsigned long mfn)
>> {
>> unsigned long flags;
>> - unsigned long mfn;
>> unsigned long pfn;
>> unsigned long uninitialized_var(address);
>> unsigned level;
>> pte_t *ptep = NULL;
>>
>> pfn = page_to_pfn(page);
>> - mfn = get_phys_to_machine(pfn);
>> - if (mfn == INVALID_P2M_ENTRY || !(mfn & FOREIGN_FRAME_BIT))
>> - return -EINVAL;
>>
>> if (!PageHighMem(page)) {
>> address = (unsigned long)__va(pfn << PAGE_SHIFT);
>> @@ -959,10 +949,7 @@ int m2p_remove_override(struct page *page,
>> spin_lock_irqsave(&m2p_override_lock, flags);
>> list_del(&page->lru);
>> spin_unlock_irqrestore(&m2p_override_lock, flags);
>> - WARN_ON(!PagePrivate(page));
>> - ClearPagePrivate(page);
>>
>> - set_phys_to_machine(pfn, page->index);
>> if (kmap_op != NULL) {
>> if (!PageHighMem(page)) {
>> struct multicall_space mcs;
>> diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
>> index 6620b73..875025f 100644
>> --- a/drivers/block/xen-blkback/blkback.c
>> +++ b/drivers/block/xen-blkback/blkback.c
>> @@ -285,8 +285,7 @@ static void free_persistent_gnts(struct xen_blkif *blkif, struct rb_root *root,
>>
>> if (++segs_to_unmap == BLKIF_MAX_SEGMENTS_PER_REQUEST ||
>> !rb_next(&persistent_gnt->node)) {
>> - ret = gnttab_unmap_refs(unmap, NULL, pages,
>> - segs_to_unmap);
>> + ret = gnttab_unmap_refs(unmap, pages, segs_to_unmap);
>> BUG_ON(ret);
>> put_free_pages(blkif, pages, segs_to_unmap);
>> segs_to_unmap = 0;
>> @@ -321,8 +320,7 @@ static void unmap_purged_grants(struct work_struct *work)
>> pages[segs_to_unmap] = persistent_gnt->page;
>>
>> if (++segs_to_unmap == BLKIF_MAX_SEGMENTS_PER_REQUEST) {
>> - ret = gnttab_unmap_refs(unmap, NULL, pages,
>> - segs_to_unmap);
>> + ret = gnttab_unmap_refs(unmap, pages, segs_to_unmap);
>> BUG_ON(ret);
>> put_free_pages(blkif, pages, segs_to_unmap);
>> segs_to_unmap = 0;
>> @@ -330,7 +328,7 @@ static void unmap_purged_grants(struct work_struct *work)
>> kfree(persistent_gnt);
>> }
>> if (segs_to_unmap > 0) {
>> - ret = gnttab_unmap_refs(unmap, NULL, pages, segs_to_unmap);
>> + ret = gnttab_unmap_refs(unmap, pages, segs_to_unmap);
>> BUG_ON(ret);
>> put_free_pages(blkif, pages, segs_to_unmap);
>> }
>> @@ -670,15 +668,14 @@ static void xen_blkbk_unmap(struct xen_blkif *blkif,
>> GNTMAP_host_map, pages[i]->handle);
>> pages[i]->handle = BLKBACK_INVALID_HANDLE;
>> if (++invcount == BLKIF_MAX_SEGMENTS_PER_REQUEST) {
>> - ret = gnttab_unmap_refs(unmap, NULL, unmap_pages,
>> - invcount);
>> + ret = gnttab_unmap_refs(unmap, unmap_pages, invcount);
>> BUG_ON(ret);
>> put_free_pages(blkif, unmap_pages, invcount);
>> invcount = 0;
>> }
>> }
>> if (invcount) {
>> - ret = gnttab_unmap_refs(unmap, NULL, unmap_pages, invcount);
>> + ret = gnttab_unmap_refs(unmap, unmap_pages, invcount);
>> BUG_ON(ret);
>> put_free_pages(blkif, unmap_pages, invcount);
>> }
>> @@ -740,7 +737,7 @@ again:
>> }
>>
>> if (segs_to_map) {
>> - ret = gnttab_map_refs(map, NULL, pages_to_gnt, segs_to_map);
>> + ret = gnttab_map_refs(map, pages_to_gnt, segs_to_map);
>> BUG_ON(ret);
>> }
>>
>> diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c
>> index e41c79c..e652c0e 100644
>> --- a/drivers/xen/gntdev.c
>> +++ b/drivers/xen/gntdev.c
>> @@ -284,8 +284,10 @@ static int map_grant_pages(struct grant_map *map)
>> }
>>
>> pr_debug("map %d+%d\n", map->index, map->count);
>> - err = gnttab_map_refs(map->map_ops, use_ptemod ? map->kmap_ops : NULL,
>> - map->pages, map->count);
>> + err = gnttab_map_refs_userspace(map->map_ops,
>> + use_ptemod ? map->kmap_ops : NULL,
>> + map->pages,
>> + map->count);
>> if (err)
>> return err;
>>
>> @@ -315,9 +317,10 @@ static int __unmap_grant_pages(struct grant_map *map, int offset, int pages)
>> }
>> }
>>
>> - err = gnttab_unmap_refs(map->unmap_ops + offset,
>> - use_ptemod ? map->kmap_ops + offset : NULL, map->pages + offset,
>> - pages);
>> + err = gnttab_unmap_refs_userspace(map->unmap_ops + offset,
>> + use_ptemod ? map->kmap_ops + offset : NULL,
>> + map->pages + offset,
>> + pages);
>> if (err)
>> return err;
>>
>> diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c
>> index aa846a4..e4ddfeb 100644
>> --- a/drivers/xen/grant-table.c
>> +++ b/drivers/xen/grant-table.c
>> @@ -880,15 +880,17 @@ void gnttab_batch_copy(struct gnttab_copy *batch, unsigned count)
>> }
>> EXPORT_SYMBOL_GPL(gnttab_batch_copy);
>>
>> -int gnttab_map_refs(struct gnttab_map_grant_ref *map_ops,
>> +int __gnttab_map_refs(struct gnttab_map_grant_ref *map_ops,
>> struct gnttab_map_grant_ref *kmap_ops,
>> - struct page **pages, unsigned int count)
>> + struct page **pages, unsigned int count,
>> + bool m2p_override)
>> {
>> int i, ret;
>> bool lazy = false;
>> pte_t *pte;
>> - unsigned long mfn;
>> + unsigned long mfn, pfn;
>>
>> + BUG_ON(kmap_ops && !m2p_override);
>> ret = HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref, map_ops, count);
>> if (ret)
>> return ret;
>> @@ -907,10 +909,12 @@ int gnttab_map_refs(struct gnttab_map_grant_ref *map_ops,
>> set_phys_to_machine(map_ops[i].host_addr >> PAGE_SHIFT,
>> map_ops[i].dev_bus_addr >> PAGE_SHIFT);
>> }
>> - return ret;
>> + return 0;
>> }
>>
>> - if (!in_interrupt() && paravirt_get_lazy_mode() == PARAVIRT_LAZY_NONE) {
>> + if (m2p_override &&
>> + !in_interrupt() &&
>> + paravirt_get_lazy_mode() == PARAVIRT_LAZY_NONE) {
>> arch_enter_lazy_mmu_mode();
>> lazy = true;
>> }
>> @@ -927,8 +931,20 @@ int gnttab_map_refs(struct gnttab_map_grant_ref *map_ops,
>> } else {
>> mfn = PFN_DOWN(map_ops[i].dev_bus_addr);
>> }
>> - ret = m2p_add_override(mfn, pages[i], kmap_ops ?
>> - &kmap_ops[i] : NULL);
>> + pfn = page_to_pfn(pages[i]);
>> +
>> + WARN_ON(PagePrivate(pages[i]));
>> + SetPagePrivate(pages[i]);
>> + set_page_private(pages[i], mfn);
>> +
>> + pages[i]->index = pfn_to_mfn(pfn);
>> + if (unlikely(!set_phys_to_machine(pfn, FOREIGN_FRAME(mfn)))) {
>> + ret = -ENOMEM;
>> + goto out;
>> + }
>> + if (m2p_override)
>> + ret = m2p_add_override(mfn, pages[i], kmap_ops ?
>> + &kmap_ops[i] : NULL);
>> if (ret)
>> goto out;
>> }
>> @@ -939,15 +955,32 @@ int gnttab_map_refs(struct gnttab_map_grant_ref *map_ops,
>>
>> return ret;
>> }
>> +
>> +int gnttab_map_refs(struct gnttab_map_grant_ref *map_ops,
>> + struct page **pages, unsigned int count)
>> +{
>> + return __gnttab_map_refs(map_ops, NULL, pages, count, false);
>> +}
>> EXPORT_SYMBOL_GPL(gnttab_map_refs);
>>
>> -int gnttab_unmap_refs(struct gnttab_unmap_grant_ref *unmap_ops,
>> +int gnttab_map_refs_userspace(struct gnttab_map_grant_ref *map_ops,
>> + struct gnttab_map_grant_ref *kmap_ops,
>> + struct page **pages, unsigned int count)
>> +{
>> + return __gnttab_map_refs(map_ops, kmap_ops, pages, count, true);
>> +}
>> +EXPORT_SYMBOL_GPL(gnttab_map_refs_userspace);
>> +
>> +int __gnttab_unmap_refs(struct gnttab_unmap_grant_ref *unmap_ops,
>> struct gnttab_map_grant_ref *kmap_ops,
>> - struct page **pages, unsigned int count)
>> + struct page **pages, unsigned int count,
>> + bool m2p_override)
>> {
>> int i, ret;
>> bool lazy = false;
>> + unsigned long pfn, mfn;
>>
>> + BUG_ON(kmap_ops && !m2p_override);
>> ret = HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, unmap_ops, count);
>> if (ret)
>> return ret;
>> @@ -958,17 +991,33 @@ int gnttab_unmap_refs(struct gnttab_unmap_grant_ref *unmap_ops,
>> set_phys_to_machine(unmap_ops[i].host_addr >> PAGE_SHIFT,
>> INVALID_P2M_ENTRY);
>> }
>> - return ret;
>> + return 0;
>> }
>>
>> - if (!in_interrupt() && paravirt_get_lazy_mode() == PARAVIRT_LAZY_NONE) {
>> + if (m2p_override &&
>> + !in_interrupt() &&
>> + paravirt_get_lazy_mode() == PARAVIRT_LAZY_NONE) {
>> arch_enter_lazy_mmu_mode();
>> lazy = true;
>> }
>>
>> for (i = 0; i < count; i++) {
>> - ret = m2p_remove_override(pages[i], kmap_ops ?
>> - &kmap_ops[i] : NULL);
>> + pfn = page_to_pfn(pages[i]);
>> + mfn = get_phys_to_machine(pfn);
>> + if (mfn == INVALID_P2M_ENTRY || !(mfn & FOREIGN_FRAME_BIT)) {
>> + ret = -EINVAL;
>> + goto out;
>> + }
>> +
>> + set_page_private(pages[i], INVALID_P2M_ENTRY);
>> + WARN_ON(!PagePrivate(pages[i]));
>> + ClearPagePrivate(pages[i]);
>> + set_phys_to_machine(pfn, pages[i]->index);
>> + if (m2p_override)
>> + ret = m2p_remove_override(pages[i],
>> + kmap_ops ?
>> + &kmap_ops[i] : NULL,
>> + mfn);
>> if (ret)
>> goto out;
>> }
>> @@ -979,8 +1028,22 @@ int gnttab_unmap_refs(struct gnttab_unmap_grant_ref *unmap_ops,
>>
>> return ret;
>> }
>> +
>> +int gnttab_unmap_refs(struct gnttab_unmap_grant_ref *map_ops,
>> + struct page **pages, unsigned int count)
>> +{
>> + return __gnttab_unmap_refs(map_ops, NULL, pages, count, false);
>> +}
>> EXPORT_SYMBOL_GPL(gnttab_unmap_refs);
>>
>> +int gnttab_unmap_refs_userspace(struct gnttab_unmap_grant_ref *map_ops,
>> + struct gnttab_map_grant_ref *kmap_ops,
>> + struct page **pages, unsigned int count)
>> +{
>> + return __gnttab_unmap_refs(map_ops, kmap_ops, pages, count, true);
>> +}
>> +EXPORT_SYMBOL_GPL(gnttab_unmap_refs_userspace);
>> +
>> static unsigned nr_status_frames(unsigned nr_grant_frames)
>> {
>> BUG_ON(grefs_per_grant_frame == 0);
>> diff --git a/include/xen/grant_table.h b/include/xen/grant_table.h
>> index 694dcaf..9a919b1 100644
>> --- a/include/xen/grant_table.h
>> +++ b/include/xen/grant_table.h
>> @@ -184,11 +184,15 @@ unsigned int gnttab_max_grant_frames(void);
>> #define gnttab_map_vaddr(map) ((void *)(map.host_virt_addr))
>>
>> int gnttab_map_refs(struct gnttab_map_grant_ref *map_ops,
>> - struct gnttab_map_grant_ref *kmap_ops,
>> struct page **pages, unsigned int count);
>> +int gnttab_map_refs_userspace(struct gnttab_map_grant_ref *map_ops,
>> + struct gnttab_map_grant_ref *kmap_ops,
>> + struct page **pages, unsigned int count);
>> int gnttab_unmap_refs(struct gnttab_unmap_grant_ref *unmap_ops,
>> - struct gnttab_map_grant_ref *kunmap_ops,
>> struct page **pages, unsigned int count);
>> +int gnttab_unmap_refs_userspace(struct gnttab_unmap_grant_ref *unmap_ops,
>> + struct gnttab_map_grant_ref *kunmap_ops,
>> + struct page **pages, unsigned int count);
>>
>> /* Perform a batch of grant map/copy operations. Retry every batch slot
>> * for which the hypervisor returns GNTST_eagain. This is typically due
>> --
>> 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/
>>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>
--
Julien Grall
^ permalink raw reply
* [PATCH net V1] net/ipv4: Use proper RCU APIs for writer-side in udp_offload.c
From: Or Gerlitz @ 2014-02-02 13:42 UTC (permalink / raw)
To: davem; +Cc: netdev, Shlomo Pongratz, Eric Dumazet, Or Gerlitz
From: Shlomo Pongratz <shlomop@mellanox.com>
RCU writer side should use rcu_dereference_protected() and not
rcu_dereference(), fix that. This also removes the "suspicious RCU usage"
warning seen when running with CONFIG_PROVE_RCU.
Also, don't use rcu_assign_pointer/rcu_dereference for pointers
which are invisible beyond the udp offload code.
Fixes: b582ef0 ('net: Add GRO support for UDP encapsulating protocols')
Reported-by: Eric Dumazet <edumazet@google.com>
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com>
---
changes from V0, followed feedback from Eric:
- avoid using rcu_assign_pointer/rcu_dereference for pointers which are
invisible beyond the udp offload code in udp_add_offload
- set a udp_deref_protected(X) macro to make the code more readable and easy
to indent
net/ipv4/udp_offload.c | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/net/ipv4/udp_offload.c b/net/ipv4/udp_offload.c
index 2ffea6f..88b4023 100644
--- a/net/ipv4/udp_offload.c
+++ b/net/ipv4/udp_offload.c
@@ -17,6 +17,8 @@
static DEFINE_SPINLOCK(udp_offload_lock);
static struct udp_offload_priv __rcu *udp_offload_base __read_mostly;
+#define udp_deref_protected(X) rcu_dereference_protected(X, lockdep_is_held(&udp_offload_lock))
+
struct udp_offload_priv {
struct udp_offload *offload;
struct rcu_head rcu;
@@ -100,7 +102,6 @@ out:
int udp_add_offload(struct udp_offload *uo)
{
- struct udp_offload_priv __rcu **head = &udp_offload_base;
struct udp_offload_priv *new_offload = kzalloc(sizeof(*new_offload), GFP_ATOMIC);
if (!new_offload)
@@ -109,8 +110,8 @@ int udp_add_offload(struct udp_offload *uo)
new_offload->offload = uo;
spin_lock(&udp_offload_lock);
- rcu_assign_pointer(new_offload->next, rcu_dereference(*head));
- rcu_assign_pointer(*head, new_offload);
+ new_offload->next = udp_offload_base;
+ rcu_assign_pointer(udp_offload_base, new_offload);
spin_unlock(&udp_offload_lock);
return 0;
@@ -130,12 +131,12 @@ void udp_del_offload(struct udp_offload *uo)
spin_lock(&udp_offload_lock);
- uo_priv = rcu_dereference(*head);
+ uo_priv = udp_deref_protected(*head);
for (; uo_priv != NULL;
- uo_priv = rcu_dereference(*head)) {
-
+ uo_priv = udp_deref_protected(*head)) {
if (uo_priv->offload == uo) {
- rcu_assign_pointer(*head, rcu_dereference(uo_priv->next));
+ rcu_assign_pointer(*head,
+ udp_deref_protected(uo_priv->next));
goto unlock;
}
head = &uo_priv->next;
--
1.7.1
^ permalink raw reply related
* Re: inet_diag_dump_icsk() change seems bogus...
From: Neal Cardwell @ 2014-02-02 15:43 UTC (permalink / raw)
To: David Miller; +Cc: Netdev
In-Reply-To: <20140202.004538.1011276314292086521.davem@davemloft.net>
Hi David,
That was true in 3.12 and earlier, but AFAICT since Eric's 05dbc7b
("tcp/dccp: remove twchain") in 3.13-rc1, there is no head->twchain,
and instead all the connections (both tcp_sock and timewait flavor)
are on the head->chain, so that we do need to check for timewait
sockets. :-)
neal
On Sun, Feb 2, 2014 at 3:45 AM, David Miller <davem@davemloft.net> wrote:
>
> Upon further review, commit 70315d22d3c7383f9a508d0aab21e2eb35b2303a
> ("inet_diag: fix inet_diag_dump_icsk() to use correct state for
> timewait sockets") doesn't seem valid to me.
>
> Take a close look at get_tcp4_sock() and get_timewait4_sock() which
> you reference in your commit message.
>
> The former always gets it's socket from head->chain and the latter
> always gets it's socket from head->twchain.
>
> Yet in this inet_diag_dump_icsk() change, you're changing the
> head->chain iterator to check for timewait sockets. That doesn't
> seem possible.
>
> Only head->twchain holds timewait sockets, and this code was handling
> it correctly already.
>
> What gives?
^ permalink raw reply
* Re: Patchset - Support for configurable RSS hash key
From: Amir Vadai @ 2014-02-02 16:10 UTC (permalink / raw)
To: Venkata Duvvuru; +Cc: netdev@vger.kernel.org, Ben Hutchings
In-Reply-To: <BF3270C86E8B1349A26C34E4EC1C44CB2C83D8B7@CMEXMB1.ad.emulex.com>
On 17/01/14 13:02 +0000, Venkata Duvvuru wrote:
> NIC drivers that support RSS use either a hard-coded value or a random value for the RSS hash key. Irrespective of the type of the key used, the user would want to change the hash key if he/she is not satisfied with the effectiveness of the default hash-key in spreading the incoming flows evenly across the RSS queues.
>
> This patch set provides support for configuring the RSS hash-key via the ethtool interface.
>
> The patch set consists of:
> a) ethtool user-land patches
> b) ethtool kernel patch
> c) be2net patch that implements the ethtool hooks
Hi,
I would be happy to add support in setting the hash function in
addition to the hash key.
Mellanox NIC's have support in 2 hash functions: Toplitz and XOR.
Let me if you can add it to your patchset or would like me to send a
patch on top of yours to add it.
Thanks,
Amir
^ permalink raw reply
* Re: [PATCH net V1] net/ipv4: Use proper RCU APIs for writer-side in udp_offload.c
From: Eric Dumazet @ 2014-02-02 18:49 UTC (permalink / raw)
To: Or Gerlitz; +Cc: davem, netdev, Shlomo Pongratz, Eric Dumazet
In-Reply-To: <1391348530-31643-1-git-send-email-ogerlitz@mellanox.com>
On Sun, 2014-02-02 at 15:42 +0200, Or Gerlitz wrote:
> From: Shlomo Pongratz <shlomop@mellanox.com>
>
> RCU writer side should use rcu_dereference_protected() and not
> rcu_dereference(), fix that. This also removes the "suspicious RCU usage"
> warning seen when running with CONFIG_PROVE_RCU.
>
> Also, don't use rcu_assign_pointer/rcu_dereference for pointers
> which are invisible beyond the udp offload code.
>
> Fixes: b582ef0 ('net: Add GRO support for UDP encapsulating protocols')
> Reported-by: Eric Dumazet <edumazet@google.com>
> Cc: Eric Dumazet <edumazet@google.com>
> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
> Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com>
> ---
Acked-by: Eric Dumazet <edumazet@google.com>
^ permalink raw reply
* Re: [Xen-devel] [PATCH v6] xen/grant-table: Avoid m2p_override during mapping
From: Zoltan Kiss @ 2014-02-02 18:52 UTC (permalink / raw)
To: Julien Grall, Stefano Stabellini
Cc: jonathan.davies, wei.liu2, ian.campbell, netdev, linux-kernel,
xen-devel, David Vrabel
In-Reply-To: <52EE1E26.2040308@linaro.org>
On 02/02/14 11:29, Julien Grall wrote:
> Hello,
>
> This patch is breaking Linux compilation on ARM:
>
> drivers/xen/grant-table.c: In function ‘__gnttab_map_refs’:
> drivers/xen/grant-table.c:989:3: error: implicit declaration of function ‘FOREIGN_FRAME’ [-Werror=implicit-function-declaration]
> if (unlikely(!set_phys_to_machine(pfn, FOREIGN_FRAME(mfn)))) {
> ^
> drivers/xen/grant-table.c: In function ‘__gnttab_unmap_refs’:
> drivers/xen/grant-table.c:1054:3: error: implicit declaration of function ‘get_phys_to_machine’ [-Werror=implicit-function-declaration]
> mfn = get_phys_to_machine(pfn);
> ^
> drivers/xen/grant-table.c:1055:43: error: ‘FOREIGN_FRAME_BIT’ undeclared (first use in this function)
> if (mfn == INVALID_P2M_ENTRY || !(mfn & FOREIGN_FRAME_BIT)) {
> ^
> drivers/xen/grant-table.c:1055:43: note: each undeclared identifier is reported only once for each function it appears in
> drivers/xen/grant-table.c:1068:9: error: too many arguments to function ‘m2p_remove_override’
> mfn);
> ^
> In file included from include/xen/page.h:4:0,
> from drivers/xen/grant-table.c:48:
> /local/home/julien/works/midway/linux/arch/arm/include/asm/xen/page.h:106:19: note: declared here
> static inline int m2p_remove_override(struct page *page, bool clear_pte)
> ^
> cc1: some warnings being treated as errors
Hi,
That's bad indeed. I think the best solution is to put those parts
behind an #ifdef x86. The ones moved from x86/p2m.c to grant-table.c.
David, Stefano, what do you think?
Zoli
^ permalink raw reply
* Re: inet_diag_dump_icsk() change seems bogus...
From: Eric Dumazet @ 2014-02-02 18:52 UTC (permalink / raw)
To: Neal Cardwell; +Cc: David Miller, Netdev
In-Reply-To: <CADVnQynq6tfd6Hdg0iqD4Wpm805mVXwFT-VUCsWT6YUxo2=wbQ@mail.gmail.com>
On Sun, 2014-02-02 at 10:43 -0500, Neal Cardwell wrote:
> Hi David,
>
> That was true in 3.12 and earlier, but AFAICT since Eric's 05dbc7b
> ("tcp/dccp: remove twchain") in 3.13-rc1, there is no head->twchain,
> and instead all the connections (both tcp_sock and timewait flavor)
> are on the head->chain, so that we do need to check for timewait
> sockets. :-)
Note that Neal fix needs a different form for stable trees.
Thats maybe David concern ;)
^ permalink raw reply
* Re: inet_diag_dump_icsk() change seems bogus...
From: Neal Cardwell @ 2014-02-02 18:59 UTC (permalink / raw)
To: Eric Dumazet; +Cc: David Miller, Netdev
In-Reply-To: <1391367154.28432.91.camel@edumazet-glaptop2.roam.corp.google.com>
On Sun, Feb 2, 2014 at 1:52 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> On Sun, 2014-02-02 at 10:43 -0500, Neal Cardwell wrote:
>> Hi David,
>>
>> That was true in 3.12 and earlier, but AFAICT since Eric's 05dbc7b
>> ("tcp/dccp: remove twchain") in 3.13-rc1, there is no head->twchain,
>> and instead all the connections (both tcp_sock and timewait flavor)
>> are on the head->chain, so that we do need to check for timewait
>> sockets. :-)
>
>
> Note that Neal fix needs a different form for stable trees.
>
> Thats maybe David concern ;)
Ah, makes sense. :-) I have a tested version of the patch for pre-3.13
kernels if anyone is interested in that.
neal
^ permalink raw reply
* [PATCH] staging: r8188eu: Fix typo in USB_DEVICE list
From: Larry Finger @ 2014-02-02 20:07 UTC (permalink / raw)
To: gregkh; +Cc: devel, netdev, Larry Finger
There is a typo in the device list that interchanges the vendor and
product codes for one of the entries.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
---
drivers/staging/rtl8188eu/os_dep/usb_intf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index 0a341d6..e9e3c76 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -53,7 +53,7 @@ static struct usb_device_id rtw_usb_id_tbl[] = {
{USB_DEVICE(USB_VENDER_ID_REALTEK, 0x0179)}, /* 8188ETV */
/*=== Customer ID ===*/
/****** 8188EUS ********/
- {USB_DEVICE(0x8179, 0x07B8)}, /* Abocom - Abocom */
+ {USB_DEVICE(0x07bb, 0x8179)}, /* Abocom - Abocom */
{USB_DEVICE(0x2001, 0x330F)}, /* DLink DWA-125 REV D1 */
{} /* Terminating entry */
};
--
1.8.4
^ permalink raw reply related
* dual e100 'exec cuc_dump_reset' vs PCI latency (possibly vs Tulip)
From: Dr. David Alan Gilbert @ 2014-02-02 20:23 UTC (permalink / raw)
To: netdev, linux-pci, e1000-devel
Hi,
I've got a problem with a dual-e100 on a modern host that stops
when shifting some packets, in some very specific situations - talking
to one particular host on another subnet - it's less of a
problem if I increase the PCI latency in the bios. lspci -vvv
at the bottom of this message; but here's more of a description
of the setup and the problem.
The machine is a router/NAT box, crammed full of NICs, running IPTables
but not much else. It's an MSI C847MS-E33 board (fanless low power Dual core
Celeron), with PCIe and PCI slots; it's PCI slots have a dual e100 (Compaq
NC3134 card) and a quad Tulip (HP A5506B)
<-------------------- Failing setup: -------------------->
MSI C847MS-E33 motherboard
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00:1c.3 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 7 Series Chipset Family LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06) # Motherboard ether
05:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 03) # Motherboard PCIe-PCI bridge
06:00.0 PCI bridge: Intel Corporation 21154 PCI-to-PCI Bridge # Hewlett-Packard Company 10/100Base-TX (PCI) [A5506B] quad port
07:04.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
07:05.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41) # ethcam
-> Switch
-> cam1, cam2
07:06.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
07:07.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
06:01.0 PCI bridge: Intel Corporation 21154 PCI-to-PCI Bridge # Compaq Computer Corporation NC3134 Fast Ethernet NIC (dual port)
08:04.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 08) # ethd
-> switch
-> multiple PCs
08:05.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 08) # eth2d
-> switch
-> multiple PCs
01:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller (rev 20) <-- generic card
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06) <-- generic card
--------------------------------------------------------------
(I've reordered and indented the above to show the bridge structure).
On one Tulip is a switch and a pair of different vendors IP cameras; when
watching one of them (but not the other!) in a webbrowser on either of the
e100's (ethd or eth2d) the e100 stops receiving or sending any packets
after a few seconds, and if I turn tx_err on I see:
Feb 2 01:02:22 gort2 kernel: [ 490.393485] e100 0000:08:05.0 ethd: exec cuc_dump_reset failed
<repeated for a few seconds>
Feb 2 01:02:44 gort2 kernel: [ 512.059435] e100 0000:08:05.0 ethd: exec cuc_dump_reset failed
Feb 2 01:02:47 gort2 kernel: [ 514.729514] IPv6: ADDRCONF(NETDEV_UP): ethd: link is not ready
Feb 2 01:02:47 gort2 kernel: [ 514.733515] e100 0000:08:05.0 ethd: NIC Link is Up 100 Mbps Full Duplex
Feb 2 01:02:47 gort2 kernel: [ 514.733658] IPv6: ADDRCONF(NETDEV_CHANGE): ethd: link becomes ready
There is no corresponding Link is Down prior to that - the cuc_dump_reset fail
is the 1st indication of a problem.
(This is with both 3.8 and 3.11)
* Without the stream to that particular camera the e100's are happy -
survived for a few weeks doing package installs, normal browsing etc
* Moving my subnet off the e100 onto one of the other Tulip ports and
it's happy.
- looking at that cameras stream on the Tulip seems to allow the other
e100 to carry on working fine, but that's less heavily tested
* The only difference I can see from a network point of view between the
two cameras is that the one that triggers the problem tends to send 1440
byte packets, the other only sends 900 byte packets (at a higher level
their mostly just jpeg in a browser)
* With the default BIOS PCI latency of 32 it fails after a few seconds of
viewing the video off the camera, with 128 it survives to about 10mins or
more but will fail eventually.
* When it fails, an ifdown/ifup on the e100 in question restores it to sanity
until I look at that camera again.
* Note the dual and quad cards are PCI-x cards in 32-bit PCI slots (which they
claim to support as far as I can tell)
* The failure mode is reliable - there are no random failures.
* I see there was a known problem on that ASMedia bridge with it losing
interrupts, but a search suggests that was resolved on the rev3 I have.
What gets me most about this is the way it's so specific to make it fail, but
I guess it's just down to bus activity.
Any suggestions welcome.
Dave
----------------------------------------
Full lspci -vvv
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
Subsystem: Micro-Star International Co., Ltd. Device 7835
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
Latency: 0
Capabilities: [e0] Vendor Specific Information: Len=0c <?>
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 0000e000-0000efff
Memory behind bridge: f7b00000-f7bfffff
Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [88] Subsystem: Micro-Star International Co., Ltd. Device 7835
Capabilities: [80] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Address: fee0300c Data: 4191
Capabilities: [a0] Express (v2) Root Port (Slot+), MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #2, Speed 2.5GT/s, Width x16, ASPM L0s L1, Latency L0 <256ns, L1 <4us
ClockPM- Surprise- LLActRep- BwNot+
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt+ ABWMgmt-
SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
Slot #1, PowerLimit 75.000W; Interlock- NoCompl+
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
Changed: MRL- PresDet- LinkState-
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
DevCap2: Completion Timeout: Not Supported, TimeoutDis- ARIFwd-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- ARIFwd-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB
Capabilities: [100 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed+ WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
Status: NegoPending- InProgress-
Capabilities: [140 v1] Root Complex Link
Desc: PortNumber=02 ComponentID=01 EltType=Config
Link0: Desc: TargetPort=00 TargetComponent=01 AssocRCRB- LinkType=MemMapped LinkValid+
Addr: 00000000fed19000
Kernel driver in use: pcieport
Kernel modules: shpchp
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: Micro-Star International Co., Ltd. Device 7835
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 46
Region 0: Memory at f7000000 (64-bit, non-prefetchable) [size=4M]
Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M]
Region 4: I/O ports at f000 [size=64]
Expansion ROM at <unassigned> [disabled]
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Address: fee0200c Data: 4122
Capabilities: [d0] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a4] PCI Advanced Features
AFCap: TP+ FLR+
AFCtrl: FLR-
AFStatus: TP-
Kernel driver in use: i915
Kernel modules: i915
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
Subsystem: Micro-Star International Co., Ltd. Device 7835
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 45
Region 0: Memory at f7c06000 (64-bit, non-prefetchable) [size=16]
Capabilities: [50] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [8c] MSI: Enable+ Count=1/1 Maskable- 64bit+
Address: 00000000fee0300c Data: 41e1
Kernel driver in use: mei_me
Kernel modules: mei-me
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04) (prog-if 20 [EHCI])
Subsystem: Micro-Star International Co., Ltd. Device 7835
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 16
Region 0: Memory at f7c04000 (32-bit, non-prefetchable) [size=1K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] Debug port: BAR=1 offset=00a0
Capabilities: [98] PCI Advanced Features
AFCap: TP+ FLR+
AFCtrl: FLR-
AFStatus: TP-
Kernel driver in use: ehci-pci
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: 0000f000-00000fff
Memory behind bridge: fff00000-000fffff
Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Express (v2) Root Port (Slot+), MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #1, Speed 5GT/s, Width x1, ASPM L0s L1, Latency L0 <1us, L1 <16us
ClockPM- Surprise- LLActRep+ BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
Slot #0, PowerLimit 10.000W; Interlock- NoCompl+
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet- Interlock-
Changed: MRL- PresDet- LinkState-
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
DevCap2: Completion Timeout: Range BC, TimeoutDis+ ARIFwd-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- ARIFwd-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -3.5dB
Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
Address: 00000000 Data: 0000
Capabilities: [90] Subsystem: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1
Capabilities: [a0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: 0000d000-0000dfff
Memory behind bridge: f7a00000-f7afffff
Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Express (v2) Root Port (Slot+), MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #2, Speed 5GT/s, Width x1, ASPM L0s L1, Latency L0 <512ns, L1 <16us
ClockPM- Surprise- LLActRep+ BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
Slot #1, PowerLimit 10.000W; Interlock- NoCompl+
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
Changed: MRL- PresDet- LinkState-
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
DevCap2: Completion Timeout: Range BC, TimeoutDis+ ARIFwd-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- ARIFwd-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -3.5dB
Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
Address: 00000000 Data: 0000
Capabilities: [90] Subsystem: Micro-Star International Co., Ltd. Device 7835
Capabilities: [a0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
I/O behind bridge: 0000c000-0000cfff
Memory behind bridge: f7900000-f79fffff
Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Express (v2) Root Port (Slot+), MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #3, Speed 5GT/s, Width x1, ASPM L0s L1, Latency L0 <512ns, L1 <16us
ClockPM- Surprise- LLActRep+ BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
Slot #2, PowerLimit 10.000W; Interlock- NoCompl+
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
Changed: MRL- PresDet- LinkState-
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
DevCap2: Completion Timeout: Range BC, TimeoutDis+ ARIFwd-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- ARIFwd-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -3.5dB
Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
Address: 00000000 Data: 0000
Capabilities: [90] Subsystem: Micro-Star International Co., Ltd. Device 7835
Capabilities: [a0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1c.3 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev c4) (prog-if 01 [Subtractive decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=05, subordinate=08, sec-latency=0
I/O behind bridge: 0000a000-0000bfff
Memory behind bridge: f7400000-f78fffff
Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Express (v2) Root Port (Slot+), MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency L0 <1us, L1 <16us
ClockPM- Surprise- LLActRep+ BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
Slot #3, PowerLimit 10.000W; Interlock- NoCompl+
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
Changed: MRL- PresDet- LinkState-
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
DevCap2: Completion Timeout: Range BC, TimeoutDis+ ARIFwd-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- ARIFwd-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -3.5dB
Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
Address: 00000000 Data: 0000
Capabilities: [90] Subsystem: Micro-Star International Co., Ltd. Device 7835
Capabilities: [a0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04) (prog-if 20 [EHCI])
Subsystem: Micro-Star International Co., Ltd. Device 7835
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 23
Region 0: Memory at f7c03000 (32-bit, non-prefetchable) [size=1K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] Debug port: BAR=1 offset=00a0
Capabilities: [98] PCI Advanced Features
AFCap: TP+ FLR+
AFCtrl: FLR-
AFStatus: TP-
Kernel driver in use: ehci-pci
00:1f.0 ISA bridge: Intel Corporation 7 Series Chipset Family LPC Controller (rev 04)
Subsystem: Micro-Star International Co., Ltd. Device 7835
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Capabilities: [e0] Vendor Specific Information: Len=0c <?>
Kernel driver in use: lpc_ich
Kernel modules: lpc_ich
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04) (prog-if 01 [AHCI 1.0])
Subsystem: Micro-Star International Co., Ltd. Device 7835
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin B routed to IRQ 44
Region 0: I/O ports at f0b0 [size=8]
Region 1: I/O ports at f0a0 [size=4]
Region 2: I/O ports at f090 [size=8]
Region 3: I/O ports at f080 [size=4]
Region 4: I/O ports at f060 [size=32]
Region 5: Memory at f7c02000 (32-bit, non-prefetchable) [size=2K]
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Address: fee0100c Data: 41d1
Capabilities: [70] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a8] SATA HBA v1.0 BAR4 Offset=00000004
Capabilities: [b0] PCI Advanced Features
AFCap: TP+ FLR+
AFCtrl: FLR-
AFStatus: TP-
Kernel driver in use: ahci
Kernel modules: ahci
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
Subsystem: Micro-Star International Co., Ltd. Device 7835
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin C routed to IRQ 11
Region 0: Memory at f7c01000 (64-bit, non-prefetchable) [size=256]
Region 4: I/O ports at f040 [size=32]
Kernel modules: i2c-i801
01:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller (rev 20)
Subsystem: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 42
Region 0: Memory at f7b20000 (64-bit, non-prefetchable) [size=16K]
Region 2: I/O ports at e000 [size=256]
Expansion ROM at f7b00000 [disabled] [size=128K]
Capabilities: [48] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] Vital Product Data
Product Name: Marvell Yukon 88E8053 Gigabit Ethernet Controller
Read-only fields:
[PN] Part number: Yukon 88E8053
[EC] Engineering changes: Rev. 2.0
[MN] Manufacture ID: 4d 61 72 76 65 6c 6c
[SN] Serial number: AbCdEfG0010EE
[CP] Extended capability: 01 10 cc 03
[RV] Reserved: checksum good, 9 byte(s) reserved
Read/write fields:
[RW] Read-write area: 121 byte(s) free
End
Capabilities: [5c] MSI: Enable+ Count=1/2 Maskable- 64bit+
Address: 00000000fee0300c Data: 41b1
Capabilities: [e0] Express (v1) Legacy Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ UncorrErr+ FatalErr- UnsuppReq+ AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 <256ns, L1 unlimited
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr+ BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
AERCap: First Error Pointer: 1f, GenCap- CGenEn- ChkCap- ChkEn-
Kernel driver in use: sky2
Kernel modules: sky2
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
Subsystem: Realtek Semiconductor Co., Ltd. Device 0123
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 41
Region 0: I/O ports at d000 [size=256]
Region 2: Memory at f7a04000 (64-bit, prefetchable) [size=4K]
Region 4: Memory at f7a00000 (64-bit, prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Address: 00000000fee0300c Data: 41a1
Capabilities: [70] Express (v2) Endpoint, MSI 01
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 4096 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <512ns, L1 <64us
ClockPM+ Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Not Supported, TimeoutDis+
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB
Capabilities: [b0] MSI-X: Enable- Count=4 Masked-
Vector table: BAR=4 offset=00000000
PBA: BAR=4 offset=00000800
Capabilities: [d0] Vital Product Data
Unknown small resource type 00, will not decode more.
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [140 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01
Status: NegoPending- InProgress-
Capabilities: [160 v1] Device Serial Number d0-00-00-00-68-4c-e0-00
Kernel driver in use: r8169
Kernel modules: r8169
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
Subsystem: Micro-Star International Co., Ltd. Device 7835
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 43
Region 0: I/O ports at c000 [size=256]
Region 2: Memory at f7904000 (64-bit, prefetchable) [size=4K]
Region 4: Memory at f7900000 (64-bit, prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Address: 00000000fee0100c Data: 41c1
Capabilities: [70] Express (v2) Endpoint, MSI 01
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 4096 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 unlimited, L1 <64us
ClockPM+ Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB
Capabilities: [b0] MSI-X: Enable- Count=4 Masked-
Vector table: BAR=4 offset=00000000
PBA: BAR=4 offset=00000800
Capabilities: [d0] Vital Product Data
No end tag found
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [140 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01
Status: NegoPending- InProgress-
Capabilities: [160 v1] Device Serial Number 0f-00-00-00-68-4c-e0-00
Kernel driver in use: r8169
Kernel modules: r8169
05:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 03) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=05, secondary=06, subordinate=08, sec-latency=128
I/O behind bridge: 0000a000-0000bfff
Memory behind bridge: f7400000-f78fffff
Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [78] Power Management version 3
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [80] Express (v1) PCI/PCI-X Bridge, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ BrConfRtry-
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-
LnkCap: Port #1, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <2us, L1 <2us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; Disabled- Retrain- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
Capabilities: [c0] Subsystem: Micro-Star International Co., Ltd. Device 7835
Capabilities: [100 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01
Status: NegoPending- InProgress-
Kernel modules: shpchp
06:00.0 PCI bridge: Intel Corporation 21154 PCI-to-PCI Bridge (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 128, Cache Line Size: 64 bytes
Bus: primary=06, secondary=07, subordinate=07, sec-latency=128
I/O behind bridge: 0000b000-0000bfff
Memory behind bridge: f7700000-f78fffff
Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Bridge: PM- B3+
Kernel modules: shpchp
06:01.0 PCI bridge: Intel Corporation 21154 PCI-to-PCI Bridge (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 128, Cache Line Size: 64 bytes
Bus: primary=06, secondary=08, subordinate=08, sec-latency=128
I/O behind bridge: 0000a000-0000afff
Memory behind bridge: f7400000-f76fffff
Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Bridge: PM- B3+
Kernel modules: shpchp
07:04.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
Subsystem: Hewlett-Packard Company 10/100Base-TX (PCI) [A5506B]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 128 (5000ns min, 10000ns max)
Interrupt: pin A routed to IRQ 19
Region 0: I/O ports at b180 [size=128]
Region 1: Memory at f7803000 (32-bit, non-prefetchable) [size=1K]
Expansion ROM at f77c0000 [disabled] [size=256K]
Kernel driver in use: tulip
Kernel modules: tulip
07:05.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
Subsystem: Hewlett-Packard Company 10/100Base-TX (PCI) [A5506B]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 128 (5000ns min, 10000ns max)
Interrupt: pin A routed to IRQ 16
Region 0: I/O ports at b100 [size=128]
Region 1: Memory at f7802000 (32-bit, non-prefetchable) [size=1K]
Expansion ROM at f7780000 [disabled] [size=256K]
Kernel driver in use: tulip
Kernel modules: tulip
07:06.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
Subsystem: Hewlett-Packard Company 10/100Base-TX (PCI) [A5506B]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 128 (5000ns min, 10000ns max)
Interrupt: pin A routed to IRQ 17
Region 0: I/O ports at b080 [size=128]
Region 1: Memory at f7801000 (32-bit, non-prefetchable) [size=1K]
Expansion ROM at f7740000 [disabled] [size=256K]
Kernel driver in use: tulip
Kernel modules: tulip
07:07.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
Subsystem: Hewlett-Packard Company 10/100Base-TX (PCI) [A5506B]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 128 (5000ns min, 10000ns max)
Interrupt: pin A routed to IRQ 18
Region 0: I/O ports at b000 [size=128]
Region 1: Memory at f7800000 (32-bit, non-prefetchable) [size=1K]
Expansion ROM at f7700000 [disabled] [size=256K]
Kernel driver in use: tulip
Kernel modules: tulip
08:04.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 08)
Subsystem: Compaq Computer Corporation NC3134 Fast Ethernet NIC (dual port)
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 128 (2000ns min, 14000ns max)
Interrupt: pin A routed to IRQ 16
Region 0: Memory at f7601000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at a040 [size=64]
Region 2: Memory at f7500000 (32-bit, non-prefetchable) [size=1M]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=2 PME-
Kernel driver in use: e100
Kernel modules: e100
08:05.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 08)
Subsystem: Compaq Computer Corporation NC3134 Fast Ethernet NIC (dual port)
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 128 (2000ns min, 14000ns max)
Interrupt: pin A routed to IRQ 17
Region 0: Memory at f7600000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at a000 [size=64]
Region 2: Memory at f7400000 (32-bit, non-prefetchable) [size=1M]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=2 PME-
Kernel driver in use: e100
Kernel modules: e100
--
-----Open up your eyes, open up your mind, open up your code -------
/ Dr. David Alan Gilbert | Running GNU/Linux | Happy \
\ gro.gilbert @ treblig.org | | In Hex /
\ _________________________|_____ http://www.treblig.org |_______/
^ permalink raw reply
* Re: inet_diag_dump_icsk() change seems bogus...
From: David Miller @ 2014-02-02 21:00 UTC (permalink / raw)
To: ncardwell; +Cc: netdev
In-Reply-To: <CADVnQynq6tfd6Hdg0iqD4Wpm805mVXwFT-VUCsWT6YUxo2=wbQ@mail.gmail.com>
From: Neal Cardwell <ncardwell@google.com>
Date: Sun, 2 Feb 2014 10:43:10 -0500
> That was true in 3.12 and earlier, but AFAICT since Eric's 05dbc7b
> ("tcp/dccp: remove twchain") in 3.13-rc1, there is no head->twchain,
> and instead all the connections (both tcp_sock and timewait flavor)
> are on the head->chain, so that we do need to check for timewait
> sockets. :-)
Therefore I don't need to -stable backport this change, ok makes
sense, thanks for explaining.
^ permalink raw reply
* Re: inet_diag_dump_icsk() change seems bogus...
From: David Miller @ 2014-02-02 21:03 UTC (permalink / raw)
To: ncardwell; +Cc: eric.dumazet, netdev
In-Reply-To: <CADVnQymV9R-f3ANtFxbBnsKtD3ytO7QwrOEz7cJAkVkn34ADKQ@mail.gmail.com>
From: Neal Cardwell <ncardwell@google.com>
Date: Sun, 2 Feb 2014 13:59:06 -0500
> Ah, makes sense. :-) I have a tested version of the patch for pre-3.13
> kernels if anyone is interested in that.
Please post :-) Thanks!
^ permalink raw reply
* Re: [PATCH] staging: r8188eu: Fix typo in USB_DEVICE list
From: Randy Dunlap @ 2014-02-02 21:04 UTC (permalink / raw)
To: Larry Finger, gregkh; +Cc: netdev, devel
In-Reply-To: <1391371626-13551-1-git-send-email-Larry.Finger@lwfinger.net>
On 02/02/2014 12:07 PM, Larry Finger wrote:
> There is a typo in the device list that interchanges the vendor and
> product codes for one of the entries.
You also changed 0x7b8 to 0x7bb.
Did you mean to do that?
> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
> ---
> drivers/staging/rtl8188eu/os_dep/usb_intf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
> index 0a341d6..e9e3c76 100644
> --- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
> +++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
> @@ -53,7 +53,7 @@ static struct usb_device_id rtw_usb_id_tbl[] = {
> {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x0179)}, /* 8188ETV */
> /*=== Customer ID ===*/
> /****** 8188EUS ********/
> - {USB_DEVICE(0x8179, 0x07B8)}, /* Abocom - Abocom */
> + {USB_DEVICE(0x07bb, 0x8179)}, /* Abocom - Abocom */
> {USB_DEVICE(0x2001, 0x330F)}, /* DLink DWA-125 REV D1 */
> {} /* Terminating entry */
> };
>
--
~Randy
^ 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