Hi! ,
MAFoElffen,
I am afraid you rather lost me with your last Post M >> P 842.
You posted: The reasons I asked if I should re-run nvidia-xconfig, after re-naming the xorg.conf file, were: firstly, I thought not having re-named it had made the procedure ineffective; second to deal with the Xorg errors that showed on booting to fail-safe - ie: Ex B >> P 840. and which still occur.
However, your Patch file involves re-installing nvidia so it is all a bit pase'.
No, I had not read it – what is “the linux patch”?, a Forum elsewhere ?? - but I have now, and am thoroughly daunted.
First: the easier bit – nvidia:
When I sh -x the NVIDIA 290 bin file, the Icon of the resulting folder has a padlock on it, and if I open the file to edit it the Save button is ghosted. I have not tried sudo gedit from a terminal, nor gksu gedit, maybe one will work.
First Beginner Question: If I succeed in editing the files, the original compressed folder will not be altered, so I assume I will need to re-compress the edited version.
How do I do that?, and do I replace the original or give it a new name?.
Second: The Code Patch. This is where I am over my head.
My /usr/src/ folder has two 11.10 folders: 'linux-3.0.12-030012' and' linux-3.0.12-030012-generic'. As 'uname -a' says that is what I have, I am trying to edit that.
Please assume my knowledge of C++ coding – if that is what it is – is limited to knowing that Brackets come in pairs; unfortunately, in the “approved Linux patch“ they do not.
Code:
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index 99f9aa7..58b13f1 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -814,13 +814,14 @@ static __always_inline bool __is_kfree_rcu_offset(unsigned long offset)
return offset < 4096;
}
+/*
+ * Intended to be called only from the kfree_rcu() macro.
+ */
static __always_inline
void __kfree_rcu(struct rcu_head *head, unsigned long offset)
{
typedef void (*rcu_callback)(struct rcu_head *);
- BUILD_BUG_ON(!__builtin_constant_p(offset));
-
/* See the kfree_rcu() header comment. */
BUILD_BUG_ON(!__is_kfree_rcu_offset(offset));
My /usr/src/linux-3.0.12-30012-generic/include/linux/rcupdate.h file has :
Code:
static __always_inline bool __is_kfree_rcu_offset(unsigned long offset)
{
return offset <4096;
}
ie, enclosed in its own brackets, and the "static __always inline bool ….." line – without the numeric preface - is outside brackets together with the "#endif" line above, and preceded by a pair of orphan brackets.
Then there are the two dashes – minus signs ?? - before the first BUILD_BUG line and the line following, are they significant and needed ??
In other words: should it read as follows: Code:
Code:
{
}
#endif /* #else xxxxxxxxxxxxxxxxxxxxxxx */
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index 99f9aa7..58b13f1 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -814,13 +814,14 @@ static __always_inline bool __is_kfree_rcu_offset(unsigned long offset)
{
return offset < 4096;
}
+/*
+ * Intended to be called only from the kfree_rcu() macro.
+ */
static __always_inline
void __kfree_rcu(struct rcu_head *head, unsigned long offset)
{
typedef void (*rcu_callback)(struct rcu_head *);
- BUILD_BUG_ON(!__builtin_constant_p(offset));
-
/* See the kfree_rcu() header comment. */
BUILD_BUG_ON(!__is_kfree_rcu_offset(offset));
call_rcu(head, (rcu_callback)offset);
}
Now I have done that it does not seem so intimidating - just a missed-out bracket, - if I am right.
Furthermore, I just tried out
and despite a lot of protests, the Save button was active.
Chao! ,
bogan.
Bookmarks