Skip to contentSkip to conversation

set_user_nice() not defined on 2.4.21+

DISCUSSION Xiaogeng (Shawn) Jin 2 participants 4 messages Jan 10, 2003 Memory technology devices (MTD)

lore
Share & tools
lore
#0 lore raw

Hi,

When compiled JFFS2 with kernel 2.4.21-pre3, the linker complains that the reference to set_user_nice() in function jffs2_garbage_collect_thread() hasn't been defined. I traced the code down to <linux/mtd/compatmac.h> and found that set_user_nice() is not defined if linux verion is equal or greater than 2.4.21. See the code below. Why? Does it mean that 2.4.21+ has already such a function defined somewhere else or that 2.4.21+ doesn't need it? Actually I searched 2.4.21-pre3 code and found no set_user_nice() defined except in <linux/mtd/compatmac.h>. I guess it's possibly a bug.

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) /* Is this right? */
#define set_user_nice(tsk, n) do { (tsk)->priority = 20-(n); } while(0) #elif LINUX_VERSION_CODE < KERNEL_VERSION(2,4,21) && !defined(RED_HAT_LINUX_KERNEL) #define set_user_nice(tsk, n) do { (tsk)->nice = n; } while(0)
#endif

Signature · 2 lines
Shawn Jin
RedSwitch Inc.
#1 lore raw

Hi

I had the impression that set_user_nice() would be in 2.4.21 when I added set_user_nice() to mtd/compatmac.h. I can change it to KERNEL_VERSION(2,5,0) or someone can submit a patch to Marcelo.

Jocke

Quoted 27 lines

Hi,

When compiled JFFS2 with kernel 2.4.21-pre3, the linker complains that the reference to set_user_nice() in function jffs2_garbage_collect_thread() hasn't been defined. I traced the code down to <linux/mtd/compatmac.h> and found that set_user_nice() is not defined if linux verion is equal or greater than 2.4.21. See the code below. Why? Does it mean that 2.4.21+ has already such a function defined somewhere else or that 2.4.21+ doesn't need it? Actually I searched 2.4.21-pre3 code and found no set_user_nice() defined except in <linux/mtd/compatmac.h>. I guess it's possibly a bug.

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) /* Is this right? */
#define set_user_nice(tsk, n) do { (tsk)->priority = 20-(n); } while(0) #elif LINUX_VERSION_CODE < KERNEL_VERSION(2,4,21) && !defined(RED_HAT_LINUX_KERNEL)
#define set_user_nice(tsk, n) do { (tsk)->nice = n; } while(0) #endif

Signature · 7 lines
Shawn Jin
RedSwitch Inc.


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
#2 lore raw

Hi Jocke,

Are you maintaining at least mtd/compatmac.h? I also found a compatibility problem of rq_data_dir(). I did find that this function is already defined in linux/blkdev.h of 2.4.21-pre3. So probably mtd/compatmac.h needn't define it again.

Quoted 4 lines · Joakim Tjernlund

Hi

I had the impression that set_user_nice() would be in 2.4.21 when I added set_user_nice() to mtd/compatmac.h. I can change it to KERNEL_VERSION(2,5,0) or someone can submit a patch to Marcelo.

- Shawn.

#3 lore raw
Quoted 4 lines

Hi Jocke,

Are you maintaining at least mtd/compatmac.h?

No, I just added set_user_nice() after discussion with David Woodhouse since I ran into the same problem as you.

Quoted 4 lines

I also found a
compatibility problem of rq_data_dir(). I did find that this function is already defined in linux/blkdev.h of 2.4.21-pre3. So probably mtd/compatmac.h needn't define it again.

Best to run this via David Woodhouse. He knows this much better than I do.

Quoted 9 lines
Quoted 5 lines · Joakim Tjernlund

Hi

I had the impression that set_user_nice() would be in 2.4.21 when I added set_user_nice() to mtd/compatmac.h. I can change it to KERNEL_VERSION(2,5,0) or someone can submit a patch to Marcelo.

- Shawn.