Bug #310
BQL patch fails on 3.1.1
| Status: | Closed | Start date: | 11/25/2011 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | Build | Spent time: | 106.00 hours | |
| Target version: | 1st Public Cerowrt release | Estimated time: | 70.00 hours |
Description
Same patch works on same kernel version, must be a problem with a .config conflict
make5: Entering directory `/home/cero1/src/cerowrt/build_dir/linux-ar71xx_generic/linux-3.1.1'
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC net/core/net-sysfs.o
net/core/net-sysfs.c: In function 'netdev_queue_attr_show':
net/core/net-sysfs.c:803:31: error: 'struct netdev_queue' has no member named 'kobj'
net/core/net-sysfs.c:803:31: warning: type defaults to 'int' in declaration of '__mptr'
net/core/net-sysfs.c:803:31: warning: initialization from incompatible pointer type
net/core/net-sysfs.c:803:31: error: 'struct netdev_queue' has no member named 'kobj'
net/core/net-sysfs.c: In function 'netdev_queue_attr_store':
net/core/net-sysfs.c:816:31: error: 'struct netdev_queue' has no member named 'kobj'
net/core/net-sysfs.c:816:31: warning: type defaults to 'int' in declaration of '__mptr'
net/core/net-sysfs.c:816:31: warning: initialization from incompatible pointer type
net/core/net-sysfs.c:816:31: error: 'struct netdev_queue' has no member named 'kobj'
net/core/net-sysfs.c: In function 'netdev_queue_release':
net/core/net-sysfs.c:1194:31: error: 'struct netdev_queue' has no member named 'kobj'
net/core/net-sysfs.c:1194:31: warning: type defaults to 'int' in declaration of '__mptr'
net/core/net-sysfs.c:1194:31: warning: initialization from incompatible pointer type
net/core/net-sysfs.c:1194:31: error: 'struct netdev_queue' has no member named 'kobj'
net/core/net-sysfs.c: In function 'netdev_queue_add_kobject':
net/core/net-sysfs.c:1213:31: error: 'struct netdev_queue' has no member named 'kobj'
net/core/net-sysfs.c:1216:18: error: 'struct net_device' has no member named 'queues_kset'
net/core/net-sysfs.c: In function 'netdev_queue_update_kobjects':
net/core/net-sysfs.c:1258:28: error: 'struct netdev_queue' has no member named 'kobj'
net/core/net-sysfs.c:1260:21: error: 'struct netdev_queue' has no member named 'kobj'
net/core/net-sysfs.c: In function 'register_queue_kobjects':
net/core/net-sysfs.c:1274:5: error: 'struct net_device' has no member named 'queues_kset'
net/core/net-sysfs.c:1276:10: error: 'struct net_device' has no member named 'queues_kset'
net/core/net-sysfs.c: In function 'remove_queue_kobjects':
net/core/net-sysfs.c:1315:21: error: 'struct net_device' has no member named 'queues_kset'
make7: * [net/core/net-sysfs.o] Error 1
make6: [net/core] Error 2
make5: [net] Error 2
make5: Leaving directory `/home/cero1/src/cerowrt/build_dir/linux-ar71xx_generic/linux-3.1.1'
make4: [/home/cero1/src/cerowrt/build_dir/linux-ar71xx_generic/linux-3.1.1/.image] Error 2
make4: Leaving directory `/home/cero1/src/cerowrt/target/linux/ar71xx'
make3: [install] Error 2
make3: Leaving directory `/home/cero1/src/cerowrt/target/linux'
make2: [target/linux/install] Error 2
make2: Leaving directory `/home/cero1/src/cerowrt'
make1: ** [/home/cero1/src/cerowrt/staging_dir/target-mips_r2_uClibc-0.9.32/stamp/.target_install] Error 2
make1: Leaving directory `/home/cero1/src/cerowrt'
History
Updated by Dave Täht over 1 year ago
just feel the un-merged pain... there are dozens of machines here not in the mainline kernel.
cerowrt/target/linux/ar71xx/files/arch/mips/ar71xx
Updated by Dave Täht over 1 year ago
and basically the update to 3.2 moved a ton of dirs around.
Updated by Dave Täht over 1 year ago
- Estimated time changed from 16.00 to 70.00
It turned out I had deeper problems. It turned out all of 3.1.1 was failing to build.
Still unfixed.
3.0 is also failing to build.
Updated by Dave Täht over 1 year ago
- Category set to Build
- Assignee set to Dave Täht
3.1.5 finally built after backing out multiple changes to find the problem, and getting a new patchset from the net.
Updated by Dave Täht over 1 year ago
I have successfully backported BQL to 3.2.2 and tested on x86 with the e1000e driver.
My attempt at wedging BQL support into the ag71xx driver, however, fails. It does
get one packet out... So I have to look harder at the relevant drivers and see where
I went wrong.
[ 12.560000] USB Mass Storage support registered.
[ 17.050000] ------------[ cut here ]------------
[ 17.050000] WARNING: at net/sched/sch_generic.c:256 dev_watchdog+0x178/0x280()
[ 17.060000] NETDEV WATCHDOG: eth0 (ag71xx): transmit queue 0 timed out
[ 17.060000] Modules linked in: usb_storage ohci_hcd ehci_hcd sd_mod ext4 jbd2 mbcache usbcore usb_common scsi_mod nls_base crc16 leds_gpio button_hotplug(O) gpio_keys_polled input_polldev input_core
[ 17.080000] Call Trace:
[ 17.080000] [<802818e8>] dump_stack+0x8/0x34
[ 17.090000] [<80075e58>] warn_slowpath_common+0x78/0xa4
[ 17.090000] [<80075f0c>] warn_slowpath_fmt+0x2c/0x38
[ 17.100000] [<801fd2dc>] dev_watchdog+0x178/0x280
[ 17.100000] [<80080528>] run_timer_softirq+0x14c/0x1ec
[ 17.110000] [<8007b674>] __do_softirq+0xac/0x15c
[ 17.110000] [<8007b87c>] do_softirq+0x48/0x68
[ 17.120000] [<80062bec>] ret_from_irq+0x0/0x4
[ 17.120000] [<80062de0>] r4k_wait+0x20/0x40
[ 17.130000] [<800648a8>] cpu_idle+0x24/0x44
[ 17.130000] [<803148c8>] start_kernel+0x37c/0x39c
[ 17.130000]
[ 17.140000] ---[ end trace ad0f0a4fc2f62e9d ]---
[ 17.140000] eth0: tx timeout
[ 17.140000] eth0: link down
[ 17.150000] ar71xx: pll_reg 0xb8050010: 0x11110000
[ 17.150000] eth0: link up (1000Mbps/Full duplex)
[ 27.050000] eth0: tx timeout
[ 27.050000] eth0: link down
[ 27.050000] ar71xx: pll_reg 0xb8050010: 0x11110000
[ 27.050000] eth0: link up (1000Mbps/Full duplex)
[ 32.830000] eth0: link down
[ 35.940000] Compat-wireless backport release: compat-wireless-2011-11-29
[ 35.940000] Backport based on wireless-testing.git master-2011-12-01
[ 35.970000] cfg80211: Calling CRDA to update world regulatory domain
[ 36.390000] NET: Registered protocol family 10
[ 36.850000] cfg80211: World regulatory domain updated:
[ 36.850000] cfg80211: (start_freq - end_freq bandwidth), (max_antenna_gain, max_eirp) 40000 KHz), (300 mBi, 2000 mBm)
[ 36.860000] cfg80211: (2402000 KHz - 2472000 KHz
[ 36.870000] cfg80211: (2457000 KHz - 2482000 KHz 20000 KHz), (300 mBi, 2000 mBm) 20000 KHz), (300 mBi, 2000 mBm)
[ 36.880000] cfg80211: (2474000 KHz - 2494000 KHz
[ 36.880000] cfg80211: (5170000 KHz - 5250000 KHz 40000 KHz), (300 mBi, 2000 mBm) 40000 KHz), (300 mBi, 2000 mBm)
[ 36.890000] cfg80211: (5735000 KHz - 5835000 KHz
[ 37.870000] PCI: Enabling device 0000:00:11.0 (0000 > 0002)>regdmn map search
[ 37.890000] ath: EEPROM regdomain: 0x0
[ 37.890000] ath: EEPROM indicates default country code should be used
[ 37.890000] ath: doing EEPROM country
[ 37.890000] ath: country maps to regdmn code: 0x3a
[ 37.890000] ath: Country alpha2 being used: US
[ 37.890000] ath: Regpair used: 0x3a
[ 37.890000] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[ 37.890000] Registered led device: ath9k-phy0
[ 37.890000] ieee80211 phy0: Atheros AR9280 Rev:2 mem=0xb0000000, irq=40
[ 37.900000] PCI: Enabling device 0000:00:12.0 (0000 > 0002)>regdmn map search
[ 37.910000] ath: eeprom contains invalid mac address: ff:ff:ff:ff:ff:ff
[ 37.920000] ath: random mac address will be used: ea:79:26:a7:81:75
[ 37.920000] ath: EEPROM regdomain: 0x0
[ 37.920000] ath: EEPROM indicates default country code should be used
[ 37.920000] ath: doing EEPROM country
[ 37.920000] ath: country maps to regdmn code: 0x3a
[ 37.920000] ath: Country alpha2 being used: US
[ 37.920000] ath: Regpair used: 0x3a
[ 37.930000] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[ 37.930000] Registered led device: ath9k-phy1
[ 37.930000] ieee80211 phy1: Atheros AR9280 Rev:2 mem=0xb0010000, irq=41
[ 37.940000] cfg80211: Calling CRDA for country: US
[ 38.160000] cfg80211: Regulatory domain changed to country: US
[ 38.170000] cfg80211: (start_freq - end_freq bandwidth), (max_antenna_gain, max_eirp) 40000 KHz), (300 mBi, 2700 mBm)
[ 38.180000] cfg80211: (2402000 KHz - 2472000 KHz
[ 38.180000] cfg80211: (5170000 KHz - 5250000 KHz 40000 KHz), (300 mBi, 1700 mBm) 40000 KHz), (300 mBi, 2000 mBm)
[ 38.190000] cfg80211: (5250000 KHz - 5330000 KHz
[ 38.200000] cfg80211: (5490000 KHz - 5600000 KHz 40000 KHz), (300 mBi, 2000 mBm) 40000 KHz), (300 mBi, 2000 mBm)
[ 38.210000] cfg80211: (5650000 KHz - 5710000 KHz
[ 38.220000] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm)
[ 38.360000] PPP generic driver version 2.4.2
[ 38.450000] tun: Universal TUN/TAP device driver, 1.6
[ 38.450000] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[ 38.480000] IPv6 over IPv4 tunneling driver
[ 38.580000] GRE over IPv4 demultiplexor driver
[ 38.640000] GRE over IPv4 tunneling driver
[ 38.720000] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 38.890000] NET: Registered protocol family 24
[ 38.950000] nf_conntrack version 0.5.0 (963 buckets, 3852 max)
[ 39.050000] PPTP driver version 0.8.5
[ 39.290000] xt_time: kernel timezone is -0000
[ 39.480000] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 41.350000] ADDRCONF: ge00: link is not ready
[ 43.030000] ar71xx: pll_reg 0xb8050010: 0x11110000
[ 43.030000] se00: link up (1000Mbps/Full duplex)
[ 48.080000] ADDRCONF: sw00: link is not ready
[ 50.770000] ADDRCONF: gw01: link is not ready
[ 53.050000] se00: tx timeout
[ 53.050000] se00: link down
[ 53.050000] ar71xx: pll_reg 0xb8050010: 0x11110000
[ 53.050000] se00: link up (1000Mbps/Full duplex)
[ 53.470000] ADDRCONF: sw10: link is not ready
[ 57.840000] gw01: Creating new IBSS network, BSSID ce:05:e9:34:0c:37
[ 57.840000] ADDRCONF: gw01: link becomes ready
[ 58.750000] ADDRCONF: gw11: link is not ready
[ 63.050000] se00: tx timeout
[ 63.050000] se00: link down
[ 63.050000] ar71xx: pll_reg 0xb8050010: 0x11110000
[ 63.050000] se00: link up (1000Mbps/Full duplex)
[ 67.040000] gw11: Creating new IBSS network, BSSID a2:37:f6:1d:cc:2e
[ 67.040000] ADDRCONF: gw11: link becomes ready
[ 73.050000] se00: tx timeout
[ 73.050000] se00: link down
[ 73.050000] ar71xx: pll_reg 0xb8050010: 0x11110000
[ 73.050000] se00: link up (1000Mbps/Full duplex)
[ 83.050000] se00: tx timeout
[ 83.050000] se00: link down
[ 83.050000] ar71xx: pll_reg 0xb8050010: 0x11110000
[ 83.050000] se00: link up (1000Mbps/Full duplex)
[ 93.050000] se00: tx timeout
[ 93.050000] se00: link down
[ 93.050000] ar71xx: pll_reg 0xb8050010: 0x11110000
[ 93.050000] se00: link up (1000Mbps/Full duplex)
[ 103.050000] se00: tx timeout
[ 103.050000] se00: link down
[ 103.050000] ar71xx: pll_reg 0xb8050010: 0x11110000
[ 103.050000] se00: link up (1000Mbps/Full duplex)
[ 113.050000] se00: tx timeout
[ 113.050000] se00: link down
[ 113.050000] ar71xx: pll_reg 0xb8050010: 0x11110000
[ 113.050000] se00: link up (1000Mbps/Full duplex)
[ 123.050000] se00: tx timeout
[ 123.050000] se00: link down
[ 123.050000] ar71xx: pll_reg 0xb8050010: 0x11110000
[ 123.050000] se00: link up (1000Mbps/Full duplex)
Updated by Dave Täht over 1 year ago
- File ag71xx_main.c added
- File yetanotherbadbql.patch added
Updated by Dave Täht over 1 year ago
I got it working... now to test.
Updated by Dave Täht over 1 year ago
- Status changed from New to Closed
I am happy to report I got bql backported to 3.2.2 successfully. Or so I think.
Updated by Tim Zhang over 1 year ago
Please enable this option when you configure your kernel, using 'make menuconfig'.
Networking support --> Networking options --> RPS
Because 'struct netdev_queue' has the member 'kobj' only when CONFIG_RPS is defined.
So does 'queues_kset' in 'struct net_device'.
You can find the definition in 'include/linux/netdevice.h'.
struct net_device {
...
#ifdef CONFIG_RPS
struct kset *queues_kset;
struct netdev_rx_queue *_rx;
/* Number of RX queues allocated at register_netdev() time */
unsigned int num_rx_queues;
/* Number of RX queues currently active in device */
unsigned int real_num_rx_queues;
#ifdef CONFIG_RFS_ACCEL
/* CPU reverse-mapping for RX completion interrupts, indexed by RX queue number. Assigned by driver.
* This must only be set if the ndo_rx_flow_steer operation is defined. */
struct cpu_rmap *rx_cpu_rmap;
#endif
#endif
...
};
...
struct netdev_queue {
...
#ifdef CONFIG_RPS
struct kobject kobj;
#endif
...
} ____cacheline_aligned_in_smp;
Have a good day!
Updated by Dave Täht about 1 year ago
- Target version changed from Cerowrt-1.0-rc8 to 1st Public Cerowrt release