Bug 523604 - Backport bnx2x multiqueue support to 2.6.29-rt / MRG 1.2
Summary: Backport bnx2x multiqueue support to 2.6.29-rt / MRG 1.2
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: realtime-kernel
Version: 1.2
Hardware: x86_64
OS: All
Target Milestone: 1.3
: ---
Assignee: John Kacur
QA Contact: David Sommerseth
Depends On:
TreeView+ depends on / blocked
Reported: 2009-09-16 06:01 UTC by IBM Bug Proxy
Modified: 2016-05-22 23:28 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2010-09-14 20:21:48 UTC
Target Upstream Version:

Attachments (Terms of Use)
Backport 2.6.30-rc4 bnx2x driver to (791.96 KB, application/octet-stream)
2009-09-16 06:01 UTC, IBM Bug Proxy
no flags Details
remove pulse code from bnx2x driver (2.21 KB, text/plain)
2009-09-16 06:01 UTC, IBM Bug Proxy
no flags Details

System ID Private Priority Status Summary Last Updated
IBM Linux Technology Center 52655 0 None None None Never

Description IBM Bug Proxy 2009-09-16 06:01:01 UTC
=Comment: #0=================================================
John G. Stultz <johnstul@us.ibm.com> - 
This bug is to track the needed backport of the bnx2 multiqueue support currently in 2.6.30-rc back
to 2.6.29-rt.
Vernon has done testing with this driver and its seeing nice throughput improvements due to the
multiqueue feature.

=Comment: #3=================================================
Vernon Mauery <vernux@us.ibm.com> - 
Attachment: Backport 2.6.30-rc3 bnx2x driver to

This patch pulls in the multi-queue support for the bnx2x driver.  The network subsystem already has
the support needed for this, but not all the drivers are up to date.  This patch adds support for
bnx2x.  Multi-queue support adds about 4X throughput performance increase for -RT kernels.

The patch has had a sniff test and some mild stress testing.
It is kind of big because it contains a lot of firmware changes, so the patch is gzipped.

=Comment: #4=================================================
Vernon Mauery <vernux@us.ibm.com> - 
Attachment: Backport 2.6.30-rc4 bnx2x driver to

Still the same patch as before, technically, since none of the bnx2x bits were changed in the base
kernel.  But I added the git log of the commits included in this patch.  This is the patch  that I
sent to Thomas and Clark.

=Comment: #8=================================================
Vernon Mauery <vernux@us.ibm.com> - 
I installed from http://people.redhat.com/~williams/.ibm/ and found that it does
not contain multiqueue support for bnx2x.

=Comment: #12=================================================
John G. Stultz <johnstul@us.ibm.com> - 
> Yes, they will get multi-queue support from 2.6.31.  But they may still need to
> axe the pulse code that was causing nic hangs for us in testing.

Should any axe-ing be done upstream before 2.6.31 closes?

=Comment: #13=================================================
Vernon Mauery <vernux@us.ibm.com> - 
The pulse code 'fix' was to remove code that causes problems in -rt kernels.  If the fix lives
anywhere, it would probably be in the -rt tree.

=Comment: #18=================================================
Vernon Mauery <vernux@us.ibm.com> - 
Attachment: remove pulse code from bnx2x driver

This is the patch I sent to Clark for inclusion in MRG 1.2 (based on 2.6.31 kernel)

Comment 1 IBM Bug Proxy 2009-09-16 06:01:08 UTC
Created attachment 361189 [details]
Backport 2.6.30-rc4 bnx2x driver to

Comment 2 IBM Bug Proxy 2009-09-16 06:01:11 UTC
Created attachment 361190 [details]
remove pulse code from bnx2x driver

Comment 3 John Kacur 2009-10-08 15:59:43 UTC
From attachment one.

284901a90a9e0b812ca3f5f852cbbfb60d10249d v2.6.30-rc1~80
6a35528a8346f6e6fd32ed7e51f04d1fa4ca2c01 v2.6.30-rc1~84
763dccdc8e9775b247c3ea86ae8f5f592c12024e v2.6.30-rc1~662^2~62
d5df2a16133f4eb22f9a6bbc07723443568d362f v2.6.30-rc1~662^2~292
c1accad323372ab788066974844fe4db3c43acb0 v2.6.30-rc1~662^2~391
0a64ea57486acd9e17b80bb70b966e81d904b61c v2.6.30-rc1~662^2~392
c3eefaf676646281c07f93cb523a7be4eab67f8c v2.6.30-rc1~662^2~393
c016201c5c6520abfcbd0c539fbf2524dd431ce6 v2.6.30-rc1~662^2~394
8660d8c3abd988d1601b78046733450cc3554a35 v2.6.30-rc1~662^2~395
9223dea6c75f3cb77ca644d84cb152525e6e329d v2.6.30-rc1~662^2~396
3b313b618b2acbeb2954368980ab52b7f9fd05ef v2.6.30-rc1~662^2~397
d7bc788beca5879f03e0120ac27b99bdeed95921 v2.6.30-rc1~662^2~398
cc1cb004dfa27c63b43941076b490045a43d5fbd v2.6.30-rc1~662^2~399
762d5f6c95e4c7036aaaf67ec0749ed64ebb71e7 v2.6.30-rc1~662^2~400
490c3c9bf986545bdd99dcd4b0045c747564be39 v2.6.30-rc1~662^2~401
2059aba7e40afb18e578ce57cc48fc3c782a531b v2.6.30-rc1~662^2~402
8534f32c2fb86bff629f7152bc3096245252062c v2.6.30-rc1~662^2~403
7961f79123604a395dc467c605a94bbaed74df83 v2.6.30-rc1~662^2~404
161197853de91eb1eebdde05f13223c377cf3be0 v2.6.30-rc1~662^2~405
6044735d8ddd96bf23cf975bae8729c65479aa14 v2.6.30-rc1~662^2~406
0d1a8d2d7dd9f6588ed9544a9aa88fd9bd9467d3 v2.6.30-rc1~662^2~407
98589bb1099732847c5deedc213c17c50dd1bc75 v2.6.30-rc1~662^2~408
2b1440230abc8fae0271b012711ecaf64eb38f86 v2.6.30-rc1~662^2~685
356e23850b5ed4471470a918623021765fcaf125 v2.6.30-rc1~662^2~686
f53722514242da8346cbed2223bcea9eed744ebd v2.6.30-rc1~662^2~687
9898f86d3927bf3526aef433c8ced0b51178c35c v2.6.30-rc1~662^2~688
359d8b1599050977771190cf938ef010e951ee04 v2.6.30-rc1~662^2~689
8440d2b63667c7d09ccbe43b8bd928d3c4662879 v2.6.30-rc1~662^2~690
0febaa42a3fa90ce9453c67a549525f365b77a9d v2.6.30-rc1~662^2~691
4781bfad732af717784ee6b5bcdd97f4c3e8f597 v2.6.30-rc1~662^2~692
0626b89971d75b35698f208fd7abe4303e1588b9 v2.6.30-rc1~662^2~693
5cd65a93e9335393d5e1f18d35d337b7ba1280f8 v2.6.30-rc1~662^2~694
b5bf9068ebb1b4012e4c0fef58490f97e6b6a0db v2.6.30-rc1~662^2~695
26e029752c8f8671b1de83fe86906fc29f9eda92 v2.6.30-rc1~662^2~696
cfb18c5cb7ef5506a2864f9ec360cbb2ca6e8d28 v2.6.30-rc1~662^2~697
3ce2c3f9a30dd7756dcbe2322841754f18f098f0 v2.6.30-rc1~662^2~698
3e5b510eb8c9ea5f762e0a0a9ce59254d6671dce v2.6.30-rc1~662^2~699
8b3a0f0ba3c6c26330b49db178de3898a54f9f8a v2.6.30-rc1~662^2~700
36e552ab1a51067c5ff8de63416e3fcf2c86a7bf v2.6.30-rc1~662^2~701
8d5726c404fd41fedb7a49e1fbef62c60754021a v2.6.30-rc1~662^2~702
052a38e096dece43e38a19a896ae7ad019415bc1 v2.6.30-rc1~662^2~703
c2c8b03e200bdda3ba23d27f5c33bac784dced01 v2.6.30-rc1~662^2~704
ed8680a7e68fc07d6b2bfa977e8f5f3d3c568d14 v2.6.30-rc1~662^2~705
3a36f2efbf9ac5da1d08cb44d237ba35ec354888 v2.6.30-rc1~662^2~706
c1b7399027254a45a4036c548c13eb97c7d0d8fa v2.6.30-rc1~662^2~707
811a2f2d3be9a39bd4e0930501fda8630857748d v2.6.30-rc1~662^2~708
a35da8dbf1ff403633bb6256fba691b224f17f61 v2.6.30-rc1~662^2~709
285771852891b52a740b4ab2f2903cbfef5ec6a9 v2.6.30-rc1~662^2~710
46c6a67495b3ec76204db800fc8d60a260f91cfe v2.6.30-rc1~662^2~711
589abe3a0f594a7707a15674ca9e80370c972832 v2.6.30-rc1~662^2~712
4acac6a53a3c9dfc604a9a8647f16b0242080e93 v2.6.30-rc1~662^2~713
87942b467880fb65381af87a5ff61fdb7ede5eb3 v2.6.30-rc1~662^2~714
35b19ba51c1e6258a338a0855c72384abc33ce11 v2.6.30-rc1~662^2~715
1c06328c0345638ea7532b45cadfe713c9e9781e v2.6.30-rc1~662^2~716
8a1c38d17d88c8df3dcbea1c01a390ab2087f8ad v2.6.30-rc1~662^2~717
748e543974eec6afb1f55f8430781150d0da8b0a v2.6.30-rc1~662^2~718
de832a55d28bdcc38a3f3c160554d2dfa5a62069 v2.6.30-rc1~662^2~719
d3d4f49527249e87d11219a22469dff25b674c08 v2.6.30-rc1~662^2~720
f1ef27ef42dc946a255de4cc7b878630011735d8 v2.6.30-rc1~662^2~721
0f00846deb9c9eaaeb4668b81496b783a04a241f v2.6.30-rc1~662^2~722
8badd27aa0d7c02572fcd1a4a3c6b57d67f40b78 v2.6.30-rc1~662^2~723
555f6c78373f969f14487253abe331d085449360 v2.6.30-rc1~662^2~724
8d9c5f34a25d6a30d15a800d83a3428ad44271d8 v2.6.30-rc1~662^2~725
0c8dfc830aadd978e461dad66c33741b71c6a0be v2.6.30-rc1~662^2~877
3eacdf58c2c0b9507afedfc19108e98b992c31e4 v2.6.30-rc1~662^2~895
288379f050284087578b77e04f040b57db3db3f8 v2.6.30-rc1~662^2~955

Comment 4 John Kacur 2009-10-08 16:33:12 UTC
The table above shows the kernel version that the patches went into the kernel.
Since our latests MRG2 kernel is based on v2.6.31.2-rt13 - they are all included.

I have added the 2nd attachment and it applies without any problems.
Vernon - are you planning on pushing it upstream?

Comment 6 IBM Bug Proxy 2009-10-08 17:11:12 UTC
------- Comment From vernux@us.ibm.com 2009-10-08 13:00 EDT-------
The only patch we want picked up is the "remove pulse code from bnx2x driver" patch.  I just sent this to lkml for review.

Comment 7 IBM Bug Proxy 2009-10-09 05:01:10 UTC
------- Comment From gowrishankar.m@in.ibm.com 2009-10-09 00:59 EDT-------
I tested and still seeing that pulse code fix is not

Oct  9 00:50:06 elm9m95 kernel: [bnx2x_timer:4211(eth2)]drv_pulse (0x4f26) != mcp_pulse (0x3269)

Can you please add the patch soon.

Comment 9 John Kacur 2009-10-09 09:54:02 UTC
Hmnn, I actually did say which version this would be available in - in comment 5.
Please let me know whether you can see comments 5 and 8.

Comment 10 IBM Bug Proxy 2009-10-19 16:32:05 UTC
------- Comment From vernux@us.ibm.com 2009-10-19 12:21 EDT-------
(In reply to comment #29)
> Hmnn, I actually did say which version this would be available in - in comment
> 5.
> Please let me know whether you can see comments 5 and 8.

jkacur, the comment numbers are a bit messed up because of the mirroring process that IBM uses.  I don't see the comments that you are mentioning here.  The only comment that says what kernel version it will be in is the one in response to Gowri, saying he needs the next kernel.

Comment 11 IBM Bug Proxy 2009-10-26 17:52:06 UTC
------- Comment From gowrishankar.m@in.ibm.com 2009-10-26 13:48 EDT-------
Tested with and could not see pulse code error.

[root@elm9m95 log]# uname -a
Linux elm9m95 #1 SMP PREEMPT RT Sat Oct 10 08:26:00 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

[root@elm9m95 log]# ethtool -i eth3
driver: bnx2x
version: 1.48.105-1
firmware-version: BC:4.4.9
bus-info: 0000:0c:00.1

[root@elm9m95 log]# grep bnx2x_timer messages*
[root@elm9m95 log]# grep bnx2x_timer messages*; echo $?
[root@elm9m95 log]#

Comment 12 IBM Bug Proxy 2009-10-27 05:31:02 UTC
------- Comment From sripathik@in.ibm.com 2009-10-27 01:24 EDT-------
Thanks Gowri for verifying. Moving bug to ACCEPTED.

Note You need to log in before you can comment on or make changes to this bug.