Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 01-30-08, 05:21 PM   #1
Nephyrin
Registered User
 
Join Date: Apr 2007
Location: Simi Valley, CA
Posts: 45
Send a message via AIM to Nephyrin Send a message via MSN to Nephyrin Send a message via Skype™ to Nephyrin
Default 169.09 Nvidia.ko build fails on newest 2.6.24 snapshot

Code:
/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86_64-169.09-pkg2/usr/src/nv/nv-vm.c: In function ‘nv_set_page_attrib_uncached’:
/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86_64-169.09-pkg2/usr/src/nv/nv-vm.c:64: warning: ‘change_page_attr’ is deprecated (declared at include/asm/cacheflush.h:28)
/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86_64-169.09-pkg2/usr/src/nv/nv-vm.c: In function ‘nv_set_page_attrib_cached’:
/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86_64-169.09-pkg2/usr/src/nv/nv-vm.c:79: warning: ‘change_page_attr’ is deprecated (declared at include/asm/cacheflush.h:28)
/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86_64-169.09-pkg2/usr/src/nv/nv-vm.c: In function ‘nv_flush_caches’:
/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86_64-169.09-pkg2/usr/src/nv/nv-vm.c:364: error: implicit declaration of function ‘global_flush_tlb’
make[3]: *** [/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86_64-169.09-pkg2/usr/src/nv/nv-vm.o] Error 1
make[2]: *** [_module_/var/tmp/portage/x11-drivers/nvidia-drivers-169.09/work/NVIDIA-Linux-x86_64-169.09-pkg2/usr/src/nv] Error 2
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make[1]: *** [module] Error 1
make: *** [module] Error 2
:-(

Update 3: Ok, proper bisect:
Code:
d7c8f21a8cad0228c7c5ce2bb6dbd95d1ee49d13 is first bad commit
commit d7c8f21a8cad0228c7c5ce2bb6dbd95d1ee49d13
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jan 30 13:34:07 2008 +0100

    x86: cpa: move flush to cpa
    
    The set_memory_* and set_pages_* family of API's currently requires the
    callers to do a global tlb flush after the function call; forgetting this is
    a very nasty deathtrap. This patch moves the global tlb flush into
    each of the callers
    
    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

:040000 040000 e2deb3bf8799a5d1211ab5e316b91f1bfc735dbb bd077b568b5dbb2f87d4ff8f8a9c9e5a6353688e M      arch
:040000 040000 b90602f924a0c0b5ca8f37f09a997b6fee5db16a 63cd34e4eb2631341033c54b5f42abbb92191a12 M      drivers
:040000 040000 17cedb93a0d13fd6c5ffe48922be21f1bd7d1cf3 f4614051af1a3f5ed989cbb986114cf456a024e1 M      include
:040000 040000 c001d74ee46384f8af4a71c455ea0d0f0ee79506 f18dfeba2882e84071bc8f7b4ff6aed5e14e78d8 M      sound
bisect run success
This patch that occurs later on is also of note:
Code:
commit af1e6844d60057774910a2d08bd75b67d73ba7d5
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jan 30 13:34:08 2008 +0100

    x86: cpa: rename global_flush_tlb() to cpa_flush_all()
    
    The function name global_flush_tlb() suggests something different from
    what the function really does. Rename it to cpa_flush_all(), which is an
    understandable counterpart to cpa_flush_range().
    
    no global visibility of the old API anymore.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
Nephyrin is offline   Reply With Quote
Old 02-01-08, 10:55 AM   #2
coolphoenix
Registered User
 
Join Date: Feb 2008
Posts: 5
Default Re: 169.09 Nvidia.ko build fails on newest 2.6.24 snapshot

i can confirm the error on building...

maybe we just have to rename global_flush_tlb() to cpa_flush_all() in the sourcecode, i'll try to hack around a little bit and come up with a patch if i'm successfull.
coolphoenix is offline   Reply With Quote
Old 02-01-08, 10:58 AM   #3
PuckPoltergeist
Registered User
 
Join Date: Jan 2007
Posts: 42
Default Re: 169.09 Nvidia.ko build fails on newest 2.6.24 snapshot

Quote:
Originally Posted by coolphoenix
i can confirm the error on building...

maybe we just have to rename global_flush_tlb() to cpa_flush_all() in the sourcecode, i'll try to hack around a little bit and come up with a patch if i'm successfull.
This won't help, because cpa_flush_all() is an internal function.
PuckPoltergeist is offline   Reply With Quote
Old 02-01-08, 11:46 AM   #4
coolphoenix
Registered User
 
Join Date: Feb 2008
Posts: 5
Default Re: 169.09 Nvidia.ko build fails on newest 2.6.24 snapshot

well, you're right, so i just commented it out (not a real fix just wanted to see if everything else works) - compiling worked, but loading the module i get

Code:
nvidia: Unknown symbol change_page_attr
this seems to have to do something with following commit:

Code:
commit	e1271f686a0e376aa6ee97984c16f91a787e4480

x86: deprecate change_page_attr() for drivers

With the introduction of the new API, no driver or non-archcore code needs
to use c-p-a anymore, so this patch also deprecates the EXPORT_SYMBOL of CPA
(it's a horrible API after all).

--- a/include/asm-x86/cacheflush.h
+++ b/include/asm-x86/cacheflush.h
@@ -25,7 +25,8 @@
        memcpy(dst, src, len)
 
 void global_flush_tlb(void);
-int change_page_attr(struct page *page, int numpages, pgprot_t prot);
+int __deprecated_for_modules change_page_attr(struct page *page, int numpages,
+                                                               pgprot_t prot);
 int change_page_attr_addr(unsigned long addr, int numpages, pgprot_t prot);
 
 int set_pages_uc(struct page *page, int numpages);



--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -284,7 +284,7 @@ int change_page_attr(struct page *page, int numpages, pgprot_t prot)
 
        return change_page_attr_addr(addr, numpages, prot);
 }
-EXPORT_SYMBOL(change_page_attr);
+EXPORT_UNUSED_SYMBOL(change_page_attr); /* to be removed in 2.6.27 */
 
 /**
  * change_page_attr_set - Change page table attributes in the linear mapping.
seems to be one more change in the upcoming kernel destroying compability with the nvidia-module...
coolphoenix is offline   Reply With Quote
Old 02-01-08, 12:44 PM   #5
zander
NVIDIA Corporation
 
zander's Avatar
 
Join Date: Aug 2002
Posts: 3,740
Default Re: 169.09 Nvidia.ko build fails on newest 2.6.24 snapshot

Thank you for your report. Linux 2.4.24-git9 includes a number of changes the NVIDIA Linux graphics drivers' kernel interface files are not presently prepared to handle. We are aware of these changes and hope to resolve the compatibility problems in the near future. As always, however, it is recommended that you use release quality kernels, NVIDIA does not support pre-releases/snapshots/etc..
zander is offline   Reply With Quote
Old 02-01-08, 01:51 PM   #6
palmy
Registered User
 
palmy's Avatar
 
Join Date: Jan 2008
Location: Italy - Europe
Posts: 7
Default Re: 169.09 Nvidia.ko build fails on newest 2.6.24 snapshot

i use the stable release of kernel 2.6.24 (vanilla) and Nvidia driver 169.09.
Driver's installation work without problems.
__________________
Sony Vaio FZ21M - www.palmix.org - Debian/GNU Linux 2.6.27.2
palmy is offline   Reply With Quote
Old 02-02-08, 05:26 AM   #7
spinctrl
Registered User
 
Join Date: Jul 2006
Location: London, UK
Posts: 5
Default Re: 169.09 Nvidia.ko build fails on newest 2.6.24 snapshot

The first release works nicely with .24:

[alex@europa ~]$ uname -a
Linux europa 2.6.24 #1 PREEMPT Fri Jan 25 01:28:55 GMT 2008 i686 AMD Athlon(tm) 64 Processor 3700+ GNU/Linux


[alex@europa ~]$ dmesg ...
[ 1858.705561] warning: process `nvidia-installe' used the deprecated sysctl system call with 1.23.
[ 1858.732409] Linux agpgart interface v0.102
[ 1858.774699] nvidia: no version for "struct_module" found: kernel tainted.
[ 1858.786213] nvidia: module license 'NVIDIA' taints kernel.
[ 1859.042425] ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNK3] -> GSI 5 (level, low) -> IRQ 5
[ 1859.042559] PCI: Setting latency timer of device 0000:01:00.0 to 64
[ 1859.042796] NVRM: loading NVIDIA UNIX x86 Kernel Module 169.09 Fri Jan 11 14:38:28 PST 2008
spinctrl is offline   Reply With Quote
Old 02-02-08, 05:38 AM   #8
siddly
Registered User
 
Join Date: Jul 2003
Location: West Midlands, UK
Posts: 125
Default Re: 169.09 Nvidia.ko build fails on newest 2.6.24 snapshot

I had commented out the lines in nv-vm.c that gave errors with 2.6.24-git9. The module built and successfully loaded, but X refused to start - NO SCREENS FOUND. My earlier thread shows the changed code. Cut&Paste from that thread.
====================

Default kernel 2.6.24-git9 and 169.09 x86_64 pkg2 build errors
undefined references:-

#if defined(NVCPU_X86) || defined(NVCPU_X86_64)
pgprot_val(prot) &= __nv_supported_pte_mask;
#endif
/* change_page_attr(page, 1, prot); */ <<===========
}
#endif

#if defined(NVCPU_X86) || defined(NVCPU_X86_64)
pgprot_val(prot) &= __nv_supported_pte_mask;
#endif
/* change_page_attr(page, 1, prot); */ <<============
}

#if defined (NVCPU_X86) || defined (NVCPU_X86_64)
/* global_flush_tlb(); */ <<==============
#endif


I commented out the lines <<==== above, it built and the module loaded, but xorg said it could find no screens. I shall get the actual messages next time I reboot.
I didn't try 2.6.24-git8, but 2.6.24-git4 runs with 169.09 unmodified.
siddly is offline   Reply With Quote

Old 02-03-08, 02:37 PM   #9
PuckPoltergeist
Registered User
 
Join Date: Jan 2007
Posts: 42
Default Re: 169.09 Nvidia.ko build fails on newest 2.6.24 snapshot

Quote:
Originally Posted by siddly
I had commented out the lines in nv-vm.c that gave errors with 2.6.24-git9. The module built and successfully loaded, but X refused to start - NO SCREENS FOUND. My earlier thread shows the changed code. Cut&Paste from that thread.
====================

Default kernel 2.6.24-git9 and 169.09 x86_64 pkg2 build errors
undefined references:-

#if defined(NVCPU_X86) || defined(NVCPU_X86_64)
pgprot_val(prot) &= __nv_supported_pte_mask;
#endif
/* change_page_attr(page, 1, prot); */ <<===========
}
#endif

#if defined(NVCPU_X86) || defined(NVCPU_X86_64)
pgprot_val(prot) &= __nv_supported_pte_mask;
#endif
/* change_page_attr(page, 1, prot); */ <<============
}

#if defined (NVCPU_X86) || defined (NVCPU_X86_64)
/* global_flush_tlb(); */ <<==============
#endif


I commented out the lines <<==== above, it built and the module loaded, but xorg said it could find no screens. I shall get the actual messages next time I reboot.
I didn't try 2.6.24-git8, but 2.6.24-git4 runs with 169.09 unmodified.
Commenting out this lines isn't good. They must be replaced with set_memory_uc/set_memory_wb. With this, global_flush_tlb() isn't necessary any more, I think. As long as I can see, it's only neede for change_page_attr, and this is hidden behind the new interface (set_memory_$X), which calls the flush itself.
But there must be more changes. Updatinge the glue-layer from the nvidia-driver doesn't help at all. The module now compiles and loads, but when starting X, it results in an error in rm_init_adapter. Since this is an internal function from the nvidia-driver, I can't look any deeper in it, to find the additional changes.
PuckPoltergeist is offline   Reply With Quote
Old 02-03-08, 03:46 PM   #10
Optogeek
Registered User
 
Join Date: Jun 2006
Posts: 1
Default Re: 169.09 Nvidia.ko build fails on newest 2.6.24 snapshot

96.43.05 has the same issue as above. (for those of us with old hardware and bleeding edge kernel) :-)
Optogeek is offline   Reply With Quote
Old 02-03-08, 04:18 PM   #11
zander
NVIDIA Corporation
 
zander's Avatar
 
Join Date: Aug 2002
Posts: 3,740
Default Re: 169.09 Nvidia.ko build fails on newest 2.6.24 snapshot

A few additional changes are needed, but none in the binary component. I plan on posting a patch and instructions sometime during this coming week.
zander is offline   Reply With Quote
Old 02-03-08, 04:30 PM   #12
PuckPoltergeist
Registered User
 
Join Date: Jan 2007
Posts: 42
Default Re: 169.09 Nvidia.ko build fails on newest 2.6.24 snapshot

Quote:
Originally Posted by zander
A few additional changes are needed, but none in the binary component.
Ah ok. I only got the error from the rm_init_adapter, so I suspected the error somewhere in the binary part.
Code:
Feb  3 18:43:59 Schleppi NVRM: RmInitAdapter failed! (0x32:0xffffffff:1518)
Feb  3 18:43:59 Schleppi NVRM: rm_init_adapter(0) failed
Quote:
I plan on posting a patch and instructions sometime during this coming week.
Great, and thanx for the work.
PuckPoltergeist is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
Diablo 3 build guide: Barbarian, Demon Hunter, Monk, Witch Doctor and Wizard News Archived News Items 0 05-12-12 12:00 PM

All times are GMT -5. The time now is 11:32 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.