Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\mempolicy.c Create Date:2022-07-28 15:33:35
Last Modify:2020-03-17 22:28:11 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:mpol_shared_policy_init - initialize shared policy for inode*@sp: pointer to inode shared policy*@mpol: struct mempolicy to install* Install non-NULL @mpol in inode's shared policy rb-tree.* On entry, the current task has a reference on a non-NULL @mpol.

Proto:void mpol_shared_policy_init(struct shared_policy *sp, struct mempolicy *mpol)

Type:void

Parameter:

TypeParameterName
struct shared_policy *sp
struct mempolicy *mpol
2603  root =
2604  rwlock_init( & lock)
2606  If mpol Then
2609  NODEMASK_SCRATCH(scratch)
2611  If Not scratch Then Go to put_mpol
2614  new = This function just creates a new policy, does some check and simple* initialization. You must invoke mpol_set_nodemask() to set nodes.
2615  If IS_ERR(new) Then Go to free_scratch
2618  Protects ->fs, ->files, ->mm, ->group_info, ->comm, keyring* subscriptions and synchronises with wait4(). Also used in procfs. Also* pins the final release of task.io_context. Also protects ->cpuset and* ->cgroup.subsys[]. And ->vfork_done.
2619  ret = mpol_set_nodemask is called after mpol_new() to set up the nodemask, if* any, for the new policy. mpol_new() has already validated the nodes* parameter with respect to the policy mode and flags. But, we need to
2620  task_unlock(current process)
2621  If ret Then Go to put_new
2625  vma_init( & pvma, NULL)
2626  The first byte after our end addresswithin vm_mm. = TASK_SIZE
2627  mpol_set_shared_policy(sp, & pvma, new)
2629  put_new :
2630  mpol_put(new)
2631  free_scratch :
2632  NODEMASK_SCRATCH_FREE(scratch)
2633  put_mpol :
2634  mpol_put(mpol)