search for: endtime

Displaying 20 results from an estimated 302 matches for "endtime".

2018 Jun 29
5
[PATCH vhost] vhost_net: Fix too many vring kick on busypoll
...cation when busypoll is interrupted by something. IMHO signal_pending() and vhost_has_work() are kind of interruptions rather than signals to completely cancel the busypoll, so let's run busypoll after the necessary work is done. In order to avoid too long busyloop due to interruption, save the endtime in vq field and use it when reentering the work function. I observed this problem makes tx performance poor but does not rx. I guess it is because rx notification from socket is not that heavy so did not impact the performance even when we failed to mask the notification. Anyway for consistency I...
2018 Jun 29
5
[PATCH vhost] vhost_net: Fix too many vring kick on busypoll
...cation when busypoll is interrupted by something. IMHO signal_pending() and vhost_has_work() are kind of interruptions rather than signals to completely cancel the busypoll, so let's run busypoll after the necessary work is done. In order to avoid too long busyloop due to interruption, save the endtime in vq field and use it when reentering the work function. I observed this problem makes tx performance poor but does not rx. I guess it is because rx notification from socket is not that heavy so did not impact the performance even when we failed to mask the notification. Anyway for consistency I...
2018 Jul 02
2
[PATCH vhost] vhost_net: Fix too many vring kick on busypoll
...by something. IMHO signal_pending() and >> vhost_has_work() are kind of interruptions rather than signals to >> completely cancel the busypoll, so let's run busypoll after the >> necessary work is done. In order to avoid too long busyloop due to >> interruption, save the endtime in vq field and use it when reentering >> the work function. > > I think we don't care long busyloop unless e.g tx can starve rx? I just want to keep it user-controllable. Unless memorizing it busypoll can run unexpectedly long. >> I observed this problem makes tx performan...
2018 Jul 02
2
[PATCH vhost] vhost_net: Fix too many vring kick on busypoll
...by something. IMHO signal_pending() and >> vhost_has_work() are kind of interruptions rather than signals to >> completely cancel the busypoll, so let's run busypoll after the >> necessary work is done. In order to avoid too long busyloop due to >> interruption, save the endtime in vq field and use it when reentering >> the work function. > > I think we don't care long busyloop unless e.g tx can starve rx? I just want to keep it user-controllable. Unless memorizing it busypoll can run unexpectedly long. >> I observed this problem makes tx performan...
2018 Jun 29
0
[PATCH vhost] vhost_net: Fix too many vring kick on busypoll
...is interrupted by something. IMHO signal_pending() and > vhost_has_work() are kind of interruptions rather than signals to > completely cancel the busypoll, so let's run busypoll after the > necessary work is done. In order to avoid too long busyloop due to > interruption, save the endtime in vq field and use it when reentering > the work function. > > I observed this problem makes tx performance poor but does not rx. I > guess it is because rx notification from socket is not that heavy so > did not impact the performance even when we failed to mask the > notificat...
2003 Sep 02
1
convert character to POSIXct
...t a 'time (GMT)'-character with the format "1/1/1999 01:01:01" into an object of class "POSIXct"', I first use the strptime() as suggested in the details help(as.POSIXct). e.g. starttime<-strptime("1/1/1999 01:01:01",format="%d/%m/%Y %H:%M:%S") endtime<-strptime("1/8/1999 01:01:01",format="%d/%m/%Y %H:%M:%S") > starttime [1] "1999-01-01 01:01:01" > endtime [1] "1999-08-01 01:01:01" If I substract these from each other, endtime-starttime >Time difference of 211.9583 days Which should mean that...
2018 Jun 29
0
[PATCH vhost] vhost_net: Fix too many vring kick on busypoll
...is interrupted by something. IMHO signal_pending() and > vhost_has_work() are kind of interruptions rather than signals to > completely cancel the busypoll, so let's run busypoll after the > necessary work is done. In order to avoid too long busyloop due to > interruption, save the endtime in vq field and use it when reentering > the work function. I think we don't care long busyloop unless e.g tx can starve rx? > > I observed this problem makes tx performance poor but does not rx. I > guess it is because rx notification from socket is not that heavy so > did not...
2016 Feb 28
1
[PATCH V3 3/3] vhost_net: basic polling support
..._zerocopy_callback(struct ubuf_info *ubuf, bool success) > rcu_read_unlock_bh(); > } > > +static inline unsigned long busy_clock(void) > +{ > + return local_clock() >> 10; > +} > + > +static bool vhost_can_busy_poll(struct vhost_dev *dev, > + unsigned long endtime) > +{ > + return likely(!need_resched()) && > + likely(!time_after(busy_clock(), endtime)) && > + likely(!signal_pending(current)) && > + !vhost_has_work(dev) && > + single_task_running(); > +} > + > +static int...
2016 Feb 28
1
[PATCH V3 3/3] vhost_net: basic polling support
..._zerocopy_callback(struct ubuf_info *ubuf, bool success) > rcu_read_unlock_bh(); > } > > +static inline unsigned long busy_clock(void) > +{ > + return local_clock() >> 10; > +} > + > +static bool vhost_can_busy_poll(struct vhost_dev *dev, > + unsigned long endtime) > +{ > + return likely(!need_resched()) && > + likely(!time_after(busy_clock(), endtime)) && > + likely(!signal_pending(current)) && > + !vhost_has_work(dev) && > + single_task_running(); > +} > + > +static int...
2018 Jul 03
11
[PATCH v2 net-next 0/4] vhost_net: Avoid vq kicks during busyloop
...7 Send 4.34 5.43 Recv 4.17 5.26 TCP_STREAM 8801.03 45794 9592.77 2884 v2: - Split patches into 3 parts (renaming variables, tx-kick fix, rx-wakeup fix). - Avoid rx-kicks too (patch 4). - Don't memorize endtime as it is not needed for now. Toshiaki Makita (4): vhost_net: Rename local variables in vhost_net_rx_peek_head_len vhost_net: Avoid tx vring kicks during busyloop vhost_net: Avoid rx queue wake-ups during busypoll vhost_net: Avoid rx vring kicks during busyloop drivers/vhost/net.c | 95 ++...
2016 Jan 20
3
[PATCH V2 3/3] vhost_net: basic polling support
...zerocopy_callback(struct ubuf_info *ubuf, bool success) > rcu_read_unlock_bh(); > } > > +static inline unsigned long busy_clock(void) > +{ > + return local_clock() >> 10; > +} > + > +static bool vhost_can_busy_poll(struct vhost_dev *dev, > + unsigned long endtime) > +{ > + return likely(!need_resched()) && > + likely(!time_after(busy_clock(), endtime)) && > + likely(!signal_pending(current)) && > + !vhost_has_work(dev) && > + single_task_running(); > +} > + > +static int...
2016 Jan 20
3
[PATCH V2 3/3] vhost_net: basic polling support
...zerocopy_callback(struct ubuf_info *ubuf, bool success) > rcu_read_unlock_bh(); > } > > +static inline unsigned long busy_clock(void) > +{ > + return local_clock() >> 10; > +} > + > +static bool vhost_can_busy_poll(struct vhost_dev *dev, > + unsigned long endtime) > +{ > + return likely(!need_resched()) && > + likely(!time_after(busy_clock(), endtime)) && > + likely(!signal_pending(current)) && > + !vhost_has_work(dev) && > + single_task_running(); > +} > + > +static int...
2024 Apr 08
4
Exceptional slowness with read.csv
...- unmatched quotes, specifically.? Reading the file with readLines and parsing the lines with read.csv(text = ...) is really slow. I know that the first 2459465 records are good. So I try this: > startTime <- Sys.time() > first_records <- read.csv(file_name, nrows = 2459465) > endTime <- Sys.time() > cat("elapsed time = ", endTime - startTime, "\n") elapsed time = ? 24.12598 > startTime <- Sys.time() > second_records <- read.csv(file_name, skip = 2459465, nrows = 5) > endTime <- Sys.time() > cat("elapsed time = ", e...
2016 Jan 21
1
[PATCH V2 3/3] vhost_net: basic polling support
...unlock_bh(); > >> } > >> > >>+static inline unsigned long busy_clock(void) > >>+{ > >>+ return local_clock() >> 10; > >>+} > >>+ > >>+static bool vhost_can_busy_poll(struct vhost_dev *dev, > >>+ unsigned long endtime) > >>+{ > >>+ return likely(!need_resched()) && > >>+ likely(!time_after(busy_clock(), endtime)) && > >>+ likely(!signal_pending(current)) && > >>+ !vhost_has_work(dev) && > >>+ single_...
2016 Jan 21
1
[PATCH V2 3/3] vhost_net: basic polling support
...unlock_bh(); > >> } > >> > >>+static inline unsigned long busy_clock(void) > >>+{ > >>+ return local_clock() >> 10; > >>+} > >>+ > >>+static bool vhost_can_busy_poll(struct vhost_dev *dev, > >>+ unsigned long endtime) > >>+{ > >>+ return likely(!need_resched()) && > >>+ likely(!time_after(busy_clock(), endtime)) && > >>+ likely(!signal_pending(current)) && > >>+ !vhost_has_work(dev) && > >>+ single_...
2018 Jul 02
0
[PATCH vhost] vhost_net: Fix too many vring kick on busypoll
...HO signal_pending() and >>> vhost_has_work() are kind of interruptions rather than signals to >>> completely cancel the busypoll, so let's run busypoll after the >>> necessary work is done. In order to avoid too long busyloop due to >>> interruption, save the endtime in vq field and use it when reentering >>> the work function. >> I think we don't care long busyloop unless e.g tx can starve rx? > I just want to keep it user-controllable. Unless memorizing it busypoll > can run unexpectedly long. I think the total amount of time for bus...
2018 Jul 03
0
[PATCH v2 net-next 2/4] vhost_net: Avoid tx vring kicks during busyloop
.../vhost/net.c b/drivers/vhost/net.c index 3939c50..811c0e5 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c @@ -396,13 +396,10 @@ static inline unsigned long busy_clock(void) return local_clock() >> 10; } -static bool vhost_can_busy_poll(struct vhost_dev *dev, - unsigned long endtime) +static bool vhost_can_busy_poll(unsigned long endtime) { - return likely(!need_resched()) && - likely(!time_after(busy_clock(), endtime)) && - likely(!signal_pending(current)) && - !vhost_has_work(dev); + return likely(!need_resched() && !time...
2018 Jul 03
2
[PATCH net-next v4 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
..._len(sock); > + > + return skb_queue_empty(&sk->sk_receive_queue); > +} > + > +static void vhost_net_busy_poll(struct vhost_net *net, > + struct vhost_virtqueue *rvq, > + struct vhost_virtqueue *tvq, > + bool rx) > +{ > + unsigned long uninitialized_var(endtime); > + unsigned long busyloop_timeout; > + struct socket *sock; > + struct vhost_virtqueue *vq = rx ? tvq : rvq; > + > + mutex_lock_nested(&vq->mutex, rx ? VHOST_NET_VQ_TX: VHOST_NET_VQ_RX); > + > + vhost_disable_notify(&net->dev, vq); > + sock = rvq->private...
2018 Jul 03
2
[PATCH net-next v4 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
..._len(sock); > + > + return skb_queue_empty(&sk->sk_receive_queue); > +} > + > +static void vhost_net_busy_poll(struct vhost_net *net, > + struct vhost_virtqueue *rvq, > + struct vhost_virtqueue *tvq, > + bool rx) > +{ > + unsigned long uninitialized_var(endtime); > + unsigned long busyloop_timeout; > + struct socket *sock; > + struct vhost_virtqueue *vq = rx ? tvq : rvq; > + > + mutex_lock_nested(&vq->mutex, rx ? VHOST_NET_VQ_TX: VHOST_NET_VQ_RX); > + > + vhost_disable_notify(&net->dev, vq); > + sock = rvq->private...
2018 Jul 04
2
[PATCH net-next v5 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
On 2018/07/04 13:31, xiangxia.m.yue at gmail.com wrote: ... > +static void vhost_net_busy_poll(struct vhost_net *net, > + struct vhost_virtqueue *rvq, > + struct vhost_virtqueue *tvq, > + bool rx) > +{ > + unsigned long uninitialized_var(endtime); > + unsigned long busyloop_timeout; > + struct socket *sock; > + struct vhost_virtqueue *vq = rx ? tvq : rvq; > + > + mutex_lock_nested(&vq->mutex, rx ? VHOST_NET_VQ_TX: VHOST_NET_VQ_RX); > + > + vhost_disable_notify(&net->dev, vq); > + sock = rvq->private...