Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 159219
b: refs/heads/master
c: f004ec7
h: refs/heads/master
i:
  159217: cd3f211
  159215: 2aade96
v: v3
  • Loading branch information
David S. Miller committed Jul 27, 2009
1 parent 81f5a27 commit 92fde63
Show file tree
Hide file tree
Showing 1,422 changed files with 58,295 additions and 27,555 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: 987b8816661332978efd0f85bedf9866fe2e3232
refs/heads/master: f004ec728bff3cf924ffc19387baca503cd73b01
1 change: 1 addition & 0 deletions trunk/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
*.gz
*.lzma
*.patch
*.gcno

#
# Top-level generic files
Expand Down
2 changes: 1 addition & 1 deletion trunk/CREDITS
Original file line number Diff line number Diff line change
Expand Up @@ -1856,7 +1856,7 @@ E: rfkoenig@immd4.informatik.uni-erlangen.de
D: The Linux Support Team Erlangen

N: Andreas Koensgen
E: ajk@iehk.rwth-aachen.de
E: ajk@comnets.uni-bremen.de
D: 6pack driver for AX.25

N: Harald Koerfgen
Expand Down
2 changes: 0 additions & 2 deletions trunk/Documentation/DocBook/mac80211.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,6 @@ usage should require reading the full document.
!Finclude/net/mac80211.h ieee80211_ctstoself_get
!Finclude/net/mac80211.h ieee80211_ctstoself_duration
!Finclude/net/mac80211.h ieee80211_generic_frame_duration
!Finclude/net/mac80211.h ieee80211_get_hdrlen_from_skb
!Finclude/net/mac80211.h ieee80211_hdrlen
!Finclude/net/mac80211.h ieee80211_wake_queue
!Finclude/net/mac80211.h ieee80211_stop_queue
!Finclude/net/mac80211.h ieee80211_wake_queues
Expand Down
7 changes: 6 additions & 1 deletion trunk/Documentation/RCU/rculist_nulls.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,12 @@ not detect it missed following items in original chain.
obj = kmem_cache_alloc(...);
lock_chain(); // typically a spin_lock()
obj->key = key;
atomic_inc(&obj->refcnt);
/*
* we need to make sure obj->key is updated before obj->next
* or obj->refcnt
*/
smp_wmb();
atomic_set(&obj->refcnt, 1);
hlist_add_head_rcu(&obj->obj_node, list);
unlock_chain(); // typically a spin_unlock()

Expand Down Expand Up @@ -159,6 +160,10 @@ out:
obj = kmem_cache_alloc(cachep);
lock_chain(); // typically a spin_lock()
obj->key = key;
/*
* changes to obj->key must be visible before refcnt one
*/
smp_wmb();
atomic_set(&obj->refcnt, 1);
/*
* insert obj in RCU way (readers might be traversing chain)
Expand Down
4 changes: 2 additions & 2 deletions trunk/Documentation/block/data-integrity.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ encouraged them to allow separation of the data and integrity metadata
scatter-gather lists.

The controller will interleave the buffers on write and split them on
read. This means that the Linux can DMA the data buffers to and from
read. This means that Linux can DMA the data buffers to and from
host memory without changes to the page cache.

Also, the 16-bit CRC checksum mandated by both the SCSI and SATA specs
Expand All @@ -66,7 +66,7 @@ software RAID5).

The IP checksum is weaker than the CRC in terms of detecting bit
errors. However, the strength is really in the separation of the data
buffers and the integrity metadata. These two distinct buffers much
buffers and the integrity metadata. These two distinct buffers must
match up for an I/O to complete.

The separation of the data and integrity metadata buffers as well as
Expand Down
12 changes: 12 additions & 0 deletions trunk/Documentation/cgroups/cpusets.txt
Original file line number Diff line number Diff line change
Expand Up @@ -777,6 +777,18 @@ in cpuset directories:
# /bin/echo 1-4 > cpus -> set cpus list to cpus 1,2,3,4
# /bin/echo 1,2,3,4 > cpus -> set cpus list to cpus 1,2,3,4

To add a CPU to a cpuset, write the new list of CPUs including the
CPU to be added. To add 6 to the above cpuset:

# /bin/echo 1-4,6 > cpus -> set cpus list to cpus 1,2,3,4,6

Similarly to remove a CPU from a cpuset, write the new list of CPUs
without the CPU to be removed.

To remove all the CPUs:

# /bin/echo "" > cpus -> clear cpus list

2.3 Setting flags
-----------------

Expand Down
5 changes: 5 additions & 0 deletions trunk/Documentation/connector/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,8 @@ hostprogs-y := ucon
always := $(hostprogs-y)

HOSTCFLAGS_ucon.o += -I$(objtree)/usr/include

all: modules

modules clean:
$(MAKE) -C ../.. SUBDIRS=$(PWD) $@
37 changes: 20 additions & 17 deletions trunk/Documentation/connector/cn_test.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* cn_test.c
*
* 2004-2005 Copyright (c) Evgeniy Polyakov <johnpol@2ka.mipt.ru>
* 2004+ Copyright (c) Evgeniy Polyakov <zbr@ioremap.net>
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
Expand All @@ -19,6 +19,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/

#define pr_fmt(fmt) "cn_test: " fmt

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
Expand All @@ -27,18 +29,17 @@

#include <linux/connector.h>

static struct cb_id cn_test_id = { 0x123, 0x456 };
static struct cb_id cn_test_id = { CN_NETLINK_USERS + 3, 0x456 };
static char cn_test_name[] = "cn_test";
static struct sock *nls;
static struct timer_list cn_test_timer;

void cn_test_callback(void *data)
static void cn_test_callback(struct cn_msg *msg)
{
struct cn_msg *msg = (struct cn_msg *)data;

printk("%s: %lu: idx=%x, val=%x, seq=%u, ack=%u, len=%d: %s.\n",
__func__, jiffies, msg->id.idx, msg->id.val,
msg->seq, msg->ack, msg->len, (char *)msg->data);
pr_info("%s: %lu: idx=%x, val=%x, seq=%u, ack=%u, len=%d: %s.\n",
__func__, jiffies, msg->id.idx, msg->id.val,
msg->seq, msg->ack, msg->len,
msg->len ? (char *)msg->data : "");
}

/*
Expand All @@ -63,9 +64,7 @@ static int cn_test_want_notify(void)

skb = alloc_skb(size, GFP_ATOMIC);
if (!skb) {
printk(KERN_ERR "Failed to allocate new skb with size=%u.\n",
size);

pr_err("failed to allocate new skb with size=%u\n", size);
return -ENOMEM;
}

Expand Down Expand Up @@ -114,12 +113,12 @@ static int cn_test_want_notify(void)
//netlink_broadcast(nls, skb, 0, ctl->group, GFP_ATOMIC);
netlink_unicast(nls, skb, 0, 0);

printk(KERN_INFO "Request was sent. Group=0x%x.\n", ctl->group);
pr_info("request was sent: group=0x%x\n", ctl->group);

return 0;

nlmsg_failure:
printk(KERN_ERR "Failed to send %u.%u\n", msg->seq, msg->ack);
pr_err("failed to send %u.%u\n", msg->seq, msg->ack);
kfree_skb(skb);
return -EINVAL;
}
Expand All @@ -131,6 +130,8 @@ static void cn_test_timer_func(unsigned long __data)
struct cn_msg *m;
char data[32];

pr_debug("%s: timer fired with data %lu\n", __func__, __data);

m = kzalloc(sizeof(*m) + sizeof(data), GFP_ATOMIC);
if (m) {

Expand All @@ -150,7 +151,7 @@ static void cn_test_timer_func(unsigned long __data)

cn_test_timer_counter++;

mod_timer(&cn_test_timer, jiffies + HZ);
mod_timer(&cn_test_timer, jiffies + msecs_to_jiffies(1000));
}

static int cn_test_init(void)
Expand All @@ -168,8 +169,10 @@ static int cn_test_init(void)
}

setup_timer(&cn_test_timer, cn_test_timer_func, 0);
cn_test_timer.expires = jiffies + HZ;
add_timer(&cn_test_timer);
mod_timer(&cn_test_timer, jiffies + msecs_to_jiffies(1000));

pr_info("initialized with id={%u.%u}\n",
cn_test_id.idx, cn_test_id.val);

return 0;

Expand All @@ -194,5 +197,5 @@ module_init(cn_test_init);
module_exit(cn_test_fini);

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Evgeniy Polyakov <johnpol@2ka.mipt.ru>");
MODULE_AUTHOR("Evgeniy Polyakov <zbr@ioremap.net>");
MODULE_DESCRIPTION("Connector's test module");
Loading

0 comments on commit 92fde63

Please sign in to comment.