search for: tasklet

Displaying 20 results from an estimated 94 matches for "tasklet".

2010 May 05
5
[Pv-ops][PATCH 0/4 v4] Netback multiple threads support
...t is not used now. 2. Put netbk_add_netif() and netbk_remove_netif() into __netif_up() and __netif_down(). 3. Change the usage of kthread_should_stop(). 4. Use __get_free_pages() to replace kzalloc(). 5. Modify the changes to netif_be_dbg(). 6. Use MODPARM_netback_kthread to determine whether using tasklet or kernel thread. 7. Put small fields in the front, and large arrays in the end of struct xen_netbk. 8. Add more checks in netif_page_release(). Current netback uses one pair of tasklets for Tx/Rx data transaction. Netback tasklet could only run at one CPU at a time, and it is used to serve all th...
2008 Sep 09
2
[LLVMdev] Tail-calling
...the language, not the implementation, I plan on having two types of functions in this app, one will function like normal C function, return, arguments, etc., nothing special, the second type will basically have no return value (when it returns it 'ends', will be cleared up shortly, however tasklet calls later on the stack can return values, but the 'main' tasklet function, the one that when it returns the tasklet dies, it cannot have a return value). There will be a couple built-in functions in the language (most likely only 3, the rest will be built from those inside the language i...
2010 May 05
0
[Pv-ops][PATCH 3/4 v4] Netback: Multiple tasklets support
Netback: Multiple tasklets support. Now netback uses one pair of tasklets for Tx/Rx data transaction. Netback tasklet could only run at one CPU at a time, and it is used to serve all the netfronts. Therefore it has become a performance bottle neck. This patch is to use multiple tasklet pairs to replace the current single p...
2012 Jan 05
9
[PATCHv2 0 of 2] Deal with IOMMU faults in softirq context.
...sed as a form of DoS attack, e.g., by generating a "storm" of IOMMU faults that will livelock a pCPU. To avoid this, IOMMU faults handling is being moved from interrupt to softirq context. Basically, the inerrupt handler of the IRQ originated by an IOMMU (page) fault will raise a softirq-tasklet which will then deal with the actual fault records by clearing the logs and re-enabling interrupts from the offending IOMMU(s). A single tasklet is being used even if there are more than just one IOMMU in the system, as the event should be rare enough. The series introduces the described mechanism...
2009 May 29
2
[PATCH 2/4] virtio_net: return NETDEV_TX_BUSY instead of queueing an extra skb.
This effectively reverts 99ffc696d10b28580fe93441d627cf290ac4484c "virtio: wean net driver off NETDEV_TX_BUSY". The complexity of queuing an skb (setting a tasklet to re-xmit) is questionable, especially once we get rid of the other reason for the tasklet in the next patch. If the skb won't fit in the tx queue, just return NETDEV_TX_BUSY. It might be frowned upon, but it's common and not going away any time soon. Signed-off-by: Rusty Russell <ru...
2009 May 29
2
[PATCH 2/4] virtio_net: return NETDEV_TX_BUSY instead of queueing an extra skb.
This effectively reverts 99ffc696d10b28580fe93441d627cf290ac4484c "virtio: wean net driver off NETDEV_TX_BUSY". The complexity of queuing an skb (setting a tasklet to re-xmit) is questionable, especially once we get rid of the other reason for the tasklet in the next patch. If the skb won't fit in the tx queue, just return NETDEV_TX_BUSY. It might be frowned upon, but it's common and not going away any time soon. Signed-off-by: Rusty Russell <ru...
2005 Jul 20
0
[PATCH] Control Interface tx tasklet
Hi, Below is a patch to prevent a NULL function being called by the ctrl_if_tx_tasklet. This should not really be necessary (although its a sensible check to make), however, I have been using the control interface, with a ctrl_if_send_message_and_get_response call and have noticed that duplicate responses (or response notifications) are sometimes recieved by this tasklet. Since the...
2016 Aug 30
1
[PATCH v8 05/18] dmaengine: st_fdma: Add STMicroelectronics FDMA engine driver support
...); > + for (i = 0; i < fdev->nr_channels; i++) { > + struct st_fdma_chan *fchan = &fdev->chans[i]; > + > + fchan->fdev = fdev; > + fchan->vchan.desc_free = st_fdma_free_desc; > + vchan_init(&fchan->vchan, &fdev->dma_device); this initialized a tasklet > +static int st_fdma_remove(struct platform_device *pdev) > +{ > + struct st_fdma_dev *fdev = platform_get_drvdata(pdev); > + > + devm_free_irq(&pdev->dev, fdev->irq, fdev); > + st_slim_rproc_put(fdev->slim_rproc); > + of_dma_controller_free(pdev->dev.of_node)...
2016 Aug 30
1
[PATCH v8 05/18] dmaengine: st_fdma: Add STMicroelectronics FDMA engine driver support
...); > + for (i = 0; i < fdev->nr_channels; i++) { > + struct st_fdma_chan *fchan = &fdev->chans[i]; > + > + fchan->fdev = fdev; > + fchan->vchan.desc_free = st_fdma_free_desc; > + vchan_init(&fchan->vchan, &fdev->dma_device); this initialized a tasklet > +static int st_fdma_remove(struct platform_device *pdev) > +{ > + struct st_fdma_dev *fdev = platform_get_drvdata(pdev); > + > + devm_free_irq(&pdev->dev, fdev->irq, fdev); > + st_slim_rproc_put(fdev->slim_rproc); > + of_dma_controller_free(pdev->dev.of_node)...
2008 May 26
7
[PATCH 1/3] virtio: fix virtio_net xmit of freed skb bug
If we fail to transmit a packet, we assume the queue is full and put the skb into last_xmit_skb. However, if more space frees up before we xmit it, we loop, and the result can be transmitting the same skb twice. Fix is simple: set skb to NULL if we've used it in some way, and check before sending. Signed-off-by: Rusty Russell <rusty at rustcorp.com.au> --- drivers/net/virtio_net.c |
2008 May 26
7
[PATCH 1/3] virtio: fix virtio_net xmit of freed skb bug
If we fail to transmit a packet, we assume the queue is full and put the skb into last_xmit_skb. However, if more space frees up before we xmit it, we loop, and the result can be transmitting the same skb twice. Fix is simple: set skb to NULL if we've used it in some way, and check before sending. Signed-off-by: Rusty Russell <rusty at rustcorp.com.au> --- drivers/net/virtio_net.c |
2013 Jun 19
14
[PATCH 2/4] time: add a notifier chain for when the system time is stepped
...t_delayed() calls. If other parts of the kernel require similar notification there is no clear place to hook into. Add a clock_was_set atomic notifier chain (clock_was_set_notifier_list) and call this in place of clock_was_set(). If the timekeeping locks are held, the calls are deferred to a new tasklet. The hrtimer code adds a notifier block to this chain and uses it to call (the now internal) clock_was_set(). Since the timekeeping code does not call the chain from the timer irq clock_was_set_delayed() and associated code can be removed. Signed-off-by: David Vrabel <david.vrabel@citrix.com&...
2011 Feb 18
5
Native Instruments Battery3
Hi to all, I'm trying to run Battery3 with Wine, but I'm experiencing some problems. 1. When I launch Battery (command line) I see these messages: --- fixme:win:RegisterDeviceNotificationW (hwnd=0x50062, filter=0x32fcb0,flags=0x00000004) returns a fake device notification handle! JackActivationCount::Signal value = 0 ref = 5 JackActivationCount::Signal value = 0 ref = 5
2012 Dec 04
2
Audit of NMI and MCE paths
...eems silly. As an alternative, I suggest that we make ASSERT()s, BUG()s and WARN()s NMI/MCE safe, from a printk spinlock point of view. Either we can modify the macros to do a console_force_unlock(), which is fine for BUG() and ASSERT(), but problematic for WARN() (and deferring the printing to a tasklet wont work if we want a stack trace). Alternativly, we could change the console lock to be a recursive lock, at which point it is safe from the deadlock point of view. Are there any performance concerns from changing to a recursive lock? As for spinlocks themselves, as far as I can reason, recurs...
2009 May 29
1
[PATCH 3/4] virtio_net: don't free buffers in xmit ring
...ransmitting userspace could block with a full socket until the timer fired, the skb destructor was called, and they were re-woken. So we added the VIRTIO_F_NOTIFY_ON_EMPTY feature: supporting devices send an interrupt (even if normally suppressed) on an empty xmit ring which makes us schedule xmit_tasklet(). This was a benchmark win. Unfortunately, VIRTIO_F_NOTIFY_ON_EMPTY makes quite a lot of work: a host which is faster than the guest will fire the interrupt every xmit packet (slowing the guest down further). Attempting mitigation in the host adds overhead of userspace timers (possibly with the...
2009 May 29
1
[PATCH 3/4] virtio_net: don't free buffers in xmit ring
...ransmitting userspace could block with a full socket until the timer fired, the skb destructor was called, and they were re-woken. So we added the VIRTIO_F_NOTIFY_ON_EMPTY feature: supporting devices send an interrupt (even if normally suppressed) on an empty xmit ring which makes us schedule xmit_tasklet(). This was a benchmark win. Unfortunately, VIRTIO_F_NOTIFY_ON_EMPTY makes quite a lot of work: a host which is faster than the guest will fire the interrupt every xmit packet (slowing the guest down further). Attempting mitigation in the host adds overhead of userspace timers (possibly with the...
2017 Feb 01
15
[PATCH 00/14] hyperv: vmbus related patches
...ve no longer used signal_policy vmbus: remove unused kickq argument to sendpacket netvsc: remove no longer needed receive staging buffers vmbus: remove per channel state vmbus: callback is in softirq not workqueue vmbus: put related per-cpu variable together vmbus: change to per channel tasklet vmbus: add direct isr callback mode vmbus: remove conditional locking of vmbus_write vmbus: expose hv_begin/end_read vmbus: constify parameters where possible vmbus: replace modulus operation with subtraction Starting point was top of current char-misc-next branch. drivers/hv/channel.c...
2017 Feb 01
15
[PATCH 00/14] hyperv: vmbus related patches
...ve no longer used signal_policy vmbus: remove unused kickq argument to sendpacket netvsc: remove no longer needed receive staging buffers vmbus: remove per channel state vmbus: callback is in softirq not workqueue vmbus: put related per-cpu variable together vmbus: change to per channel tasklet vmbus: add direct isr callback mode vmbus: remove conditional locking of vmbus_write vmbus: expose hv_begin/end_read vmbus: constify parameters where possible vmbus: replace modulus operation with subtraction Starting point was top of current char-misc-next branch. drivers/hv/channel.c...
2006 Mar 15
3
softirq bound to vcpus
In "Understanding the Linux Kernel" 3rd edition, section 4.7 "Softirqs and Tasklets" it states: "Activation and execution [of defferable functions] are bound together: a deferrable function that has been activated by a given CPU must be executed on the same CPU. There is no self-evident reason suggesting that this rule is beneficial for system performance. Binding the...
2011 Feb 23
0
[PATCH] Fixing mwait usage when doing cpu offline
Hi, Keir, In debugging the issue "system hang when doing cpu offline", I identified a situation that could cause a dead lock. The scenario is: mwait_idle_with_hint inside play_dead will access per cpu variable, which causes #PF. The #PF handler will use printk, which will schedule a tasklet. In scheduling a tasklet, per cpu variables are needed, otherwise, there will be another #PF. These series of #PF produce a dead lock around tasklet_lock. This patch avoids using per_cpu variable inside play_dead. Signed-off-by: Shan Haitao <haitao.shan@intel.com> Signed-off-by: Wei Gang &l...