RDS: only put sockets that have seen congestion on the poll_waitq
[pandora-kernel.git] / net / rds / rds.h
index dbe1112..4bec6e2 100644 (file)
@@ -311,11 +311,17 @@ struct rds_notifier {
  *                flag and header.
  */
 
+#define RDS_TRANS_IB   0
+#define RDS_TRANS_IWARP        1
+#define RDS_TRANS_TCP  2
+#define RDS_TRANS_COUNT        3
+
 struct rds_transport {
        char                    t_name[TRANSNAMSIZ];
        struct list_head        t_item;
        struct module           *t_owner;
        unsigned int            t_prefer_loopback:1;
+       unsigned int            t_type;
 
        int (*laddr_check)(__be32 addr);
        int (*conn_alloc)(struct rds_connection *conn, gfp_t gfp);
@@ -382,6 +388,8 @@ struct rds_sock {
 
        /* flag indicating we were congested or not */
        int                     rs_congested;
+       /* seen congestion (ENOBUFS) when sending? */
+       int                     rs_seen_congestion;
 
        /* rs_lock protects all these adjacent members before the newline */
        spinlock_t              rs_lock;
@@ -652,7 +660,8 @@ DECLARE_PER_CPU_SHARED_ALIGNED(struct rds_statistics, rds_stats);
 int __init rds_stats_init(void);
 void rds_stats_exit(void);
 void rds_stats_info_copy(struct rds_info_iterator *iter,
-                        uint64_t *values, char **names, size_t nr);
+                        uint64_t *values, const char *const *names,
+                        size_t nr);
 
 /* sysctl.c */
 int __init rds_sysctl_init(void);