ust: continue implementation of ustd
[ust.git] / libtracing / relay.h
index 47ebfd13fd9e99cc870bd0fa7302dedc92d12f5d..1689418342fa5fde75d3a40f409dcd0fbb6c0cfe 100644 (file)
@@ -59,6 +59,7 @@ struct rchan_buf {
 //ust//        unsigned int page_count;        /* number of current buffer pages */ 
        unsigned int finalized;         /* buffer has been finalized */ 
 //ust//        unsigned int cpu;               /* this buf's cpu */ 
+       int shmid;
 } ____cacheline_aligned; 
 
 /*
@@ -143,7 +144,7 @@ struct rchan_callbacks {
         *
         * The callback should return 0 if successful, negative if not.
         */
-       int (*remove_buf_file)(struct rchan_buf *buf);
+//ust//        int (*remove_buf_file)(struct rchan_buf *buf);
 };
 
 extern struct buf_page *ltt_relay_find_prev_page(struct rchan_buf *buf,
@@ -314,5 +315,42 @@ extern void ltt_relay_close(struct rchan *chan);
  */
 extern const struct file_operations ltt_relay_file_operations;
 
+
+/* LTTng lockless logging buffer info */
+struct ltt_channel_buf_struct {
+       /* First 32 bytes cache-hot cacheline */
+       local_t offset;                 /* Current offset in the buffer */
+       local_t *commit_count;          /* Commit count per sub-buffer */
+       atomic_long_t consumed;         /*
+                                        * Current offset in the buffer
+                                        * standard atomic access (shared)
+                                        */
+       unsigned long last_tsc;         /*
+                                        * Last timestamp written in the buffer.
+                                        */
+       /* End of first 32 bytes cacheline */
+       atomic_long_t active_readers;   /*
+                                        * Active readers count
+                                        * standard atomic access (shared)
+                                        */
+       local_t events_lost;
+       local_t corrupted_subbuffers;
+       spinlock_t full_lock;           /*
+                                        * buffer full condition spinlock, only
+                                        * for userspace tracing blocking mode
+                                        * synchronization with reader.
+                                        */
+//ust//        wait_queue_head_t write_wait;   /*
+//ust//                                         * Wait queue for blocking user space
+//ust//                                         * writers
+//ust//                                         */
+       atomic_t wakeup_readers;        /* Boolean : wakeup readers waiting ? */
+} ____cacheline_aligned;
+
+int ltt_do_get_subbuf(struct rchan_buf *buf, struct ltt_channel_buf_struct *ltt_buf, long *pconsumed_old);
+
+int ltt_do_put_subbuf(struct rchan_buf *buf, struct ltt_channel_buf_struct *ltt_buf, u32 uconsumed_old);
+
+
 #endif /* _LINUX_LTT_RELAY_H */
 
This page took 0.024679 seconds and 4 git commands to generate.