svn commit: r199192 - head/sys/dev/e1000

John Baldwin jhb at freebsd.org
Mon Dec 28 19:08:54 UTC 2009


On Wednesday 11 November 2009 2:13:40 pm Jack F Vogel wrote:
> Author: jfv
> Date: Wed Nov 11 19:13:40 2009
> New Revision: 199192
> URL: http://svn.freebsd.org/changeset/base/199192
> 
> Log:
>   With an i386 kernel the igb driver can cause a
>   page fault panic on initialization due to a large
>   number of bounce pages being allocated. This is due
>   to the dma tag requiring page alignment on mbuf mapping.
>   This was removed some time back from the ixgbe driver
>   and is not needed here either.
> 
> Modified:
>   head/sys/dev/e1000/if_igb.c
> 
> Modified: head/sys/dev/e1000/if_igb.c
> 
==============================================================================
> --- head/sys/dev/e1000/if_igb.c	Wed Nov 11 19:00:12 2009	(r199191)
> +++ head/sys/dev/e1000/if_igb.c	Wed Nov 11 19:13:40 2009	(r199192)
> @@ -2654,7 +2654,7 @@ igb_dma_malloc(struct adapter *adapter, 
>  	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 */

em(4) still has EM_DBA_ALIGN for em_dma_alloc(), but it uses '1' for the align 
for RX and TX buffers.  Should this specific tag be changed back to using 
IGB_DBA_ALIGN or should em(4) be changed to use '1' for em_dma_alloc()?

-- 
John Baldwin


More information about the svn-src-head mailing list