search for: in_irq

Displaying 17 results from an estimated 17 matches for "in_irq".

Did you mean: hw_irq
2008 Feb 01
4
[PATCH] x86: adjust reserved bit page fault handling
...addr, guest_cpu_user_regs()); } static int handle_gdt_ldt_mapping_fault( @@ -1034,8 +1047,10 @@ static int fixup_page_fault(unsigned lon struct vcpu *v = current; struct domain *d = v->domain; - /* No fixups in interrupt context or when interrupts are disabled. */ - if ( in_irq() || !(regs->eflags & X86_EFLAGS_IF) ) + /* No fixups in interrupt context, when interrupts are disabled, or + * when a reserved bit was found to be set. */ + if ( in_irq() || !(regs->eflags & X86_EFLAGS_IF) || + (regs->error_code & PFEC_reserved_bit) )...
2009 Jul 15
0
[PATCH] rename for_each_cpu() to for_each_possible_cpu()
...,7 @@ xenpfm_context_create(XEN_GUEST_HANDLE(p goto out; /* XXX fmt */ - for_each_cpu(cpu) { + for_each_possible_cpu(cpu) { ctx[cpu] = pfm_context_create(&kreq); if (ctx[cpu] == NULL) { error = -ENOMEM; @@ -7325,20 +7325,20 @@ xenpfm_context_create(XEN_GUEST_HANDLE(p BUG_ON(in_irq()); spin_lock(&xenpfm_context_lock); - for_each_cpu(cpu) { + for_each_possible_cpu(cpu) { if (per_cpu(xenpfm_context, cpu) != NULL) { error = -EBUSY; break; } } - for_each_cpu(cpu) { + for_each_possible_cpu(cpu) { per_cpu(xenpfm_context, cpu) = ctx[cpu]; ctx[cpu] = NULL;...
2020 Nov 03
0
[patch V3 19/37] mm/highmem: Remove the old kmap_atomic cruft
...le(0) -#endif /* CONFIG_HIGHMEM */ - -#if !defined(CONFIG_KMAP_LOCAL) -#if defined(CONFIG_HIGHMEM) - -DECLARE_PER_CPU(int, __kmap_atomic_idx); - -static inline int kmap_atomic_idx_push(void) -{ - int idx = __this_cpu_inc_return(__kmap_atomic_idx) - 1; - -#ifdef CONFIG_DEBUG_HIGHMEM - WARN_ON_ONCE(in_irq() && !irqs_disabled()); - BUG_ON(idx >= KM_TYPE_NR); -#endif - return idx; -} - -static inline int kmap_atomic_idx(void) -{ - return __this_cpu_read(__kmap_atomic_idx) - 1; -} -static inline void kmap_atomic_idx_pop(void) -{ -#ifdef CONFIG_DEBUG_HIGHMEM - int idx = __this_cpu_dec_retur...
2007 Dec 21
0
[kvm-devel] [Virtio-for-kvm] [PATCH 6/13] [Mostly resend] virtio additions
...struct sk_buff_head send; @@ -223,6 +230,20 @@ static void free_old_xmit_skbs(struct virtnet_info *vi) } } +static enum hrtimer_restart kick_xmit(struct hrtimer *t) +{ + struct virtnet_info *vi = container_of(t,struct virtnet_info,tx_timer); + + BUG_ON(!in_softirq()); + BUG_ON(in_irq()); + netif_tx_lock(vi->dev); + vi->svq->vq_ops->kick(vi->svq); + vi->out_num = 0; + netif_tx_unlock(vi->dev); + + return HRTIMER_NORESTART; +} + static int start_xmit(struct sk_buff *skb, struct net_device *dev) { struct virtnet_info *vi = netdev_priv(dev...
2007 Dec 21
0
[kvm-devel] [Virtio-for-kvm] [PATCH 6/13] [Mostly resend] virtio additions
...struct sk_buff_head send; @@ -223,6 +230,20 @@ static void free_old_xmit_skbs(struct virtnet_info *vi) } } +static enum hrtimer_restart kick_xmit(struct hrtimer *t) +{ + struct virtnet_info *vi = container_of(t,struct virtnet_info,tx_timer); + + BUG_ON(!in_softirq()); + BUG_ON(in_irq()); + netif_tx_lock(vi->dev); + vi->svq->vq_ops->kick(vi->svq); + vi->out_num = 0; + netif_tx_unlock(vi->dev); + + return HRTIMER_NORESTART; +} + static int start_xmit(struct sk_buff *skb, struct net_device *dev) { struct virtnet_info *vi = netdev_priv(dev...
2010 Aug 02
4
softirq warnings when calling dev_kfree_skb_irq - bug in conntrack?
...lt;ffffffff814b84e3>] ? rest_init+0x67/0x69 [<ffffffff81afcc10>] ? start_kernel+0x387/0x392 [<ffffffff81afc2c8>] ? x86_64_start_reservations+0xb3/0xb7 [<ffffffff81affed2>] ? xen_start_kernel+0x4be/0x4c2 ---[ end trace 755676650ea49003 ]--- The warning is: WARN_ON_ONCE(in_irq() || irqs_disabled()); It seems the basic problem is that xennet_tx_buf_gc() is being called in interrupt context - with smartpoll it''s from the timer interrupt, but even without it is being called from xennet_interrupt(), which in turn calls dev_kfree_skb_irq(). Since this should be...
2020 Nov 03
0
[patch V3 06/37] highmem: Provide generic variant of kmap_atomic*
...gh); -#endif /* CONFIG_HIGHMEM */ +#endif /* CONFIG_HIGHMEM */ + +#ifdef CONFIG_KMAP_LOCAL + +#include <asm/kmap_size.h> + +static DEFINE_PER_CPU(int, __kmap_local_idx); + +static inline int kmap_local_idx_push(void) +{ + int idx = __this_cpu_inc_return(__kmap_local_idx) - 1; + + WARN_ON_ONCE(in_irq() && !irqs_disabled()); + BUG_ON(idx >= KM_MAX_IDX); + return idx; +} + +static inline int kmap_local_idx(void) +{ + return __this_cpu_read(__kmap_local_idx) - 1; +} + +static inline void kmap_local_idx_pop(void) +{ + int idx = __this_cpu_dec_return(__kmap_local_idx); + + BUG_ON(idx <...
2020 Nov 03
0
[patch V3 24/37] sched: highmem: Store local kmaps in task struct
...DEBUG_HIGHMEM the stack depth is doubled and every second * slot is unused which acts as a guard page @@ -379,23 +377,21 @@ static DEFINE_PER_CPU(int, __kmap_local_ static inline int kmap_local_idx_push(void) { - int idx = __this_cpu_add_return(__kmap_local_idx, KM_INCR) - 1; - WARN_ON_ONCE(in_irq() && !irqs_disabled()); - BUG_ON(idx >= KM_MAX_IDX); - return idx; + current->kmap_ctrl.idx += KM_INCR; + BUG_ON(current->kmap_ctrl.idx >= KM_TYPE_NR); + return current->kmap_ctrl.idx - 1; } static inline int kmap_local_idx(void) { - return __this_cpu_read(__kmap_local_i...
2013 Apr 09
39
[PATCH 0/4] Add posted interrupt supporting
From: Yang Zhang <yang.z.zhang@Intel.com> The follwoing patches are adding the Posted Interrupt supporting to Xen: Posted Interrupt allows vAPIC interrupts to inject into guest directly without any vmexit. - When delivering a interrupt to guest, if target vcpu is running, update Posted-interrupt requests bitmap and send a notification event to the vcpu. Then the vcpu will handle this
2013 Oct 10
10
[PATCH 0/4] x86: XSA-67 follow-up
1: correct LDT checks 2: add address validity check to guest_map_l1e() 3: use {rd,wr}{fs,gs}base when available 4: check for canonical address before doing page walks Signed-off-by: Jan Beulich <jbeulich@suse.com>
2020 Nov 03
45
[patch V3 00/37] mm/highmem: Preemptible variant of kmap_atomic & friends
Following up to the discussion in: https://lore.kernel.org/r/20200914204209.256266093 at linutronix.de and the second version of this: https://lore.kernel.org/r/20201029221806.189523375 at linutronix.de this series provides a preemptible variant of kmap_atomic & related interfaces. This is achieved by: - Removing the RT dependency from migrate_disable/enable() - Consolidating all
2020 Nov 03
45
[patch V3 00/37] mm/highmem: Preemptible variant of kmap_atomic & friends
Following up to the discussion in: https://lore.kernel.org/r/20200914204209.256266093 at linutronix.de and the second version of this: https://lore.kernel.org/r/20201029221806.189523375 at linutronix.de this series provides a preemptible variant of kmap_atomic & related interfaces. This is achieved by: - Removing the RT dependency from migrate_disable/enable() - Consolidating all
2020 Nov 03
45
[patch V3 00/37] mm/highmem: Preemptible variant of kmap_atomic & friends
Following up to the discussion in: https://lore.kernel.org/r/20200914204209.256266093 at linutronix.de and the second version of this: https://lore.kernel.org/r/20201029221806.189523375 at linutronix.de this series provides a preemptible variant of kmap_atomic & related interfaces. This is achieved by: - Removing the RT dependency from migrate_disable/enable() - Consolidating all
2007 Jan 17
11
[PATCH] Add RCU support into Xen - Repost
...all.h> #include <public/sched.h> @@ -552,9 +553,15 @@ static void schedule(void) struct schedule_data *sd; struct task_slice next_slice; s32 r_time; /* time for new dom to run */ + int cpu = smp_processor_id(); ASSERT(!in_irq()); ASSERT(this_cpu(mc_state).flags == 0); + + if (rcu_pending(cpu)) + /* since __enter_scheduler is called from softirq context + * we know we are in a quiescent state */ + rcu_check_callbacks(cpu,1); perfc_incrc(sched_run); @@ -649,6 +656,12 @@ static void...
2007 Jan 17
11
[PATCH] Add RCU support into Xen - Repost
...all.h> #include <public/sched.h> @@ -552,9 +553,15 @@ static void schedule(void) struct schedule_data *sd; struct task_slice next_slice; s32 r_time; /* time for new dom to run */ + int cpu = smp_processor_id(); ASSERT(!in_irq()); ASSERT(this_cpu(mc_state).flags == 0); + + if (rcu_pending(cpu)) + /* since __enter_scheduler is called from softirq context + * we know we are in a quiescent state */ + rcu_check_callbacks(cpu,1); perfc_incrc(sched_run); @@ -649,6 +656,12 @@ static void...
2012 Jan 09
39
[PATCH v4 00/25] xen: ARMv7 with virtualization extensions
Hello everyone, this is the fourth version of the patch series that introduces ARMv7 with virtualization extensions support in Xen. The series allows Xen and Dom0 to boot on a Cortex-A15 based Versatile Express simulator. See the following announce email for more informations about what we are trying to achieve, as well as the original git history: See
2011 Dec 06
57
[PATCH RFC 00/25] xen: ARMv7 with virtualization extensions
Hello everyone, this is the very first version of the patch series that introduces ARMv7 with virtualization extensions support in Xen. The series allows Xen and Dom0 to boot on a Cortex-A15 based Versatile Express simulator. See the following announce email for more informations about what we are trying to achieve, as well as the original git history: See