preempt_disable();
        if (waitqueue_active(&log_wait)) {
                this_cpu_or(printk_pending, PRINTK_PENDING_WAKEUP);
-               irq_work_queue(&__get_cpu_var(wake_up_klogd_work));
+               irq_work_queue(this_cpu_ptr(&wake_up_klogd_work));
        }
        preempt_enable();
 }
        va_end(args);
 
        __this_cpu_or(printk_pending, PRINTK_PENDING_OUTPUT);
-       irq_work_queue(&__get_cpu_var(wake_up_klogd_work));
+       irq_work_queue(this_cpu_ptr(&wake_up_klogd_work));
        preempt_enable();
 
        return r;
 
        if (!csd) {
                csd = &csd_stack;
                if (!wait)
-                       csd = &__get_cpu_var(csd_data);
+                       csd = this_cpu_ptr(&csd_data);
        }
 
        csd_lock(csd);
 
        WARN_ON(!irqs_disabled());
 
-       head = &__get_cpu_var(call_single_queue);
+       head = this_cpu_ptr(&call_single_queue);
        entry = llist_del_all(head);
        entry = llist_reverse_order(entry);
 
                return;
        }
 
-       cfd = &__get_cpu_var(cfd_data);
+       cfd = this_cpu_ptr(&cfd_data);
 
        cpumask_and(cfd->cpumask, mask, cpu_online_mask);
        cpumask_clear_cpu(this_cpu, cfd->cpumask);