Re: page fault in igb driver on 8.0-RC2

From: Jack Vogel <jfvogel_at_gmail.com>
Date: Tue, 10 Nov 2009 11:20:39 -0800
This is a fix for this problem, please apply and test this.

Jack

------- if_igb.c    (revision 197079)
+++ if_igb.c    (working copy)
_at__at_ -2654,7 +2654,7 _at__at_
     int error;

     error = bus_dma_tag_create(bus_get_dma_tag(adapter->dev), /* parent */
-                IGB_DBA_ALIGN, 0,    /* alignment, bounds */
+                1, 0,            /* alignment, bounds */
                 BUS_SPACE_MAXADDR,    /* lowaddr */
                 BUS_SPACE_MAXADDR,    /* highaddr */
                 NULL, NULL,        /* filter, filterarg */
_at__at_ -2867,7 +2867,7 _at__at_
      * Setup DMA descriptor areas.
      */
     if ((error = bus_dma_tag_create(NULL,        /* parent */
-                   PAGE_SIZE, 0,        /* alignment, bounds */
+                   1, 0,            /* alignment, bounds */
                    BUS_SPACE_MAXADDR,    /* lowaddr */
                    BUS_SPACE_MAXADDR,    /* highaddr */
                    NULL, NULL,        /* filter, filterarg */
_at__at_ -3554,7 +3554,7 _at__at_
     ** it may not always use this.
     */
     if ((error = bus_dma_tag_create(NULL,        /* parent */
-                   PAGE_SIZE, 0,    /* alignment, bounds */
+                   1, 0,        /* alignment, bounds */
                    BUS_SPACE_MAXADDR,    /* lowaddr */
                    BUS_SPACE_MAXADDR,    /* highaddr */
                    NULL, NULL,        /* filter, filterarg */



On Tue, Nov 10, 2009 at 10:57 AM, Jack Vogel <jfvogel_at_gmail.com> wrote:

> I have repro'd this failure this morning and think I have a fix for it, I
> am testing that soon.
>
> Stay tuned,
>
> Jack
>
>
>
> On Mon, Nov 9, 2009 at 6:28 PM, Mike Tancsa <mike_at_sentex.net> wrote:
>
>> At 07:33 PM 11/9/2009, Jack Vogel wrote:
>>
>>> Some reason you aren't using amd64? I will have a system installed that
>>> way
>>> and see if I can repro it then, thanks.
>>>
>>
>>
>> I had found in the past i386 was faster for firewall and routing
>> applications.   Perhaps thats different now, I will give it a try again to
>> see if there is any difference.
>>
>> pciconf and dmesg attached.
>>
>>        ---Mike
>>
>>
>>
>>  Jack
>>>
>>>
>>>
>>> On Mon, Nov 9, 2009 at 4:22 PM, Mike Tancsa <<mailto:mike_at_sentex.net>
>>> mike_at_sentex.net> wrote:
>>> At 05:59 PM 11/9/2009, Jack Vogel wrote:
>>> Are you using standard MTU or jumbo? That get_buf error is ENOMEM, looks
>>> like
>>> that happens when in the bus_dma stuff reserve_bounce_pages() fails.
>>>
>>> Are you maybe using a 32 bit kernel? I have not seen this failure here.
>>>
>>>
>>> Hi Jack,
>>>       Standard MTU and i386
>>>
>>>       ---Mike
>>>
>>>
>>>
>>> --------------------------------------------------------------------
>>> Mike Tancsa,                                      tel +1 519 651 3400
>>> Sentex Communications, <mailto:mike_at_sentex.net>mike_at_sentex.net
>>> Providing Internet since 1994                    <http://www.sentex.net>
>>> www.sentex.net
>>> Cambridge, Ontario Canada                         <
>>> http://www.sentex.net/mike>www.sentex.net/mike
>>>
>>>
>> --------------------------------------------------------------------
>> Mike Tancsa,                                      tel +1 519 651 3400
>> Sentex Communications,                            mike_at_sentex.net
>> Providing Internet since 1994                    www.sentex.net
>> Cambridge, Ontario Canada                         www.sentex.net/mike
>>
>
>
Received on Tue Nov 10 2009 - 18:20:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:57 UTC