/linux-4.1.27/drivers/xen/ |
H A D | pcpu.c | 2 * pcpu.c 3 * Management physical cpu in dom0, get pcpu info and provide sys interface 57 struct pcpu { struct 99 struct pcpu *cpu = container_of(dev, struct pcpu, dev); show_online() 108 struct pcpu *pcpu = container_of(dev, struct pcpu, dev); store_online() local 120 ret = xen_pcpu_down(pcpu->cpu_id); store_online() 123 ret = xen_pcpu_up(pcpu->cpu_id); store_online() 168 struct pcpu *pcpu) pcpu_online_status() 171 !xen_pcpu_online(pcpu->flags)) { pcpu_online_status() 172 /* the pcpu is onlined */ pcpu_online_status() 173 pcpu->flags |= XEN_PCPU_FLAGS_ONLINE; pcpu_online_status() 174 kobject_uevent(&pcpu->dev.kobj, KOBJ_ONLINE); pcpu_online_status() 176 xen_pcpu_online(pcpu->flags)) { pcpu_online_status() 177 /* The pcpu is offlined */ pcpu_online_status() 178 pcpu->flags &= ~XEN_PCPU_FLAGS_ONLINE; pcpu_online_status() 179 kobject_uevent(&pcpu->dev.kobj, KOBJ_OFFLINE); pcpu_online_status() 183 static struct pcpu *get_pcpu(uint32_t cpu_id) get_pcpu() 185 struct pcpu *pcpu; get_pcpu() local 187 list_for_each_entry(pcpu, &xen_pcpus, list) { get_pcpu() 188 if (pcpu->cpu_id == cpu_id) get_pcpu() 189 return pcpu; get_pcpu() 197 struct pcpu *pcpu = container_of(dev, struct pcpu, dev); pcpu_release() local 199 list_del(&pcpu->list); pcpu_release() 200 kfree(pcpu); pcpu_release() 203 static void unregister_and_remove_pcpu(struct pcpu *pcpu) unregister_and_remove_pcpu() argument 207 if (!pcpu) unregister_and_remove_pcpu() 210 dev = &pcpu->dev; unregister_and_remove_pcpu() 211 /* pcpu remove would be implicitly done */ unregister_and_remove_pcpu() 215 static int register_pcpu(struct pcpu *pcpu) register_pcpu() argument 220 if (!pcpu) register_pcpu() 223 dev = &pcpu->dev; register_pcpu() 225 dev->id = pcpu->cpu_id; register_pcpu() 238 static struct pcpu *create_and_register_pcpu(struct xenpf_pcpuinfo *info) create_and_register_pcpu() 240 struct pcpu *pcpu; create_and_register_pcpu() local 246 pcpu = kzalloc(sizeof(struct pcpu), GFP_KERNEL); create_and_register_pcpu() 247 if (!pcpu) create_and_register_pcpu() 250 INIT_LIST_HEAD(&pcpu->list); create_and_register_pcpu() 251 pcpu->cpu_id = info->xen_cpuid; create_and_register_pcpu() 252 pcpu->flags = info->flags; create_and_register_pcpu() 254 /* Need hold on xen_pcpu_lock before pcpu list manipulations */ create_and_register_pcpu() 255 list_add_tail(&pcpu->list, &xen_pcpus); create_and_register_pcpu() 257 err = register_pcpu(pcpu); create_and_register_pcpu() 259 pr_warn("Failed to register pcpu%u\n", info->xen_cpuid); create_and_register_pcpu() 263 return pcpu; create_and_register_pcpu() 272 struct pcpu *pcpu = NULL; sync_pcpu() local 288 pcpu = get_pcpu(cpu); sync_pcpu() 294 unregister_and_remove_pcpu(pcpu); sync_pcpu() 298 if (!pcpu) { sync_pcpu() 299 pcpu = create_and_register_pcpu(info); sync_pcpu() 300 if (IS_ERR_OR_NULL(pcpu)) sync_pcpu() 303 pcpu_online_status(info, pcpu); sync_pcpu() 309 * Sync dom0's pcpu information with xen hypervisor's 318 struct pcpu *pcpu, *tmp; xen_sync_pcpus() local 328 list_for_each_entry_safe(pcpu, tmp, &xen_pcpus, list) xen_sync_pcpus() 329 unregister_and_remove_pcpu(pcpu); xen_sync_pcpus() 392 "xen-pcpu", NULL); xen_pcpu_init() 394 pr_warn("Failed to bind pcpu virq\n"); xen_pcpu_init() 400 pr_warn("Failed to register pcpu subsys\n"); xen_pcpu_init() 406 pr_warn("Failed to sync pcpu info\n"); xen_pcpu_init() 167 pcpu_online_status(struct xenpf_pcpuinfo *info, struct pcpu *pcpu) pcpu_online_status() argument
|
H A D | Makefile | 18 dom0-$(CONFIG_X86) += pcpu.o
|
/linux-4.1.27/arch/arm/common/ |
H A D | mcpm_platsmp.c | 23 unsigned int *pcpu, unsigned int *pcluster) cpu_to_pcpu() 28 *pcpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); cpu_to_pcpu() 34 unsigned int pcpu, pcluster, ret; mcpm_boot_secondary() local 37 cpu_to_pcpu(cpu, &pcpu, &pcluster); mcpm_boot_secondary() 40 __func__, cpu, pcpu, pcluster); mcpm_boot_secondary() 42 mcpm_set_entry_vector(pcpu, pcluster, NULL); mcpm_boot_secondary() 43 ret = mcpm_cpu_power_up(pcpu, pcluster); mcpm_boot_secondary() 46 mcpm_set_entry_vector(pcpu, pcluster, secondary_startup); mcpm_boot_secondary() 61 unsigned int pcpu, pcluster; mcpm_cpu_kill() local 63 cpu_to_pcpu(cpu, &pcpu, &pcluster); mcpm_cpu_kill() 65 return !mcpm_wait_for_cpu_powerdown(pcpu, pcluster); mcpm_cpu_kill() 80 unsigned int mpidr, pcpu, pcluster; mcpm_cpu_die() local 82 pcpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); mcpm_cpu_die() 84 mcpm_set_entry_vector(pcpu, pcluster, NULL); mcpm_cpu_die() 22 cpu_to_pcpu(unsigned int cpu, unsigned int *pcpu, unsigned int *pcluster) cpu_to_pcpu() argument
|
/linux-4.1.27/arch/s390/kernel/ |
H A D | smp.c | 64 struct pcpu { struct 73 static struct pcpu pcpu_devices[NR_CPUS]; 99 * member of a pcpu data structure within the pcpu_devices arreay. 119 static int pcpu_sigp_retry(struct pcpu *pcpu, u8 order, u32 parm) pcpu_sigp_retry() argument 124 cc = __pcpu_sigp(pcpu->address, order, parm, NULL); pcpu_sigp_retry() 133 static inline int pcpu_stopped(struct pcpu *pcpu) pcpu_stopped() argument 137 if (__pcpu_sigp(pcpu->address, SIGP_SENSE, pcpu_stopped() 143 static inline int pcpu_running(struct pcpu *pcpu) pcpu_running() argument 145 if (__pcpu_sigp(pcpu->address, SIGP_SENSE_RUNNING, pcpu_running() 153 * Find struct pcpu by cpu address. 155 static struct pcpu *pcpu_find_address(const struct cpumask *mask, u16 address) pcpu_find_address() 165 static void pcpu_ec_call(struct pcpu *pcpu, int ec_bit) pcpu_ec_call() argument 169 if (test_and_set_bit(ec_bit, &pcpu->ec_mask)) pcpu_ec_call() 171 order = pcpu_running(pcpu) ? SIGP_EXTERNAL_CALL : SIGP_EMERGENCY_SIGNAL; pcpu_ec_call() 172 pcpu_sigp_retry(pcpu, order, 0); pcpu_ec_call() 178 static int pcpu_alloc_lowcore(struct pcpu *pcpu, int cpu) pcpu_alloc_lowcore() argument 183 if (pcpu != &pcpu_devices[0]) { pcpu_alloc_lowcore() 184 pcpu->lowcore = (struct _lowcore *) pcpu_alloc_lowcore() 188 if (!pcpu->lowcore || !panic_stack || !async_stack) pcpu_alloc_lowcore() 191 async_stack = pcpu->lowcore->async_stack - ASYNC_FRAME_OFFSET; pcpu_alloc_lowcore() 192 panic_stack = pcpu->lowcore->panic_stack - PANIC_FRAME_OFFSET; pcpu_alloc_lowcore() 194 lc = pcpu->lowcore; pcpu_alloc_lowcore() 207 pcpu_sigp_retry(pcpu, SIGP_SET_PREFIX, (u32)(unsigned long) lc); pcpu_alloc_lowcore() 210 if (pcpu != &pcpu_devices[0]) { pcpu_alloc_lowcore() 213 free_pages((unsigned long) pcpu->lowcore, LC_ORDER); pcpu_alloc_lowcore() 220 static void pcpu_free_lowcore(struct pcpu *pcpu) pcpu_free_lowcore() argument 222 pcpu_sigp_retry(pcpu, SIGP_SET_PREFIX, 0); pcpu_free_lowcore() 223 lowcore_ptr[pcpu - pcpu_devices] = NULL; pcpu_free_lowcore() 224 vdso_free_per_cpu(pcpu->lowcore); pcpu_free_lowcore() 225 if (pcpu == &pcpu_devices[0]) pcpu_free_lowcore() 227 free_page(pcpu->lowcore->panic_stack-PANIC_FRAME_OFFSET); pcpu_free_lowcore() 228 free_pages(pcpu->lowcore->async_stack-ASYNC_FRAME_OFFSET, ASYNC_ORDER); pcpu_free_lowcore() 229 free_pages((unsigned long) pcpu->lowcore, LC_ORDER); pcpu_free_lowcore() 234 static void pcpu_prepare_secondary(struct pcpu *pcpu, int cpu) pcpu_prepare_secondary() argument 236 struct _lowcore *lc = pcpu->lowcore; pcpu_prepare_secondary() 254 static void pcpu_attach_task(struct pcpu *pcpu, struct task_struct *tsk) pcpu_attach_task() argument 256 struct _lowcore *lc = pcpu->lowcore; pcpu_attach_task() 268 static void pcpu_start_fn(struct pcpu *pcpu, void (*func)(void *), void *data) pcpu_start_fn() argument 270 struct _lowcore *lc = pcpu->lowcore; pcpu_start_fn() 276 pcpu_sigp_retry(pcpu, SIGP_RESTART, 0); pcpu_start_fn() 280 * Call function via PSW restart on pcpu and stop the current cpu. 282 static void pcpu_delegate(struct pcpu *pcpu, void (*func)(void *), pcpu_delegate() argument 285 struct _lowcore *lc = lowcore_ptr[pcpu - pcpu_devices]; pcpu_delegate() 289 if (pcpu->address == source_cpu) pcpu_delegate() 292 pcpu_sigp_retry(pcpu, SIGP_STOP, 0); pcpu_delegate() 303 : : "d" (pcpu->address), "d" (source_cpu), pcpu_delegate() 340 struct pcpu *pcpu; smp_call_online_cpu() local 343 pcpu = pcpu_find_address(cpu_online_mask, stap()); smp_call_online_cpu() 344 if (!pcpu) smp_call_online_cpu() 346 pcpu = pcpu_devices + cpumask_first(cpu_online_mask); smp_call_online_cpu() 347 pcpu_delegate(pcpu, func, data, (unsigned long) restart_stack); smp_call_online_cpu() 395 struct pcpu *pcpu = pcpu_devices + cpu; for_each_cpu() local 396 set_bit(ec_stop_cpu, &pcpu->ec_mask); for_each_cpu() 397 while (__pcpu_sigp(pcpu->address, SIGP_EMERGENCY_SIGNAL, for_each_cpu() 433 struct pcpu *pcpu = pcpu_devices + cpu; smp_send_stop() local 434 pcpu_sigp_retry(pcpu, SIGP_STOP, 0); smp_send_stop() 435 while (!pcpu_stopped(pcpu)) smp_send_stop() 626 struct pcpu *pcpu; smp_store_status() local 628 pcpu = pcpu_devices + cpu; smp_store_status() 629 if (__pcpu_sigp_relax(pcpu->address, SIGP_STOP_AND_STORE_STATUS, smp_store_status() 634 vx_sa = __pa(pcpu->lowcore->vector_save_area_addr); smp_store_status() 635 __pcpu_sigp_relax(pcpu->address, SIGP_STORE_ADDITIONAL_STATUS, smp_store_status() 679 struct pcpu *pcpu; __smp_rescan_cpus() local 694 pcpu = pcpu_devices + cpu; __smp_rescan_cpus() 695 pcpu->address = address + j; __smp_rescan_cpus() 696 pcpu->state = __smp_rescan_cpus() 794 struct pcpu *pcpu; __cpu_up() local 797 pcpu = pcpu_devices + cpu; __cpu_up() 798 if (pcpu->state != CPU_STATE_CONFIGURED) __cpu_up() 815 rc = pcpu_alloc_lowcore(pcpu, cpu); __cpu_up() 818 pcpu_prepare_secondary(pcpu, cpu); __cpu_up() 819 pcpu_attach_task(pcpu, tidle); __cpu_up() 820 pcpu_start_fn(pcpu, smp_start_secondary, NULL); __cpu_up() 859 struct pcpu *pcpu; __cpu_die() local 862 pcpu = pcpu_devices + cpu; __cpu_die() 863 while (!pcpu_stopped(pcpu)) __cpu_die() 865 pcpu_free_lowcore(pcpu); __cpu_die() 906 struct pcpu *pcpu = pcpu_devices; smp_prepare_boot_cpu() local 908 pcpu->state = CPU_STATE_CONFIGURED; smp_prepare_boot_cpu() 909 pcpu->address = stap(); smp_prepare_boot_cpu() 910 pcpu->lowcore = (struct _lowcore *)(unsigned long) store_prefix(); smp_prepare_boot_cpu() 954 struct pcpu *pcpu; cpu_configure_store() local 973 pcpu = pcpu_devices + cpu; cpu_configure_store() 977 if (pcpu->state != CPU_STATE_CONFIGURED) cpu_configure_store() 979 rc = sclp_cpu_deconfigure(pcpu->address >> smp_cpu_mt_shift); cpu_configure_store() 985 pcpu[i].state = CPU_STATE_STANDBY; cpu_configure_store() 992 if (pcpu->state != CPU_STATE_STANDBY) cpu_configure_store() 994 rc = sclp_cpu_configure(pcpu->address >> smp_cpu_mt_shift); cpu_configure_store() 1000 pcpu[i].state = CPU_STATE_CONFIGURED; cpu_configure_store()
|
/linux-4.1.27/arch/x86/kernel/cpu/ |
H A D | perf_event_amd_ibs.c | 54 struct cpu_perf_ibs __percpu *pcpu; member in struct:perf_ibs 369 struct cpu_perf_ibs *pcpu = this_cpu_ptr(perf_ibs->pcpu); perf_ibs_start() local 379 set_bit(IBS_STARTED, pcpu->state); perf_ibs_start() 389 struct cpu_perf_ibs *pcpu = this_cpu_ptr(perf_ibs->pcpu); perf_ibs_stop() local 393 stopping = test_and_clear_bit(IBS_STARTED, pcpu->state); perf_ibs_stop() 401 set_bit(IBS_STOPPING, pcpu->state); perf_ibs_stop() 423 struct cpu_perf_ibs *pcpu = this_cpu_ptr(perf_ibs->pcpu); perf_ibs_add() local 425 if (test_and_set_bit(IBS_ENABLED, pcpu->state)) perf_ibs_add() 430 pcpu->event = event; perf_ibs_add() 441 struct cpu_perf_ibs *pcpu = this_cpu_ptr(perf_ibs->pcpu); perf_ibs_del() local 443 if (!test_and_clear_bit(IBS_ENABLED, pcpu->state)) perf_ibs_del() 448 pcpu->event = NULL; perf_ibs_del() 518 struct cpu_perf_ibs *pcpu = this_cpu_ptr(perf_ibs->pcpu); perf_ibs_handle_irq() local 519 struct perf_event *event = pcpu->event; perf_ibs_handle_irq() 529 if (!test_bit(IBS_STARTED, pcpu->state)) { perf_ibs_handle_irq() 536 return test_and_clear_bit(IBS_STOPPING, pcpu->state) ? 1 : 0; perf_ibs_handle_irq() 628 struct cpu_perf_ibs __percpu *pcpu; perf_ibs_pmu_init() local 631 pcpu = alloc_percpu(struct cpu_perf_ibs); perf_ibs_pmu_init() 632 if (!pcpu) perf_ibs_pmu_init() 635 perf_ibs->pcpu = pcpu; perf_ibs_pmu_init() 650 perf_ibs->pcpu = NULL; perf_ibs_pmu_init() 651 free_percpu(pcpu); perf_ibs_pmu_init()
|
/linux-4.1.27/arch/s390/include/asm/ |
H A D | smp.h | 62 u16 pcpu = stap(); smp_stop_cpu() local 65 __pcpu_sigp(pcpu, SIGP_STOP, 0, NULL); smp_stop_cpu()
|
/linux-4.1.27/arch/powerpc/platforms/pseries/ |
H A D | smp.c | 65 int smp_query_cpu_stopped(unsigned int pcpu) smp_query_cpu_stopped() argument 76 status = rtas_call(qcss_tok, 1, 2, &cpu_status, pcpu); smp_query_cpu_stopped() 102 unsigned int pcpu; smp_startup_cpu() local 109 pcpu = get_hard_smp_processor_id(lcpu); smp_startup_cpu() 112 if (smp_query_cpu_stopped(pcpu) == QCSS_NOT_STOPPED){ smp_startup_cpu() 131 status = rtas_call(start_cpu, 3, 1, NULL, pcpu, start_here, pcpu); smp_startup_cpu()
|
H A D | hotplug-cpu.c | 203 unsigned int pcpu = get_hard_smp_processor_id(cpu); pseries_cpu_die() local 217 cpu_status = smp_query_cpu_stopped(pcpu); pseries_cpu_die() 227 cpu, pcpu, cpu_status); pseries_cpu_die()
|
/linux-4.1.27/arch/alpha/kernel/ |
H A D | err_common.c | 243 cdl_process_console_data_log(int cpu, struct percpu_struct *pcpu) cdl_process_console_data_log() 246 (IDENT_ADDR | pcpu->console_data_log_pa); cdl_process_console_data_log() 257 pcpu->console_data_log_pa = 0; cdl_process_console_data_log() 267 struct percpu_struct *pcpu; cdl_check_console_data_log() 271 pcpu = (struct percpu_struct *) cdl_check_console_data_log() 274 if (pcpu->console_data_log_pa) cdl_check_console_data_log() 275 cdl_process_console_data_log(cpu, pcpu); cdl_check_console_data_log() 241 cdl_process_console_data_log(int cpu, struct percpu_struct *pcpu) cdl_process_console_data_log() argument 265 struct percpu_struct *pcpu; cdl_check_console_data_log() local
|
/linux-4.1.27/kernel/ |
H A D | padata.c | 40 target_cpu = cpumask_first(pd->cpumask.pcpu); padata_index_to_cpu() 42 target_cpu = cpumask_next(target_cpu, pd->cpumask.pcpu); padata_index_to_cpu() 58 cpu_index = seq_nr % cpumask_weight(pd->cpumask.pcpu); padata_cpu_hash() 177 num_cpus = cpumask_weight(pd->cpumask.pcpu); padata_get_next() 354 if (!alloc_cpumask_var(&pd->cpumask.pcpu, GFP_KERNEL)) padata_setup_cpumasks() 357 cpumask_and(pd->cpumask.pcpu, pcpumask, cpu_online_mask); padata_setup_cpumasks() 394 for_each_cpu(cpu, pd->cpumask.pcpu) { padata_init_pqueues() 451 free_cpumask_var(pd->cpumask.pcpu); padata_free_pd() 465 for_each_cpu(cpu, pd->cpumask.pcpu) { padata_flush_queues() 515 if (!cpumask_equal(pd_old->cpumask.pcpu, pd_new->cpumask.pcpu)) padata_replace() 533 * if either pcpu or cbcpu or both cpumasks change. 598 cpumask_copy(pinst->cpumask.pcpu, pcpumask); __padata_set_cpumasks() 660 parallel_mask = pinst->cpumask.pcpu; padata_set_cpumask() 682 pd = padata_alloc_pd(pinst, pinst->cpumask.pcpu, __padata_add_cpu() 689 if (padata_validate_cpumask(pinst, pinst->cpumask.pcpu) && __padata_add_cpu() 722 cpumask_set_cpu(cpu, pinst->cpumask.pcpu); padata_add_cpu() 739 if (!padata_validate_cpumask(pinst, pinst->cpumask.pcpu) || __padata_remove_cpu() 743 pd = padata_alloc_pd(pinst, pinst->cpumask.pcpu, __padata_remove_cpu() 751 cpumask_clear_cpu(cpu, pd->cpumask.pcpu); __padata_remove_cpu() 781 cpumask_clear_cpu(cpu, pinst->cpumask.pcpu); padata_remove_cpu() 831 return cpumask_test_cpu(cpu, pinst->cpumask.pcpu) || pinst_has_cpu() 885 free_cpumask_var(pinst->cpumask.pcpu); __padata_free() 918 cpumask = pinst->cpumask.pcpu; show_cpumask() 1048 if (!alloc_cpumask_var(&pinst->cpumask.pcpu, GFP_KERNEL)) padata_alloc() 1051 free_cpumask_var(pinst->cpumask.pcpu); padata_alloc() 1066 cpumask_copy(pinst->cpumask.pcpu, pcpumask); padata_alloc() 1086 free_cpumask_var(pinst->cpumask.pcpu); padata_alloc()
|
H A D | module.c | 185 unsigned int sym, str, mod, vers, info, pcpu; member in struct:load_info::__anon13982 487 Elf_Shdr *pcpusec = &info->sechdrs[info->index.pcpu]; percpu_modalloc() 573 if (info->sechdrs[info->index.pcpu].sh_size != 0) percpu_modalloc() 1991 if (sym[i].st_shndx == info->index.pcpu) simplify_symbols() 2696 info->index.pcpu = find_pcpusec(info); setup_load_info() 2976 info->sechdrs[info->index.pcpu].sh_flags &= ~(unsigned long)SHF_ALLOC; layout_and_allocate() 3017 percpu_modcopy(mod, (void *)info->sechdrs[info->index.pcpu].sh_addr, post_relocation() 3018 info->sechdrs[info->index.pcpu].sh_size); post_relocation()
|
/linux-4.1.27/net/netfilter/ |
H A D | nf_conntrack_ecache.c | 40 static enum retry_state ecache_work_evict_list(struct ct_pcpu *pcpu) ecache_work_evict_list() argument 48 spin_lock(&pcpu->lock); ecache_work_evict_list() 50 hlist_nulls_for_each_entry(h, n, &pcpu->dying, hnnode) { ecache_work_evict_list() 71 spin_unlock(&pcpu->lock); ecache_work_evict_list() 85 struct ct_pcpu *pcpu; ecache_work() local 92 pcpu = per_cpu_ptr(ctnet->pcpu_lists, cpu); for_each_possible_cpu() 94 ret = ecache_work_evict_list(pcpu); for_each_possible_cpu()
|
H A D | nf_conntrack_core.c | 249 struct ct_pcpu *pcpu; nf_ct_add_to_dying_list() local 253 pcpu = per_cpu_ptr(nf_ct_net(ct)->ct.pcpu_lists, ct->cpu); nf_ct_add_to_dying_list() 255 spin_lock(&pcpu->lock); nf_ct_add_to_dying_list() 257 &pcpu->dying); nf_ct_add_to_dying_list() 258 spin_unlock(&pcpu->lock); nf_ct_add_to_dying_list() 264 struct ct_pcpu *pcpu; nf_ct_add_to_unconfirmed_list() local 268 pcpu = per_cpu_ptr(nf_ct_net(ct)->ct.pcpu_lists, ct->cpu); nf_ct_add_to_unconfirmed_list() 270 spin_lock(&pcpu->lock); nf_ct_add_to_unconfirmed_list() 272 &pcpu->unconfirmed); nf_ct_add_to_unconfirmed_list() 273 spin_unlock(&pcpu->lock); nf_ct_add_to_unconfirmed_list() 279 struct ct_pcpu *pcpu; nf_ct_del_from_dying_or_unconfirmed_list() local 282 pcpu = per_cpu_ptr(nf_ct_net(ct)->ct.pcpu_lists, ct->cpu); nf_ct_del_from_dying_or_unconfirmed_list() 284 spin_lock(&pcpu->lock); nf_ct_del_from_dying_or_unconfirmed_list() 287 spin_unlock(&pcpu->lock); nf_ct_del_from_dying_or_unconfirmed_list() 546 struct ct_pcpu *pcpu; nf_conntrack_tmpl_insert() local 555 pcpu = per_cpu_ptr(nf_ct_net(tmpl)->ct.pcpu_lists, tmpl->cpu); nf_conntrack_tmpl_insert() 557 spin_lock(&pcpu->lock); nf_conntrack_tmpl_insert() 560 &pcpu->tmpl); nf_conntrack_tmpl_insert() 561 spin_unlock_bh(&pcpu->lock); nf_conntrack_tmpl_insert() 1375 struct ct_pcpu *pcpu = per_cpu_ptr(net->ct.pcpu_lists, cpu); for_each_possible_cpu() local 1377 spin_lock_bh(&pcpu->lock); for_each_possible_cpu() 1378 hlist_nulls_for_each_entry(h, n, &pcpu->unconfirmed, hnnode) { for_each_possible_cpu() 1383 spin_unlock_bh(&pcpu->lock); for_each_possible_cpu() 1750 struct ct_pcpu *pcpu = per_cpu_ptr(net->ct.pcpu_lists, cpu); for_each_possible_cpu() local 1752 spin_lock_init(&pcpu->lock); for_each_possible_cpu() 1753 INIT_HLIST_NULLS_HEAD(&pcpu->unconfirmed, UNCONFIRMED_NULLS_VAL); for_each_possible_cpu() 1754 INIT_HLIST_NULLS_HEAD(&pcpu->dying, DYING_NULLS_VAL); for_each_possible_cpu() 1755 INIT_HLIST_NULLS_HEAD(&pcpu->tmpl, TEMPLATE_NULLS_VAL); for_each_possible_cpu()
|
H A D | nf_conntrack_helper.c | 419 struct ct_pcpu *pcpu = per_cpu_ptr(net->ct.pcpu_lists, cpu); for_each_possible_cpu() local 421 spin_lock_bh(&pcpu->lock); for_each_possible_cpu() 422 hlist_nulls_for_each_entry(h, nn, &pcpu->unconfirmed, hnnode) for_each_possible_cpu() 424 spin_unlock_bh(&pcpu->lock); for_each_possible_cpu()
|
H A D | nf_conntrack_netlink.c | 1210 struct ct_pcpu *pcpu; ctnetlink_dump_list() local 1215 pcpu = per_cpu_ptr(net->ct.pcpu_lists, cpu); ctnetlink_dump_list() 1216 spin_lock_bh(&pcpu->lock); ctnetlink_dump_list() 1217 list = dying ? &pcpu->dying : &pcpu->unconfirmed; ctnetlink_dump_list() 1239 spin_unlock_bh(&pcpu->lock); hlist_nulls_for_each_entry() 1247 spin_unlock_bh(&pcpu->lock);
|
/linux-4.1.27/arch/powerpc/platforms/cell/ |
H A D | smp.c | 76 unsigned int pcpu; smp_startup_cpu() local 83 pcpu = get_hard_smp_processor_id(lcpu); smp_startup_cpu() 96 status = rtas_call(start_cpu, 3, 1, NULL, pcpu, start_here, lcpu); smp_startup_cpu()
|
/linux-4.1.27/arch/powerpc/platforms/powernv/ |
H A D | smp.c | 60 unsigned int pcpu = get_hard_smp_processor_id(nr); pnv_smp_kick_cpu() local 83 rc = opal_query_cpu_status(pcpu, &status); pnv_smp_kick_cpu() 102 nr, pcpu); pnv_smp_kick_cpu() 103 rc = opal_start_cpu(pcpu, start_here); pnv_smp_kick_cpu() 117 " (status %d)...\n", nr, pcpu, status); pnv_smp_kick_cpu() 126 opal_start_cpu(pcpu, start_here); pnv_smp_kick_cpu()
|
/linux-4.1.27/include/linux/ |
H A D | padata.h | 103 * @pcpu: cpumask for the parallel workers. 107 cpumask_var_t pcpu; member in struct:padata_cpumask 147 * callbacks that will be called when either @pcpu or @cbcpu
|
H A D | acpi.h | 163 int acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, int *pcpu);
|
/linux-4.1.27/Documentation/trace/postprocess/ |
H A D | trace-pagealloc-postprocess.pl | 277 # Catch a full pcpu drain event 285 # Catch a full pcpu refill event
|
/linux-4.1.27/arch/ia64/kernel/ |
H A D | acpi.c | 868 static int _acpi_map_lsapic(acpi_handle handle, int physid, int *pcpu) _acpi_map_lsapic() argument 885 *pcpu = cpu; _acpi_map_lsapic() 890 int __ref acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, int *pcpu) acpi_map_cpu() argument 892 return _acpi_map_lsapic(handle, physid, pcpu); acpi_map_cpu()
|
/linux-4.1.27/arch/powerpc/include/asm/ |
H A D | plpar_wrappers.h | 12 int smp_query_cpu_stopped(unsigned int pcpu);
|
H A D | kvm_host.h | 277 u16 pcpu; member in struct:kvmppc_vcore
|
/linux-4.1.27/arch/powerpc/kvm/ |
H A D | book3s_hv_builtin.c | 228 int cpu = vc->pcpu; kvmhv_interrupt_vcore()
|
H A D | e500.c | 102 * both vcpu and pcpu know this mapping.
|
H A D | book3s_hv.c | 579 dt->processor_id = cpu_to_be16(vc->pcpu + vcpu->arch.ptid); kvmppc_create_dtl_entry() 1801 cpu = vc->pcpu + vcpu->arch.ptid; kvmppc_start_thread() 1805 vcpu->cpu = vc->pcpu; kvmppc_start_thread() 2001 vc->pcpu = smp_processor_id(); kvmppc_run_core() 2039 kvmppc_release_hwthread(vc->pcpu + i); kvmppc_run_core()
|
H A D | book3s_hv_rm_mmu.c | 62 cpumask_clear_cpu(local_paca->kvm_hstate.kvm_vcore->pcpu, global_invalidates()
|
/linux-4.1.27/mm/ |
H A D | zswap.c | 381 unsigned long action, void *pcpu) zswap_cpu_notifier() 383 unsigned long cpu = (unsigned long)pcpu; zswap_cpu_notifier() 380 zswap_cpu_notifier(struct notifier_block *nb, unsigned long action, void *pcpu) zswap_cpu_notifier() argument
|
H A D | zsmalloc.c | 1155 void *pcpu) zs_cpu_notifier() 1157 int ret, cpu = (long)pcpu; zs_cpu_notifier() 1154 zs_cpu_notifier(struct notifier_block *nb, unsigned long action, void *pcpu) zs_cpu_notifier() argument
|
H A D | percpu.c | 227 static void pcpu_set_page_chunk(struct page *page, struct pcpu_chunk *pcpu) pcpu_set_page_chunk() argument 229 page->index = (unsigned long)pcpu; pcpu_set_page_chunk()
|
H A D | vmalloc.c | 501 * Track the highest possible candidate for pcpu area __free_vmap_area()
|
/linux-4.1.27/arch/x86/kernel/acpi/ |
H A D | boot.c | 743 static int _acpi_map_lsapic(acpi_handle handle, int physid, int *pcpu) _acpi_map_lsapic() argument 756 *pcpu = cpu; _acpi_map_lsapic() 761 int __ref acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, int *pcpu) acpi_map_cpu() argument 763 return _acpi_map_lsapic(handle, physid, pcpu); acpi_map_cpu()
|
/linux-4.1.27/net/ipv4/ |
H A D | fib_trie.c | 2159 const struct trie_use_stats *pcpu = per_cpu_ptr(stats, cpu); for_each_possible_cpu() local 2161 s.gets += pcpu->gets; for_each_possible_cpu() 2162 s.backtrack += pcpu->backtrack; for_each_possible_cpu() 2163 s.semantic_match_passed += pcpu->semantic_match_passed; for_each_possible_cpu() 2164 s.semantic_match_miss += pcpu->semantic_match_miss; for_each_possible_cpu() 2165 s.null_node_hit += pcpu->null_node_hit; for_each_possible_cpu() 2166 s.resize_node_skipped += pcpu->resize_node_skipped; for_each_possible_cpu()
|
/linux-4.1.27/drivers/net/ethernet/marvell/ |
H A D | mvpp2.c | 800 struct mvpp2_txq_pcpu __percpu *pcpu; member in struct:mvpp2_tx_queue 4217 txq_pcpu_aux = per_cpu_ptr(txq->pcpu, cpu); for_each_present_cpu() 4647 txq_pcpu = per_cpu_ptr(txq->pcpu, cpu); for_each_present_cpu() 4676 txq_pcpu = per_cpu_ptr(txq->pcpu, cpu); for_each_present_cpu() 4732 txq_pcpu = per_cpu_ptr(txq->pcpu, cpu); for_each_present_cpu() 5120 struct mvpp2_txq_pcpu *txq_pcpu = this_cpu_ptr(txq->pcpu); mvpp2_tx_frag_process() 5183 txq_pcpu = this_cpu_ptr(txq->pcpu); mvpp2_tx() 5303 struct mvpp2_txq_pcpu *txq_pcpu = this_cpu_ptr(txq->pcpu); mvpp2_txq_done_percpu() 5950 txq->pcpu = alloc_percpu(struct mvpp2_txq_pcpu); mvpp2_port_init() 5951 if (!txq->pcpu) { mvpp2_port_init() 5960 txq_pcpu = per_cpu_ptr(txq->pcpu, cpu); for_each_present_cpu() 6025 free_percpu(port->txqs[queue]->pcpu); 6158 free_percpu(port->txqs[i]->pcpu); mvpp2_port_probe() 6176 free_percpu(port->txqs[i]->pcpu); mvpp2_port_remove()
|