git: NFE - Fix bug with imtimer transitions and improve performa

看板DFBSD_commit作者時間16年前 (2009/09/03 13:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit c00ddf3338e01a6f586adc9280ec218af71a7eb2 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Wed Sep 2 22:06:22 2009 -0700 NFE - Fix bug with imtimer transitions and improve performance * When the imtimer transitions to a new state via a sysctl the code called ifp->if_init() which more often then not caused the device to stop taking all interrupts. * Change the way dynamic interrupt moderation works. Timer moderation is not turned on until the discrete interrupt rate exceeds the threshold. e.g. by default 500uS is 2000 interrupts/second so timer moderation is not turned on until the discrete interrupt rate exceeds 2000 ips. This allows the device to respond interactively as long as traffic levels are reasonable, before converting into moderation-timer-based batching. Timer moderation is turned off and we go back to discrete interrupts if the average rate over ~4 seconds falls below the threshold. * Change the interrupt moderation default from 125uS to 500uS. 125uS can saturate the cpu if the interrupt line is shared with other devices. A larger moderation timer is also more reasonable now that discrete interrupts are left intact until the rate exceeds the threshold. The moderation timer should be roughly designed to deal with the txring and rxring size. Summary of changes: sys/dev/netif/nfe/if_nfe.c | 63 +++++++++++++++++++++++++++++----------- sys/dev/netif/nfe/if_nfevar.h | 3 ++ 2 files changed, 48 insertions(+), 18 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c00ddf3338e01a6f586adc9280ec218af71a7eb2 -- DragonFly BSD source repository
文章代碼(AID): #1AdrJN4E (DFBSD_commit)