Commit 78035b3b authored by Len Brown's avatar Len Brown

Merge intel.com:/home/lenb/bk/linux-2.6.10

into intel.com:/home/lenb/src/26-stable-dev
parents 384263dc f60fd965
VERSION = 2 VERSION = 2
PATCHLEVEL = 6 PATCHLEVEL = 6
SUBLEVEL = 10 SUBLEVEL = 10
EXTRAVERSION =-rc3 EXTRAVERSION =
NAME=Woozy Numbat NAME=Woozy Numbat
# *DOCUMENTATION* # *DOCUMENTATION*
......
...@@ -32,17 +32,17 @@ cflags-$(CONFIG_M586) += -march=i586 ...@@ -32,17 +32,17 @@ cflags-$(CONFIG_M586) += -march=i586
cflags-$(CONFIG_M586TSC) += -march=i586 cflags-$(CONFIG_M586TSC) += -march=i586
cflags-$(CONFIG_M586MMX) += $(call cc-option,-march=pentium-mmx,-march=i586) cflags-$(CONFIG_M586MMX) += $(call cc-option,-march=pentium-mmx,-march=i586)
cflags-$(CONFIG_M686) += -march=i686 cflags-$(CONFIG_M686) += -march=i686
cflags-$(CONFIG_MPENTIUMII) += $(call cc-option,-march=pentium2,-march=i686) cflags-$(CONFIG_MPENTIUMII) += -march=i686 $(call cc-option,-mtune=pentium2)
cflags-$(CONFIG_MPENTIUMIII) += $(call cc-option,-march=pentium3,-march=i686) cflags-$(CONFIG_MPENTIUMIII) += -march=i686 $(call cc-option,-mtune=pentium3)
cflags-$(CONFIG_MPENTIUMM) += $(call cc-option,-march=pentium3,-march=i686) cflags-$(CONFIG_MPENTIUMM) += -march=i686 $(call cc-option,-mtune=pentium3)
cflags-$(CONFIG_MPENTIUM4) += $(call cc-option,-march=pentium4,-march=i686) cflags-$(CONFIG_MPENTIUM4) += -march=i686 $(call cc-option,-mtune=pentium4)
cflags-$(CONFIG_MK6) += -march=k6 cflags-$(CONFIG_MK6) += -march=k6
# Please note, that patches that add -march=athlon-xp and friends are pointless. # Please note, that patches that add -march=athlon-xp and friends are pointless.
# They make zero difference whatsosever to performance at this time. # They make zero difference whatsosever to performance at this time.
cflags-$(CONFIG_MK7) += $(call cc-option,-march=athlon,-march=i686 $(align)-functions=4) cflags-$(CONFIG_MK7) += $(call cc-option,-march=athlon,-march=i686 $(align)-functions=4)
cflags-$(CONFIG_MK8) += $(call cc-option,-march=k8,$(call cc-option,-march=athlon,-march=i686 $(align)-functions=4)) cflags-$(CONFIG_MK8) += $(call cc-option,-march=k8,$(call cc-option,-march=athlon,-march=i686 $(align)-functions=4))
cflags-$(CONFIG_MCRUSOE) += -march=i686 $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0 cflags-$(CONFIG_MCRUSOE) += -march=i686 $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0
cflags-$(CONFIG_MEFFICEON) += $(call cc-option,-march=pentium3,-march=i686) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0 cflags-$(CONFIG_MEFFICEON) += -march=i686 $(call cc-option,-mtune=pentium3) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0
cflags-$(CONFIG_MWINCHIPC6) += $(call cc-option,-march=winchip-c6,-march=i586) cflags-$(CONFIG_MWINCHIPC6) += $(call cc-option,-march=winchip-c6,-march=i586)
cflags-$(CONFIG_MWINCHIP2) += $(call cc-option,-march=winchip2,-march=i586) cflags-$(CONFIG_MWINCHIP2) += $(call cc-option,-march=winchip2,-march=i586)
cflags-$(CONFIG_MWINCHIP3D) += $(call cc-option,-march=winchip2,-march=i586) cflags-$(CONFIG_MWINCHIP3D) += $(call cc-option,-march=winchip2,-march=i586)
......
...@@ -93,11 +93,6 @@ enum { ...@@ -93,11 +93,6 @@ enum {
static char *cfq_key_types[] = { "pgid", "tgid", "uid", "gid", NULL }; static char *cfq_key_types[] = { "pgid", "tgid", "uid", "gid", NULL };
/*
* spare queue
*/
#define CFQ_KEY_SPARE (~0UL)
static kmem_cache_t *crq_pool; static kmem_cache_t *crq_pool;
static kmem_cache_t *cfq_pool; static kmem_cache_t *cfq_pool;
static kmem_cache_t *cfq_ioc_pool; static kmem_cache_t *cfq_ioc_pool;
...@@ -1234,19 +1229,6 @@ __cfq_get_queue(struct cfq_data *cfqd, unsigned long key, int gfp_mask) ...@@ -1234,19 +1229,6 @@ __cfq_get_queue(struct cfq_data *cfqd, unsigned long key, int gfp_mask)
return cfqq; return cfqq;
} }
static struct cfq_queue *
cfq_get_queue(struct cfq_data *cfqd, unsigned long key, int gfp_mask)
{
request_queue_t *q = cfqd->queue;
struct cfq_queue *cfqq;
spin_lock_irq(q->queue_lock);
cfqq = __cfq_get_queue(cfqd, key, gfp_mask);
spin_unlock_irq(q->queue_lock);
return cfqq;
}
static void cfq_enqueue(struct cfq_data *cfqd, struct cfq_rq *crq) static void cfq_enqueue(struct cfq_data *cfqd, struct cfq_rq *crq)
{ {
crq->is_sync = 0; crq->is_sync = 0;
...@@ -1433,14 +1415,8 @@ static int cfq_set_request(request_queue_t *q, struct request *rq, int gfp_mask) ...@@ -1433,14 +1415,8 @@ static int cfq_set_request(request_queue_t *q, struct request *rq, int gfp_mask)
spin_lock_irqsave(q->queue_lock, flags); spin_lock_irqsave(q->queue_lock, flags);
cfqq = __cfq_get_queue(cfqd, cfq_hash_key(cfqd, current), gfp_mask); cfqq = __cfq_get_queue(cfqd, cfq_hash_key(cfqd, current), gfp_mask);
if (!cfqq) { if (!cfqq)
#if 0
cfqq = cfq_get_queue(cfqd, CFQ_KEY_SPARE, gfp_mask);
printk("%s: got spare queue\n", current->comm);
#else
goto out_lock; goto out_lock;
#endif
}
repeat: repeat:
if (cfqq->allocated[rw] >= cfqd->max_queued) if (cfqq->allocated[rw] >= cfqd->max_queued)
...@@ -1495,21 +1471,10 @@ static int cfq_set_request(request_queue_t *q, struct request *rq, int gfp_mask) ...@@ -1495,21 +1471,10 @@ static int cfq_set_request(request_queue_t *q, struct request *rq, int gfp_mask)
static void cfq_put_cfqd(struct cfq_data *cfqd) static void cfq_put_cfqd(struct cfq_data *cfqd)
{ {
request_queue_t *q = cfqd->queue; request_queue_t *q = cfqd->queue;
struct cfq_queue *cfqq;
if (!atomic_dec_and_test(&cfqd->ref)) if (!atomic_dec_and_test(&cfqd->ref))
return; return;
/*
* kill spare queue, getting it means we have two refences to it.
* drop both
*/
spin_lock_irq(q->queue_lock);
cfqq = __cfq_get_queue(cfqd, CFQ_KEY_SPARE, GFP_ATOMIC);
cfq_put_queue(cfqq);
cfq_put_queue(cfqq);
spin_unlock_irq(q->queue_lock);
blk_put_queue(q); blk_put_queue(q);
mempool_destroy(cfqd->crq_pool); mempool_destroy(cfqd->crq_pool);
...@@ -1526,7 +1491,6 @@ static void cfq_exit_queue(elevator_t *e) ...@@ -1526,7 +1491,6 @@ static void cfq_exit_queue(elevator_t *e)
static int cfq_init_queue(request_queue_t *q, elevator_t *e) static int cfq_init_queue(request_queue_t *q, elevator_t *e)
{ {
struct cfq_data *cfqd; struct cfq_data *cfqd;
struct cfq_queue *cfqq;
int i; int i;
cfqd = kmalloc(sizeof(*cfqd), GFP_KERNEL); cfqd = kmalloc(sizeof(*cfqd), GFP_KERNEL);
...@@ -1559,13 +1523,6 @@ static int cfq_init_queue(request_queue_t *q, elevator_t *e) ...@@ -1559,13 +1523,6 @@ static int cfq_init_queue(request_queue_t *q, elevator_t *e)
cfqd->queue = q; cfqd->queue = q;
atomic_inc(&q->refcnt); atomic_inc(&q->refcnt);
/*
* setup spare failure queue
*/
cfqq = cfq_get_queue(cfqd, CFQ_KEY_SPARE, GFP_KERNEL);
if (!cfqq)
goto out_spare;
/* /*
* just set it to some high value, we want anyone to be able to queue * just set it to some high value, we want anyone to be able to queue
* some requests. fairness is handled differently * some requests. fairness is handled differently
...@@ -1586,8 +1543,6 @@ static int cfq_init_queue(request_queue_t *q, elevator_t *e) ...@@ -1586,8 +1543,6 @@ static int cfq_init_queue(request_queue_t *q, elevator_t *e)
cfqd->cfq_back_penalty = cfq_back_penalty; cfqd->cfq_back_penalty = cfq_back_penalty;
return 0; return 0;
out_spare:
mempool_destroy(cfqd->crq_pool);
out_crqpool: out_crqpool:
kfree(cfqd->cfq_hash); kfree(cfqd->cfq_hash);
out_cfqhash: out_cfqhash:
......
...@@ -91,8 +91,6 @@ static int evdev_flush(struct file * file) ...@@ -91,8 +91,6 @@ static int evdev_flush(struct file * file)
static void evdev_free(struct evdev *evdev) static void evdev_free(struct evdev *evdev)
{ {
devfs_remove("input/event%d", evdev->minor);
class_simple_device_remove(MKDEV(INPUT_MAJOR, EVDEV_MINOR_BASE + evdev->minor));
evdev_table[evdev->minor] = NULL; evdev_table[evdev->minor] = NULL;
kfree(evdev); kfree(evdev);
} }
...@@ -441,6 +439,8 @@ static void evdev_disconnect(struct input_handle *handle) ...@@ -441,6 +439,8 @@ static void evdev_disconnect(struct input_handle *handle)
{ {
struct evdev *evdev = handle->private; struct evdev *evdev = handle->private;
class_simple_device_remove(MKDEV(INPUT_MAJOR, EVDEV_MINOR_BASE + evdev->minor));
devfs_remove("input/event%d", evdev->minor);
evdev->exist = 0; evdev->exist = 0;
if (evdev->open) { if (evdev->open) {
......
...@@ -143,9 +143,7 @@ static int joydev_fasync(int fd, struct file *file, int on) ...@@ -143,9 +143,7 @@ static int joydev_fasync(int fd, struct file *file, int on)
static void joydev_free(struct joydev *joydev) static void joydev_free(struct joydev *joydev)
{ {
devfs_remove("input/js%d", joydev->minor);
joydev_table[joydev->minor] = NULL; joydev_table[joydev->minor] = NULL;
class_simple_device_remove(MKDEV(INPUT_MAJOR, JOYDEV_MINOR_BASE + joydev->minor));
kfree(joydev); kfree(joydev);
} }
...@@ -466,6 +464,8 @@ static void joydev_disconnect(struct input_handle *handle) ...@@ -466,6 +464,8 @@ static void joydev_disconnect(struct input_handle *handle)
{ {
struct joydev *joydev = handle->private; struct joydev *joydev = handle->private;
class_simple_device_remove(MKDEV(INPUT_MAJOR, JOYDEV_MINOR_BASE + joydev->minor));
devfs_remove("input/js%d", joydev->minor);
joydev->exist = 0; joydev->exist = 0;
if (joydev->open) if (joydev->open)
......
...@@ -329,8 +329,6 @@ static int mousedev_fasync(int fd, struct file *file, int on) ...@@ -329,8 +329,6 @@ static int mousedev_fasync(int fd, struct file *file, int on)
static void mousedev_free(struct mousedev *mousedev) static void mousedev_free(struct mousedev *mousedev)
{ {
devfs_remove("input/mouse%d", mousedev->minor);
class_simple_device_remove(MKDEV(INPUT_MAJOR, MOUSEDEV_MINOR_BASE + mousedev->minor));
mousedev_table[mousedev->minor] = NULL; mousedev_table[mousedev->minor] = NULL;
kfree(mousedev); kfree(mousedev);
} }
...@@ -640,6 +638,8 @@ static void mousedev_disconnect(struct input_handle *handle) ...@@ -640,6 +638,8 @@ static void mousedev_disconnect(struct input_handle *handle)
{ {
struct mousedev *mousedev = handle->private; struct mousedev *mousedev = handle->private;
class_simple_device_remove(MKDEV(INPUT_MAJOR, MOUSEDEV_MINOR_BASE + mousedev->minor));
devfs_remove("input/mouse%d", mousedev->minor);
mousedev->exist = 0; mousedev->exist = 0;
if (mousedev->open) { if (mousedev->open) {
......
/* /*
* $Id: tsdev.c,v 1.15 2002/04/10 16:50:19 jsimmons Exp $ * $Id: tsdev.c,v 1.15 2002/04/10 16:50:19 jsimmons Exp $
* *
* Copyright (c) 2001 "Crazy" james Simmons * Copyright (c) 2001 "Crazy" james Simmons
* *
* Compaq touchscreen protocol driver. The protocol emulated by this driver * Compaq touchscreen protocol driver. The protocol emulated by this driver
* is obsolete; for new programs use the tslib library which can read directly * is obsolete; for new programs use the tslib library which can read directly
...@@ -177,8 +177,6 @@ static int tsdev_open(struct inode *inode, struct file *file) ...@@ -177,8 +177,6 @@ static int tsdev_open(struct inode *inode, struct file *file)
static void tsdev_free(struct tsdev *tsdev) static void tsdev_free(struct tsdev *tsdev)
{ {
devfs_remove("input/ts%d", tsdev->minor);
class_simple_device_remove(MKDEV(INPUT_MAJOR, TSDEV_MINOR_BASE + tsdev->minor));
tsdev_table[tsdev->minor] = NULL; tsdev_table[tsdev->minor] = NULL;
kfree(tsdev); kfree(tsdev);
} }
...@@ -418,7 +416,7 @@ static struct input_handle *tsdev_connect(struct input_handler *handler, ...@@ -418,7 +416,7 @@ static struct input_handle *tsdev_connect(struct input_handler *handler,
S_IFCHR|S_IRUGO|S_IWUSR, "input/ts%d", minor); S_IFCHR|S_IRUGO|S_IWUSR, "input/ts%d", minor);
devfs_mk_cdev(MKDEV(INPUT_MAJOR, TSDEV_MINOR_BASE + minor + TSDEV_MINORS/2), devfs_mk_cdev(MKDEV(INPUT_MAJOR, TSDEV_MINOR_BASE + minor + TSDEV_MINORS/2),
S_IFCHR|S_IRUGO|S_IWUSR, "input/tsraw%d", minor); S_IFCHR|S_IRUGO|S_IWUSR, "input/tsraw%d", minor);
class_simple_device_add(input_class, class_simple_device_add(input_class,
MKDEV(INPUT_MAJOR, TSDEV_MINOR_BASE + minor), MKDEV(INPUT_MAJOR, TSDEV_MINOR_BASE + minor),
dev->dev, "ts%d", minor); dev->dev, "ts%d", minor);
...@@ -429,6 +427,9 @@ static void tsdev_disconnect(struct input_handle *handle) ...@@ -429,6 +427,9 @@ static void tsdev_disconnect(struct input_handle *handle)
{ {
struct tsdev *tsdev = handle->private; struct tsdev *tsdev = handle->private;
class_simple_device_remove(MKDEV(INPUT_MAJOR, TSDEV_MINOR_BASE + tsdev->minor));
devfs_remove("input/ts%d", tsdev->minor);
devfs_remove("input/tsraw%d", tsdev->minor);
tsdev->exist = 0; tsdev->exist = 0;
if (tsdev->open) { if (tsdev->open) {
...@@ -436,7 +437,6 @@ static void tsdev_disconnect(struct input_handle *handle) ...@@ -436,7 +437,6 @@ static void tsdev_disconnect(struct input_handle *handle)
wake_up_interruptible(&tsdev->wait); wake_up_interruptible(&tsdev->wait);
} else } else
tsdev_free(tsdev); tsdev_free(tsdev);
devfs_remove("input/tsraw%d", tsdev->minor);
} }
static struct input_device_id tsdev_ids[] = { static struct input_device_id tsdev_ids[] = {
......
...@@ -1449,12 +1449,14 @@ struct dentry *reiserfs_get_dentry(struct super_block *sb, void *vobjp) ...@@ -1449,12 +1449,14 @@ struct dentry *reiserfs_get_dentry(struct super_block *sb, void *vobjp)
key.on_disk_key.k_objectid = data[0] ; key.on_disk_key.k_objectid = data[0] ;
key.on_disk_key.k_dir_id = data[1] ; key.on_disk_key.k_dir_id = data[1] ;
reiserfs_write_lock(sb);
inode = reiserfs_iget(sb, &key) ; inode = reiserfs_iget(sb, &key) ;
if (inode && !IS_ERR(inode) && data[2] != 0 && if (inode && !IS_ERR(inode) && data[2] != 0 &&
data[2] != inode->i_generation) { data[2] != inode->i_generation) {
iput(inode) ; iput(inode) ;
inode = NULL ; inode = NULL ;
} }
reiserfs_write_unlock(sb);
if (!inode) if (!inode)
inode = ERR_PTR(-ESTALE); inode = ERR_PTR(-ESTALE);
if (IS_ERR(inode)) if (IS_ERR(inode))
......
...@@ -269,6 +269,7 @@ static inline void put_swap_token(struct mm_struct *mm) ...@@ -269,6 +269,7 @@ static inline void put_swap_token(struct mm_struct *mm)
#define move_from_swap_cache(p, i, m) 1 #define move_from_swap_cache(p, i, m) 1
#define __delete_from_swap_cache(p) /*NOTHING*/ #define __delete_from_swap_cache(p) /*NOTHING*/
#define delete_from_swap_cache(p) /*NOTHING*/ #define delete_from_swap_cache(p) /*NOTHING*/
#define swap_token_default_timeout 0
static inline int remove_exclusive_swap_page(struct page *p) static inline int remove_exclusive_swap_page(struct page *p)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment