search for: busywait

Displaying 20 results from an estimated 76 matches for "busywait".

Did you mean: busy_wait
1999 Oct 13
2
XMMS: busywaiting??
So, I'm seeing XMMS behave mighty strangely here. decode_example piped into a command line player manages to playback realtime on my p233 somewhat easily. XMMS (with the Vorbis plugin) utterly pegs the CPU and stutters badly. So, I started playing. Playing back mp3, xmms stutters badly (mp123 and xaudio play back realtime without difficulty). Playing back straight wav files, xmms also
2005 Mar 07
2
high CPU load for large # sources?
...server is happily serverving all clients, but what could cause the high CPU load? Is every source (/mount) serviced by a different thread? How many threads would I have then? My threadpool is set at 20. Could it be that the timeout on poll/select of 250 in each thread causes Icecast to effectively busywait since with 20 threads the actual time between the poll/select system calls is reduced to ~10ms, the timeslice of Linux! Here's the relevant part of my configuration file. <limits> <clients>2000</clients> <sources>100</sources> <threadp...
2017 Jul 12
2
[PATCH v12 5/8] virtio-balloon: VIRTIO_BALLOON_F_SG
On Wed, Jul 12, 2017 at 08:40:18PM +0800, Wei Wang wrote: > diff --git a/include/linux/virtio.h b/include/linux/virtio.h > index 28b0e96..9f27101 100644 > --- a/include/linux/virtio.h > +++ b/include/linux/virtio.h > @@ -57,8 +57,28 @@ int virtqueue_add_sgs(struct virtqueue *vq, > void *data, > gfp_t gfp); > > +/* A desc with this init id is treated
2017 Jul 12
2
[PATCH v12 5/8] virtio-balloon: VIRTIO_BALLOON_F_SG
On Wed, Jul 12, 2017 at 08:40:18PM +0800, Wei Wang wrote: > diff --git a/include/linux/virtio.h b/include/linux/virtio.h > index 28b0e96..9f27101 100644 > --- a/include/linux/virtio.h > +++ b/include/linux/virtio.h > @@ -57,8 +57,28 @@ int virtqueue_add_sgs(struct virtqueue *vq, > void *data, > gfp_t gfp); > > +/* A desc with this init id is treated
2017 Aug 03
0
[PATCH v13 5/5] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...register callback in oom notifier call chain */ struct notifier_block nb; }; @@ -146,7 +154,7 @@ static void set_page_pfns(struct virtio_balloon *vb, } static void send_one_sg(struct virtio_balloon *vb, struct virtqueue *vq, - void *addr, uint32_t size) + void *addr, uint32_t size, bool busywait) { struct scatterlist sg; unsigned int len; @@ -165,7 +173,12 @@ static void send_one_sg(struct virtio_balloon *vb, struct virtqueue *vq, cpu_relax(); } virtqueue_kick(vq); - wait_event(vb->acked, virtqueue_get_buf(vq, &len)); + if (busywait) + while (!virtqueue_get_buf(vq, &am...
2017 Aug 03
2
[PATCH v13 5/5] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...> }; > @@ -146,7 +154,7 @@ static void set_page_pfns(struct virtio_balloon *vb, > } > > static void send_one_sg(struct virtio_balloon *vb, struct virtqueue *vq, > - void *addr, uint32_t size) > + void *addr, uint32_t size, bool busywait) > { > struct scatterlist sg; > unsigned int len; > @@ -165,7 +173,12 @@ static void send_one_sg(struct virtio_balloon *vb, > struct virtqueue *vq, > cpu_relax(); > } > virtqueue_kick(vq); > - wait_event...
2017 Aug 03
2
[PATCH v13 5/5] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...> }; > @@ -146,7 +154,7 @@ static void set_page_pfns(struct virtio_balloon *vb, > } > > static void send_one_sg(struct virtio_balloon *vb, struct virtqueue *vq, > - void *addr, uint32_t size) > + void *addr, uint32_t size, bool busywait) > { > struct scatterlist sg; > unsigned int len; > @@ -165,7 +173,12 @@ static void send_one_sg(struct virtio_balloon *vb, > struct virtqueue *vq, > cpu_relax(); > } > virtqueue_kick(vq); > - wait_event...
2009 Aug 21
4
[PATCH] drm/nouveau: rewrite nouveau_dma_wait()
From: Ben Skeggs <bskeggs at redhat.com> There was at least one situation we could get into in the old code where we'd end up overrunning the push buffer with the jumps back to the start of the buffer in an attempt to get more space. In addition, the new code prevents misdetecting a GPU hang by resetting the timeout counter if we see the GPU GET pointer advancing, and simplifies the
2017 Jul 12
0
[PATCH v12 5/8] virtio-balloon: VIRTIO_BALLOON_F_SG
...but at cost of e.g. transparently busy-waiting. Unlikely to be > a good fit for anything else. If you were referring to this API - virtqueue_add_chain_desc(): Busy waiting only happens when the vq is full (i.e. no desc left). If necessary, I think we can add an input parameter like "bool busywaiting", then the caller can decide to simply get a -ENOSPC or busy wait to add when no desc is available. > > If you don't like my original _first/_next/_last, you will > need to come up with something else. I thought the above virtqueue_add_chain_des() performs the same functional...
2005 Mar 07
0
high CPU load for large # sources?
...a busy CPU report on OS X which was relating to the file serving. > Is every source (/mount) serviced by a different thread? How many threads > would I have then? My threadpool is set at 20. Could it be that the timeout > on poll/select of 250 in each thread causes Icecast to effectively busywait > since with 20 threads the actual time between the poll/select system calls > is reduced to ~10ms, the timeslice of Linux! Each source is handled by a separate thread, but there's no relationship between those and threadpool, it's unlikely that a thread pool of more than 2 or 3 is e...
2005 Jun 21
0
Keypress delay & grouping
...ould release the send buffer. That short wait would be like pressing "RETURN" in LINEMODE telnet. Fancier implimentations might use smart delays based on previous keystroke interval. nanosleep() and similar delay functions should be very useful so long as they're not so short as to busywait but instead wait for the system clock. This introduces a variable delay that greatly reduces the information from timing analysis. I believe sshd already can handle multiple keypresses per packet, but I did get one to choke around 1500 after pasting in 10KB. I inserted a usleep() in channel_outp...
2014 Feb 27
0
[PATCH RFC v5 7/8] pvqspinlock, x86: Add qspinlock para-virtualization support
...up a currently halted VCPU of its choice, see Documentation/virtual/kvm/hypercalls.txt. 5. KVM_HC_KICK_CPU ------------------------ Architecture: x86 Status: active Purpose: Hypercall used to wakeup a vcpu from HLT state Usage example : A vcpu of a paravirtualized guest that is busywaiting in guest kernel mode for an event to occur (ex: a spinlock to become available) can execute HLT instruction once it has busy-waited for more than a threshold time-interval. Execution of HLT instruction would cause the hypervisor to put the vcpu to sleep until occurrence of an approp...
2013 Aug 26
0
[PATCH V13 4/4] Documentation/kvm : Add documentation on Hypercalls and features used for PV spinlock
...est can map this shared page to access its supervisor register through memory using this hypercall. + +5. KVM_HC_KICK_CPU +------------------------ +Architecture: x86 +Status: active +Purpose: Hypercall used to wakeup a vcpu from HLT state +Usage example : A vcpu of a paravirtualized guest that is busywaiting in guest +kernel mode for an event to occur (ex: a spinlock to become available) can +execute HLT instruction once it has busy-waited for more than a threshold +time-interval. Execution of HLT instruction would cause the hypervisor to put +the vcpu to sleep until occurence of an appropriate even...
2012 Mar 11
0
uncompressed FLAC
...samples going to the DAC. This isn't something you have to "feel", it's something you could _measure_? far more precisely than anyone could hope to hear. To whatever extent that were true, it would also be true of 1000 other possible CPU load sources, including operating systems busywaiting on the disk, differences in display device drivers, etc. In fact, considering how massively slow disk IO is compared to FLAC decompression it seems just as plausible that the increased disk IO (with the resulting PCI traffic and IO blocking) caused by uncompressed playback makes audible glitc...
2008 Jul 14
1
[PATCH] stopmachine: add stopmachine_timeout
On Monday 14 July 2008 21:51:25 Christian Borntraeger wrote: > Am Montag, 14. Juli 2008 schrieb Hidetoshi Seto: > > + /* Wait all others come to life */ > > + while (cpus_weight(prepared_cpus) != num_online_cpus() - 1) { > > + if (time_is_before_jiffies(limit)) > > + goto timeout; > > + cpu_relax(); > > + } > > + > > Hmm. I think this could
2008 Jul 14
1
[PATCH] stopmachine: add stopmachine_timeout
On Monday 14 July 2008 21:51:25 Christian Borntraeger wrote: > Am Montag, 14. Juli 2008 schrieb Hidetoshi Seto: > > + /* Wait all others come to life */ > > + while (cpus_weight(prepared_cpus) != num_online_cpus() - 1) { > > + if (time_is_before_jiffies(limit)) > > + goto timeout; > > + cpu_relax(); > > + } > > + > > Hmm. I think this could
2018 Feb 01
0
[PATCH v25 0/2] Virtio-balloon: support free page reporting
...v23: > - change to kick the device when the vq is half-way full; > - open-code batch_free_page_sg into add_one_sg; > - change cmd_id from "uint32_t" to "__virtio32"; > - reserver one entry in the vq for teh driver to send cmd_id, instead > of busywaiting for an available entry; > - add "stop_update" check before queue_work for prudence purpose for > now, will have a separate patch to discuss this flag check later; > - init_vqs: change to put some variables on stack to have simpler > implementation; >...
2014 Feb 27
2
[PATCH RFC v5 7/8] pvqspinlock, x86: Add qspinlock para-virtualization support
On 26/02/14 15:14, Waiman Long wrote: > This patch adds para-virtualization support to the queue spinlock code > by enabling the queue head to kick the lock holder CPU, if known, > in when the lock isn't released for a certain amount of time. It > also enables the mutual monitoring of the queue head CPU and the > following node CPU in the queue to make sure that their CPUs will
2014 Feb 27
2
[PATCH RFC v5 7/8] pvqspinlock, x86: Add qspinlock para-virtualization support
On 26/02/14 15:14, Waiman Long wrote: > This patch adds para-virtualization support to the queue spinlock code > by enabling the queue head to kick the lock holder CPU, if known, > in when the lock isn't released for a certain amount of time. It > also enables the mutual monitoring of the queue head CPU and the > following node CPU in the queue to make sure that their CPUs will
2018 Feb 08
0
[PATCH v28 0/4] Virtio-balloon: support free page reporting
...v23: > - change to kick the device when the vq is half-way full; > - open-code batch_free_page_sg into add_one_sg; > - change cmd_id from "uint32_t" to "__virtio32"; > - reserver one entry in the vq for the driver to send cmd_id, instead > of busywaiting for an available entry; > - add "stop_update" check before queue_work for prudence purpose for > now, will have a separate patch to discuss this flag check later; > - init_vqs: change to put some variables on stack to have simpler > implementation; >...