Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 78399
b: refs/heads/master
c: df8f83f
h: refs/heads/master
i:
  78397: 34d9d2d
  78395: f162e63
  78391: 74ad210
  78383: f0d870e
  78367: 1c146da
  78335: f6319d2
v: v3
  • Loading branch information
Gerrit Renker authored and David S. Miller committed Jan 28, 2008
1 parent a5adbab commit 5bf4aa1
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 45 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2aaef4e47fef8a6c0bc7fc5d9d3eea4af290e04c
refs/heads/master: df8f83fdd6369e1ba85f089fd6fe26bb2ddcb36f
68 changes: 32 additions & 36 deletions trunk/net/dccp/ccids/lib/packet_history.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,22 @@ struct tfrc_tx_hist_entry {
*/
static struct kmem_cache *tfrc_tx_hist_slab;

int __init tfrc_tx_packet_history_init(void)
{
tfrc_tx_hist_slab = kmem_cache_create("tfrc_tx_hist",
sizeof(struct tfrc_tx_hist_entry),
0, SLAB_HWCACHE_ALIGN, NULL);
return tfrc_tx_hist_slab == NULL ? -ENOBUFS : 0;
}

void tfrc_tx_packet_history_exit(void)
{
if (tfrc_tx_hist_slab != NULL) {
kmem_cache_destroy(tfrc_tx_hist_slab);
tfrc_tx_hist_slab = NULL;
}
}

static struct tfrc_tx_hist_entry *
tfrc_tx_hist_find_entry(struct tfrc_tx_hist_entry *head, u64 seqno)
{
Expand Down Expand Up @@ -119,6 +135,22 @@ EXPORT_SYMBOL_GPL(tfrc_tx_hist_rtt);
*/
static struct kmem_cache *tfrc_rx_hist_slab;

int __init tfrc_rx_packet_history_init(void)
{
tfrc_rx_hist_slab = kmem_cache_create("tfrc_rxh_cache",
sizeof(struct tfrc_rx_hist_entry),
0, SLAB_HWCACHE_ALIGN, NULL);
return tfrc_rx_hist_slab == NULL ? -ENOBUFS : 0;
}

void tfrc_rx_packet_history_exit(void)
{
if (tfrc_rx_hist_slab != NULL) {
kmem_cache_destroy(tfrc_rx_hist_slab);
tfrc_rx_hist_slab = NULL;
}
}

/**
* tfrc_rx_hist_index - index to reach n-th entry after loss_start
*/
Expand Down Expand Up @@ -316,39 +348,3 @@ u32 tfrc_rx_hist_sample_rtt(struct tfrc_rx_hist *h, const struct sk_buff *skb)
return sample;
}
EXPORT_SYMBOL_GPL(tfrc_rx_hist_sample_rtt);

__init int packet_history_init(void)
{
tfrc_tx_hist_slab = kmem_cache_create("tfrc_tx_hist",
sizeof(struct tfrc_tx_hist_entry), 0,
SLAB_HWCACHE_ALIGN, NULL);
if (tfrc_tx_hist_slab == NULL)
goto out_err;

tfrc_rx_hist_slab = kmem_cache_create("tfrc_rx_hist",
sizeof(struct tfrc_rx_hist_entry), 0,
SLAB_HWCACHE_ALIGN, NULL);
if (tfrc_rx_hist_slab == NULL)
goto out_free_tx;

return 0;

out_free_tx:
kmem_cache_destroy(tfrc_tx_hist_slab);
tfrc_tx_hist_slab = NULL;
out_err:
return -ENOBUFS;
}

void packet_history_exit(void)
{
if (tfrc_tx_hist_slab != NULL) {
kmem_cache_destroy(tfrc_tx_hist_slab);
tfrc_tx_hist_slab = NULL;
}

if (tfrc_rx_hist_slab != NULL) {
kmem_cache_destroy(tfrc_rx_hist_slab);
tfrc_rx_hist_slab = NULL;
}
}
31 changes: 23 additions & 8 deletions trunk/net/dccp/ccids/lib/tfrc.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,27 +14,42 @@ module_param(tfrc_debug, bool, 0444);
MODULE_PARM_DESC(tfrc_debug, "Enable debug messages");
#endif

extern int tfrc_tx_packet_history_init(void);
extern void tfrc_tx_packet_history_exit(void);
extern int tfrc_rx_packet_history_init(void);
extern void tfrc_rx_packet_history_exit(void);

extern int dccp_li_init(void);
extern void dccp_li_exit(void);
extern int packet_history_init(void);
extern void packet_history_exit(void);

static int __init tfrc_module_init(void)
{
int rc = dccp_li_init();

if (rc == 0) {
rc = packet_history_init();
if (rc != 0)
dccp_li_exit();
}
if (rc)
goto out;

rc = tfrc_tx_packet_history_init();
if (rc)
goto out_free_loss_intervals;

rc = tfrc_rx_packet_history_init();
if (rc)
goto out_free_tx_history;
return 0;

out_free_tx_history:
tfrc_tx_packet_history_exit();
out_free_loss_intervals:
dccp_li_exit();
out:
return rc;
}

static void __exit tfrc_module_exit(void)
{
packet_history_exit();
tfrc_rx_packet_history_exit();
tfrc_tx_packet_history_exit();
dccp_li_exit();
}

Expand Down

0 comments on commit 5bf4aa1

Please sign in to comment.