cregit-Linux how code gets into the kernel

Release 4.10 arch/alpha/include/asm/pgalloc.h

#ifndef _ALPHA_PGALLOC_H

#define _ALPHA_PGALLOC_H

#include <linux/mm.h>
#include <linux/mmzone.h>

/*      
 * Allocate and free page tables. The xxx_kernel() versions are
 * used to allocate a kernel page table - this turns on ASN bits
 * if any.
 */


static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t pte) { pmd_set(pmd, (pte_t *)(page_to_pa(pte) + PAGE_OFFSET)); }

Contributors

PersonTokensPropCommitsCommitProp
richard hendersonrichard henderson1643.24%116.67%
pre-gitpre-git821.62%116.67%
linus torvaldslinus torvalds616.22%116.67%
al viroal viro38.11%116.67%
ivan kokshayskyivan kokshaysky38.11%116.67%
martin schwidefskymartin schwidefsky12.70%116.67%
Total37100.00%6100.00%

#define pmd_pgtable(pmd) pmd_page(pmd)
static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) { pmd_set(pmd, pte); }

Contributors

PersonTokensPropCommitsCommitProp
richard hendersonrichard henderson2592.59%133.33%
pre-gitpre-git27.41%266.67%
Total27100.00%3100.00%


static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, pmd_t *pmd) { pgd_set(pgd, pmd); }

Contributors

PersonTokensPropCommitsCommitProp
richard hendersonrichard henderson1555.56%133.33%
pre-gitpre-git1244.44%266.67%
Total27100.00%3100.00%

extern pgd_t *pgd_alloc(struct mm_struct *mm);
static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) { free_page((unsigned long)pgd); }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git1976.00%250.00%
benjamin herrenschmidtbenjamin herrenschmidt520.00%125.00%
richard hendersonrichard henderson14.00%125.00%
Total25100.00%4100.00%


static inline pmd_t * pmd_alloc_one(struct mm_struct *mm, unsigned long address) { pmd_t *ret = (pmd_t *)__get_free_page(GFP_KERNEL|__GFP_ZERO); return ret; }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds2571.43%125.00%
pre-gitpre-git822.86%125.00%
andrew mortonandrew morton12.86%125.00%
christoph lameterchristoph lameter12.86%125.00%
Total35100.00%4100.00%


static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) { free_page((unsigned long)pmd); }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git1976.00%250.00%
benjamin herrenschmidtbenjamin herrenschmidt520.00%125.00%
richard hendersonrichard henderson14.00%125.00%
Total25100.00%4100.00%


static inline pte_t * pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address) { pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_ZERO); return pte; }

Contributors

PersonTokensPropCommitsCommitProp
ivan kokshayskyivan kokshaysky2365.71%125.00%
pre-gitpre-git822.86%125.00%
linus torvaldslinus torvalds38.57%125.00%
richard hendersonrichard henderson12.86%125.00%
Total35100.00%4100.00%


static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) { free_page((unsigned long)pte); }

Contributors

PersonTokensPropCommitsCommitProp
richard hendersonrichard henderson1144.00%133.33%
linus torvaldslinus torvalds936.00%133.33%
benjamin herrenschmidtbenjamin herrenschmidt520.00%133.33%
Total25100.00%3100.00%


static inline pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long address) { pte_t *pte = pte_alloc_one_kernel(mm, address); struct page *page; if (!pte) return NULL; page = virt_to_page(pte); if (!pgtable_page_ctor(page)) { __free_page(page); return NULL; } return page; }

Contributors

PersonTokensPropCommitsCommitProp
martin schwidefskymartin schwidefsky2029.41%114.29%
andrew mortonandrew morton1522.06%114.29%
kirill a. shutemovkirill a. shutemov1319.12%114.29%
richard hendersonrichard henderson710.29%114.29%
linus torvaldslinus torvalds710.29%114.29%
pre-gitpre-git68.82%228.57%
Total68100.00%7100.00%


static inline void pte_free(struct mm_struct *mm, pgtable_t page) { pgtable_page_dtor(page); __free_page(page); }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git1040.00%240.00%
martin schwidefskymartin schwidefsky624.00%120.00%
richard hendersonrichard henderson520.00%120.00%
benjamin herrenschmidtbenjamin herrenschmidt416.00%120.00%
Total25100.00%5100.00%

#define check_pgt_cache() do { } while (0) #endif /* _ALPHA_PGALLOC_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git10428.26%318.75%
richard hendersonrichard henderson9826.63%212.50%
linus torvaldslinus torvalds5013.59%16.25%
martin schwidefskymartin schwidefsky349.24%16.25%
ivan kokshayskyivan kokshaysky308.15%318.75%
benjamin herrenschmidtbenjamin herrenschmidt195.16%16.25%
andrew mortonandrew morton164.35%212.50%
kirill a. shutemovkirill a. shutemov133.53%16.25%
al viroal viro30.82%16.25%
christoph lameterchristoph lameter10.27%16.25%
Total368100.00%16100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.