lkml.org 
[lkml]   [2008]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 13/16] AMD IOMMU: replace memset with __GFP_ZERO for table allocation
    Date
    This patch removes the memset from the data structure initialization code and
    allocate the structures with the __GFP_ZERO flag.

    Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
    ---
    arch/x86/kernel/amd_iommu_init.c | 14 +++++---------
    1 files changed, 5 insertions(+), 9 deletions(-)

    diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c
    index 0c24703..2efc3d5 100644
    --- a/arch/x86/kernel/amd_iommu_init.c
    +++ b/arch/x86/kernel/amd_iommu_init.c
    @@ -890,7 +890,7 @@ int __init amd_iommu_init(void)
    ret = -ENOMEM;

    /* Device table - directly used by all IOMMUs */
    - amd_iommu_dev_table = (void *)__get_free_pages(GFP_KERNEL,
    + amd_iommu_dev_table = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,
    get_order(dev_table_size));
    if (amd_iommu_dev_table == NULL)
    goto out;
    @@ -914,27 +914,23 @@ int __init amd_iommu_init(void)
    * Protection Domain table - maps devices to protection domains
    * This table has the same size as the rlookup_table
    */
    - amd_iommu_pd_table = (void *)__get_free_pages(GFP_KERNEL,
    + amd_iommu_pd_table = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,
    get_order(rlookup_table_size));
    if (amd_iommu_pd_table == NULL)
    goto free;

    - amd_iommu_pd_alloc_bitmap = (void *)__get_free_pages(GFP_KERNEL,
    + amd_iommu_pd_alloc_bitmap = (void *)__get_free_pages(
    + GFP_KERNEL | __GFP_ZERO,
    get_order(MAX_DOMAIN_ID/8));
    if (amd_iommu_pd_alloc_bitmap == NULL)
    goto free;

    /*
    - * memory is allocated now; initialize the device table with all zeroes
    - * and let all alias entries point to itself
    + * let all alias entries point to itself
    */
    - memset(amd_iommu_dev_table, 0, dev_table_size);
    for (i = 0; i < amd_iommu_last_bdf; ++i)
    amd_iommu_alias_table[i] = i;

    - memset(amd_iommu_pd_table, 0, rlookup_table_size);
    - memset(amd_iommu_pd_alloc_bitmap, 0, MAX_DOMAIN_ID / 8);
    -
    /*
    * never allocate domain 0 because its used as the non-allocated and
    * error value placeholder
    --
    1.5.3.7



    \
     
     \ /
      Last update: 2008-07-11 17:21    [W:0.037 / U:31.504 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site