Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/arch/sparc64/dev



>>> matthew green <mrg%eterna.com.au@localhost> wrote

> 
>    Module Name:       src
>    Committed By:      nakayama
>    Date:              Mon Dec  7 11:14:27 UTC 2009
>    
>    Modified Files:
>       src/sys/arch/sparc64/dev: iommu.c
>    
>    Log Message:
>    Avoid use of iommu_dvmamap_unload in error path.  It is too
>    expensive since it contains data cache flushing.
>    
>    Some driver (tlp(4) with DM9201 on Netra X1) can only handle one
>    DMA segment, so it was called frequently.
> 
> +       /* How can this fail?  And if it does what can we do? */
> +       err = extent_free(is->is_dvmamap, map->_dm_dvmastart, sgsize,
> +           EX_NOWAIT);
> 
> 
> this can fail almost any time.  it happens when there is no free
> memory and to free a chunk would require to split a current extent
> range into two.

Ah, OK.  I added the warning printf as well as what we do in
iommu_dvmamap_unload.

-- Takeshi Nakayama


Home | Main Index | Thread Index | Old Index