Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 223517
b: refs/heads/master
c: fa6469c
h: refs/heads/master
i:
  223515: 3628ba0
v: v3
  • Loading branch information
Florian Fainelli authored and Samuel Ortiz committed Dec 22, 2010
1 parent f138186 commit f94c7ad
Show file tree
Hide file tree
Showing 18 changed files with 28 additions and 77 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: 97dbf37d89b6d387a5fe79ffe3b72c37ec12db43
refs/heads/master: fa6469cb5b2d16703464c344b943e2c025cb7858
1 change: 0 additions & 1 deletion trunk/Documentation/accounting/getdelays.c
Original file line number Diff line number Diff line change
Expand Up @@ -516,7 +516,6 @@ int main(int argc, char *argv[])
default:
fprintf(stderr, "Unknown nla_type %d\n",
na->nla_type);
case TASKSTATS_TYPE_NULL:
break;
}
na = (struct nlattr *) (GENLMSG_DATA(&msg) + len);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -373,18 +373,9 @@ sub process_events {
print " $regex_lru_isolate/o\n";
next;
}
my $isolate_mode = $1;
my $nr_scanned = $4;
my $nr_contig_dirty = $7;

# To closer match vmstat scanning statistics, only count isolate_both
# and isolate_inactive as scanning. isolate_active is rotation
# isolate_inactive == 0
# isolate_active == 1
# isolate_both == 2
if ($isolate_mode != 1) {
$perprocesspid{$process_pid}->{HIGH_NR_SCANNED} += $nr_scanned;
}
$perprocesspid{$process_pid}->{HIGH_NR_SCANNED} += $nr_scanned;
$perprocesspid{$process_pid}->{HIGH_NR_CONTIG_DIRTY} += $nr_contig_dirty;
} elsif ($tracepoint eq "mm_vmscan_lru_shrink_inactive") {
$details = $5;
Expand Down
2 changes: 1 addition & 1 deletion trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ S: Supported
F: drivers/usb/gadget/amd5536udc.*

AMD GEODE PROCESSOR/CHIPSET SUPPORT
P: Andres Salomon <dilinger@queued.net>
P: Jordan Crouse
L: linux-geode@lists.infradead.org (moderated for non-subscribers)
W: http://www.amd.com/us-en/ConnectivitySolutions/TechnicalResources/0,,50_2334_2452_11363,00.html
S: Supported
Expand Down
3 changes: 0 additions & 3 deletions trunk/drivers/gpio/gpiolib.c
Original file line number Diff line number Diff line change
Expand Up @@ -1281,9 +1281,6 @@ int gpio_request_one(unsigned gpio, unsigned long flags, const char *label)
err = gpio_direction_output(gpio,
(flags & GPIOF_INIT_HIGH) ? 1 : 0);

if (err)
gpio_free(gpio);

return err;
}
EXPORT_SYMBOL_GPL(gpio_request_one);
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/gpio/rdc321x-gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ static int __devinit rdc321x_gpio_probe(struct platform_device *pdev)
struct rdc321x_gpio *rdc321x_gpio_dev;
struct rdc321x_gpio_pdata *pdata;

pdata = pdev->dev.platform_data;
pdata = platform_get_drvdata(pdev);
if (!pdata) {
dev_err(&pdev->dev, "no platform data supplied\n");
return -ENODEV;
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/leds/led-class.c
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ void led_blink_set(struct led_classdev *led_cdev,
unsigned long *delay_off)
{
if (led_cdev->blink_set &&
!led_cdev->blink_set(led_cdev, delay_on, delay_off))
led_cdev->blink_set(led_cdev, delay_on, delay_off))
return;

/* blink with 1 Hz as default if nothing specified */
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/rtc/rtc-rs5c372.c
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ static int rs5c372_get_datetime(struct i2c_client *client, struct rtc_time *tm)
static int rs5c372_set_datetime(struct i2c_client *client, struct rtc_time *tm)
{
struct rs5c372 *rs5c = i2c_get_clientdata(client);
unsigned char buf[7];
unsigned char buf[8];
int addr;

dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d "
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/spi/spi.c
Original file line number Diff line number Diff line change
Expand Up @@ -584,7 +584,8 @@ void spi_unregister_master(struct spi_master *master)
list_del(&master->list);
mutex_unlock(&board_lock);

dummy = device_for_each_child(&master->dev, NULL, __unregister);
dummy = device_for_each_child(master->dev.parent, &master->dev,
__unregister);
device_unregister(&master->dev);
}
EXPORT_SYMBOL_GPL(spi_unregister_master);
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/video/backlight/cr_bllcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,6 @@ static int cr_backlight_remove(struct platform_device *pdev)
backlight_device_unregister(crp->cr_backlight_device);
lcd_device_unregister(crp->cr_lcd_device);
pci_dev_put(lpc_dev);
kfree(crp);

return 0;
}
Expand Down
2 changes: 1 addition & 1 deletion trunk/fs/logfs/journal.c
Original file line number Diff line number Diff line change
Expand Up @@ -828,7 +828,7 @@ void do_logfs_journal_wl_pass(struct super_block *sb)
super->s_journal_seg[i] = segno;
super->s_journal_ec[i] = ec;
logfs_set_segment_reserved(sb, segno);
err = btree_insert32(head, segno, (void *)1, GFP_NOFS);
err = btree_insert32(head, segno, (void *)1, GFP_KERNEL);
BUG_ON(err); /* mempool should prevent this */
err = logfs_erase_segment(sb, segno, 1);
BUG_ON(err); /* FIXME: remount-ro would be nicer */
Expand Down
3 changes: 0 additions & 3 deletions trunk/fs/logfs/readwrite.c
Original file line number Diff line number Diff line change
Expand Up @@ -1994,9 +1994,6 @@ static int do_write_inode(struct inode *inode)

/* FIXME: transaction is part of logfs_block now. Is that enough? */
err = logfs_write_buf(master_inode, page, 0);
if (err)
move_page_to_inode(inode, page);

logfs_put_write_page(page);
return err;
}
Expand Down
3 changes: 1 addition & 2 deletions trunk/include/linux/taskstats.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
*/


#define TASKSTATS_VERSION 8
#define TASKSTATS_VERSION 7
#define TS_COMM_LEN 32 /* should be >= TASK_COMM_LEN
* in linux/sched.h */

Expand Down Expand Up @@ -188,7 +188,6 @@ enum {
TASKSTATS_TYPE_STATS, /* taskstats structure */
TASKSTATS_TYPE_AGGR_PID, /* contains pid + stats */
TASKSTATS_TYPE_AGGR_TGID, /* contains tgid + stats */
TASKSTATS_TYPE_NULL, /* contains nothing */
__TASKSTATS_TYPE_MAX,
};

Expand Down
6 changes: 3 additions & 3 deletions trunk/include/linux/unaligned/packed_struct.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@

#include <linux/kernel.h>

struct __una_u16 { u16 x; } __attribute__((packed));
struct __una_u32 { u32 x; } __attribute__((packed));
struct __una_u64 { u64 x; } __attribute__((packed));
struct __una_u16 { u16 x __attribute__((packed)); };
struct __una_u32 { u32 x __attribute__((packed)); };
struct __una_u64 { u64 x __attribute__((packed)); };

static inline u16 __get_unaligned_cpu16(const void *p)
{
Expand Down
57 changes: 13 additions & 44 deletions trunk/kernel/taskstats.c
Original file line number Diff line number Diff line change
Expand Up @@ -349,47 +349,25 @@ static int parse(struct nlattr *na, struct cpumask *mask)
return ret;
}

#ifdef CONFIG_IA64
#define TASKSTATS_NEEDS_PADDING 1
#endif

static struct taskstats *mk_reply(struct sk_buff *skb, int type, u32 pid)
{
struct nlattr *na, *ret;
int aggr;

/* If we don't pad, we end up with alignment on a 4 byte boundary.
* This causes lots of runtime warnings on systems requiring 8 byte
* alignment */
u32 pids[2] = { pid, 0 };
int pid_size = ALIGN(sizeof(pid), sizeof(long));

aggr = (type == TASKSTATS_TYPE_PID)
? TASKSTATS_TYPE_AGGR_PID
: TASKSTATS_TYPE_AGGR_TGID;

/*
* The taskstats structure is internally aligned on 8 byte
* boundaries but the layout of the aggregrate reply, with
* two NLA headers and the pid (each 4 bytes), actually
* force the entire structure to be unaligned. This causes
* the kernel to issue unaligned access warnings on some
* architectures like ia64. Unfortunately, some software out there
* doesn't properly unroll the NLA packet and assumes that the start
* of the taskstats structure will always be 20 bytes from the start
* of the netlink payload. Aligning the start of the taskstats
* structure breaks this software, which we don't want. So, for now
* the alignment only happens on architectures that require it
* and those users will have to update to fixed versions of those
* packages. Space is reserved in the packet only when needed.
* This ifdef should be removed in several years e.g. 2012 once
* we can be confident that fixed versions are installed on most
* systems. We add the padding before the aggregate since the
* aggregate is already a defined type.
*/
#ifdef TASKSTATS_NEEDS_PADDING
if (nla_put(skb, TASKSTATS_TYPE_NULL, 0, NULL) < 0)
goto err;
#endif
na = nla_nest_start(skb, aggr);
if (!na)
goto err;

if (nla_put(skb, type, sizeof(pid), &pid) < 0)
if (nla_put(skb, type, pid_size, pids) < 0)
goto err;
ret = nla_reserve(skb, TASKSTATS_TYPE_STATS, sizeof(struct taskstats));
if (!ret)
Expand Down Expand Up @@ -478,18 +456,6 @@ static int cmd_attr_deregister_cpumask(struct genl_info *info)
return rc;
}

static size_t taskstats_packet_size(void)
{
size_t size;

size = nla_total_size(sizeof(u32)) +
nla_total_size(sizeof(struct taskstats)) + nla_total_size(0);
#ifdef TASKSTATS_NEEDS_PADDING
size += nla_total_size(0); /* Padding for alignment */
#endif
return size;
}

static int cmd_attr_pid(struct genl_info *info)
{
struct taskstats *stats;
Expand All @@ -498,7 +464,8 @@ static int cmd_attr_pid(struct genl_info *info)
u32 pid;
int rc;

size = taskstats_packet_size();
size = nla_total_size(sizeof(u32)) +
nla_total_size(sizeof(struct taskstats)) + nla_total_size(0);

rc = prepare_reply(info, TASKSTATS_CMD_NEW, &rep_skb, size);
if (rc < 0)
Expand Down Expand Up @@ -527,7 +494,8 @@ static int cmd_attr_tgid(struct genl_info *info)
u32 tgid;
int rc;

size = taskstats_packet_size();
size = nla_total_size(sizeof(u32)) +
nla_total_size(sizeof(struct taskstats)) + nla_total_size(0);

rc = prepare_reply(info, TASKSTATS_CMD_NEW, &rep_skb, size);
if (rc < 0)
Expand Down Expand Up @@ -602,7 +570,8 @@ void taskstats_exit(struct task_struct *tsk, int group_dead)
/*
* Size includes space for nested attributes
*/
size = taskstats_packet_size();
size = nla_total_size(sizeof(u32)) +
nla_total_size(sizeof(struct taskstats)) + nla_total_size(0);

is_thread_group = !!taskstats_tgid_alloc(tsk);
if (is_thread_group) {
Expand Down
1 change: 1 addition & 0 deletions trunk/mm/compaction.c
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@ static unsigned long isolate_migratepages(struct zone *zone,
/* Successfully isolated */
del_page_from_lru_list(zone, page, page_lru(page));
list_add(&page->lru, migratelist);
mem_cgroup_del_lru(page);
cc->nr_migratepages++;

/* Avoid isolating too much */
Expand Down
2 changes: 0 additions & 2 deletions trunk/mm/migrate.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@
#include <linux/hugetlb.h>
#include <linux/gfp.h>

#include <asm/tlbflush.h>

#include "internal.h"

#define lru_to_page(_head) (list_entry((_head)->prev, struct page, lru))
Expand Down
2 changes: 1 addition & 1 deletion trunk/mm/page-writeback.c
Original file line number Diff line number Diff line change
Expand Up @@ -563,7 +563,7 @@ static void balance_dirty_pages(struct address_space *mapping,
break; /* We've done our duty */
}
trace_wbc_balance_dirty_wait(&wbc, bdi);
__set_current_state(TASK_UNINTERRUPTIBLE);
__set_current_state(TASK_INTERRUPTIBLE);
io_schedule_timeout(pause);

/*
Expand Down

0 comments on commit f94c7ad

Please sign in to comment.