From: Jason G. <jgu...@ob...> - 2006-10-29 03:25:46
|
On Fri, Oct 20, 2006 at 02:26:43PM -0700, Brandeburg, Jesse wrote: > any luck? I am expecting at the very least the BIOS changed behavior. Ok, I have upgraded to the latest BIOS (since I last posted yet another one has been released..) dmidecode says the version is now CO96510J.86A.5434.2006.1016.1710 With this bios I now have HPET working: ACPI: HPET id: 0x8086a201 base:0xfed00000 Using 14.318180 MHz WALL HPET GTOD HPET/TSC timer. This configuration still gives lost tick messages similar to before when the port is in gigabit mode. ethtool behaves the same way as before. I turned on CONFIG_PRINTK_TIME and added printks to trace the problem: [ 143.106472] in e1000_update_stats 3179 [ 143.106501] e1000_update_stats 3255 [ 143.106509] e1000_update_stats 3308 [ 143.106511] e1000_update_stats 3321 [ 143.106512] media_type 0 link_speed 1000 [ 143.106556] in e1000_read_phy_reg 3363 [ 143.106557] in e1000_swfw_sync_acquire 3271 0x2 [ 143.106559] out e1000_swfw_sync_acquire 3275 [ 143.206750] out e1000_get_software_flag 8385 extcnf_ctrl=0x20000a [ 143.206752] out e1000_read_phy_reg 3372 [ 143.206754] e1000_update_stats 3336 [ 143.206760] time.c: Lost 24 timer tick(s)! rip _spin_unlock_irqrestore+0x8/0x10) [..] [ 143.208397] out e1000_update_stats 3338 I've included the patch I am using so you can correlate the line numbers. The upshot is that the e1000_get_software_flag is timing out. That is called as part of e1000_read_phy_reg that is executed in the tail end of the update_stats function, while holding a spin lock. Thanks, Jason |