LINUX.ORG.RU

Сообщения ttnl

 

[Закапываем] FreeBSD

http://wiki.freebsd.org/IdeasPage

На этой странице находятся фичи, которые планируются к реализации во FreeBSD в будущем (т.е. сейчас их нет). Читать без слез невозможно.

Вы знали, что во FreeBSD до сих пор не реализованы системные вызовы по sysenter/sysexit (до сих пор работает через 0x80)

Не работает suspend-to-disk

Нельзя выборочно отключить процессоры

Нет поддержки PCI Hotplug

и многое-многое другое

Поплакать можно здесь

ttnl
()

Дорогим выпускникам

Дорогие выпускники!

Душевно поздравляю вас с окончаниям школы. Официально поздравит вечером по телевизору Путин, но скорей всего вам будет не до того. Поэтому послушайте пару слов от меня.

Не упустите свой шанс реализоваться в жизни. Выбирайте себе занятие с прицелом на будущее, будь то институт или рабочая специальность. Не теряйте время.

В жж есть сообщество (да простят меня моралисты) с названием «Проебал». В нем пишут про разного рода потери. Довольно популярное. Так вот, «про.бал жизнь» — это одна из самых частых тем в нем. Почему так? Подумайте об этом.

Я понимаю, что многие из вас уже потихоньку начали про.бывать свою жизнь. Причин может быть много, будь то гаманье в WoW или неготовность к вступительным экзаменам в институт. Человек слаб, его и чувственную природу изменить невозможно. Но можно развивать голову и сместить акценты в ее сторону. _Пока ещё что-то можно исправить_.

Потом будет работа, которой отдаешь большую часть жизни. И если эти пять дней в неделю — унылы, то и жизнь будет по большей части уныла.

В общем, с праздником вас, дорогие, и удачи. Не орите вечером под окнами.

ttnl
()

Охотники за привидениями

Оказывается, снимается третья часть многими любимого фильма!

Даже на педивикии есть об этом информация: http://ru.wikipedia.org/wiki/%D0%9E%D1%85%D0%BE%D1%82%D0%BD%D0%B8%D0%BA%D0%B8...

Премьера назначена на конец 2012 года. Будем надеяться, эту часть не постигнет обычная судьба большинства сиквелов, и она станет достойным продолжением первых двух.

ttnl
()

[мини-новости]Дизайнерам сайта

http://s44.radikal.ru/i103/1105/ee/fb75d99ed15f.png

Вы считаете, это говно можно распарсить, не сломав глаза?

ttnl
()

Цветовая схема по умолчанию (mc)

Когда видишь такую цветовую схему по умолчанию (синее на синем) http://s014.radikal.ru/i327/1105/d2/b2d823b6ff69.png неудержимо хочется оторвать разработчику яйца.

upd. Дискасс. А я пошел спать.

ttnl
()

Показывать мини-новости как обычные

Как сделать, чтобы мини-новости отображались обычным образом? В настройках соответствующей опции не нашел.

ИМХО, хуже дизайн, чем сейчас, когда мешанина из мини-новостей и обычных, придумать сложно. В белой теме вычленить мини-новости из общего потока невозможно. С момента их введения, лично я, например, прочитал всего одну или две, а остальные не заметил.

Сделайте, пожалуйста, возможность отображать все новости одинаково.

ttnl
()

[спецам по english]We got him

Когда американцы поймали Саддама Хусейна, один из политиков сказал по этому поводу: We got him. Это выражение стало мемом в англоязычных странах, есть даже соответствующая запись на youtube, содержащая только эту фразу:

http://www.youtube.com/watch?v=XO-j-WQ0fG8&feature=related

Я не понимаю, почему американцам эта фраза кажется настолько смешной. С get в данном случае правильнее употреблять present continuous perfect, т.е. we've got him, т.к. на момент речи Саддам все ещё находился в плену. Политик же сказал так, как будто Саддам от них уже сбежал. В этом смысл шутки? Или имеется ввиду «мы поимели его» (однократно в прошлом, и теперь у него порванное очко)?

ttnl
()

Посоветуйте видеокамеру

Собираюсь купить любительскую видеокамеру. Снимать в основном буду занятия спортом (всякого рода гимнастика), скорость передвижения объекта не очень быстрая — не быстрее бега. Освещение уличное или не очень хорошое зальное. От 5 до 20 метров до объекта.

Не хочется тратить на это много денег, но желательно, чтобы качество было приличное за свои деньги. Бюджет — до 10K руб (в крайнем случае до 15К).

Кто что посоветует?

ttnl
()

Слишком много разделов форума

Из-за этого при просмотре сайта тратится лишнее время.

Предлагаю объединить разделы: как минимум — General и Desktop (по сути, там одно и то же), в идеале — добавить к ним ещё и Multimedia.

Смысла делить форум на эти разделы нет. Все равно в них ходят одни и те же люди.

ttnl
()

Линус и Туве на вечеринке «Ночь перед вручением Оскара»

Линус Торвальдс побывал на вечеринке, посвященной вручению Оскара, и делится своими впечатлениями от встречи со знаменитостями:

http://torvalds-family.blogspot.com/2011/02/pearls-before-swine.html

Со стороны Линуса, как обычно, много здорового юмора.

ttnl
()

[kernel] NUMA

Идея в том, чтобы выделять память под привязанные к cpu потоки из соответствующей им ноды. Неправильно тащить стек и прочее из соседней.

Реально работает только для SLAB. Кажется, меньшими правками это сделать не получится.

Идея не моя, реализация моя. Нумы у меня дома нет.

Может быть, я очень сильно ошибаюсь.. Гляньте, пожалуйста, кому не в падлу.

diff -uprN -X linux-2.6.37.3/Documentation/dontdiff linux-2.6.37.3/include/linux/kthread.h linux-2.6.37.3.my/include/linux/kthread.h
--- linux-2.6.37.3/include/linux/kthread.h	2011-02-25 02:09:00.000000000 +0300
+++ linux-2.6.37.3.my/include/linux/kthread.h	2011-03-12 02:53:47.953108058 +0300
@@ -4,10 +4,18 @@
 #include <linux/err.h>
 #include <linux/sched.h>
 
-struct task_struct *kthread_create(int (*threadfn)(void *data),
-				   void *data,
-				   const char namefmt[], ...)
-	__attribute__((format(printf, 3, 4)));
+struct task_struct *kthread_create_on_cpu(int (*threadfn)(void *data),
+					  void *data, unsigned int cpu,
+       					  const char namefmt[], ...)
+	__attribute__((format(printf, 4, 5)));
+
+#define kthread_create(threadfn, data, namefmt, ...)			\
+({									\
+	struct task_struct *__new;					\
+	__new = kthread_create_on_cpu(threadfn, data, NR_CPUS,		\
+				      namefmt, ## __VA_ARGS__);		\
+	__new;								\
+})
 
 /**
  * kthread_run - create and wake a thread.
diff -uprN -X linux-2.6.37.3/Documentation/dontdiff linux-2.6.37.3/include/linux/mempolicy.h linux-2.6.37.3.my/include/linux/mempolicy.h
--- linux-2.6.37.3/include/linux/mempolicy.h	2011-02-25 02:09:00.000000000 +0300
+++ linux-2.6.37.3.my/include/linux/mempolicy.h	2011-03-13 01:04:02.949794632 +0300
@@ -201,6 +201,8 @@ struct mempolicy *mpol_shared_policy_loo
 
 extern void numa_default_policy(void);
 extern void numa_policy_init(void);
+extern void numa_get_mempolicy(int *policy, nodemask_t *nmask);
+extern void numa_set_mempolicy(unsigned short policy, nodemask_t *nmask);
 extern void mpol_rebind_task(struct task_struct *tsk, const nodemask_t *new,
 				enum mpol_rebind_step step);
 extern void mpol_rebind_mm(struct mm_struct *mm, nodemask_t *new);
@@ -317,6 +319,14 @@ static inline void numa_default_policy(v
 {
 }
 
+static inline void numa_get_mempolicy(int *policy, nodemask_t *nmask)
+{
+}
+
+static inline void numa_set_mempolicy(int policy, nodemask_t *nmask)
+{
+}
+
 static inline void mpol_rebind_task(struct task_struct *tsk,
 				const nodemask_t *new,
 				enum mpol_rebind_step step)
diff -uprN -X linux-2.6.37.3/Documentation/dontdiff linux-2.6.37.3/kernel/kthread.c linux-2.6.37.3.my/kernel/kthread.c
--- linux-2.6.37.3/kernel/kthread.c	2011-02-25 02:09:00.000000000 +0300
+++ linux-2.6.37.3.my/kernel/kthread.c	2011-03-12 04:32:35.621389722 +0300
@@ -15,6 +15,7 @@
 #include <linux/module.h>
 #include <linux/mutex.h>
 #include <linux/slab.h>
+#include <linux/mempolicy.h>
 #include <linux/freezer.h>
 #include <trace/events/sched.h>
 
@@ -32,6 +33,9 @@ struct kthread_create_info
 	struct task_struct *result;
 	struct completion done;
 
+	/* Processor associated with a kernel thread or NR_CPUS */
+	unsigned int cpu;
+
 	struct list_head list;
 };
 
@@ -101,6 +105,22 @@ static int kthread(void *_create)
 static void create_kthread(struct kthread_create_info *create)
 {
 	int pid;
+#ifdef CONFIG_NUMA
+	nodemask_t orig_mask, temp_mask;
+	int policy, node;
+
+	if (create->cpu < NR_CPUS)
+		node = cpu_to_node(create->cpu);
+	else
+		node = -1;
+
+	/* Set preferred node */
+	if (node != -1) {
+		numa_get_mempolicy(&policy, &orig_mask);
+		temp_mask = nodemask_of_node(node);
+		numa_set_mempolicy(MPOL_PREFERRED, &temp_mask);
+	}
+#endif
 
 	/* We want our own signal handler (we take no signals by default). */
 	pid = kernel_thread(kthread, create, CLONE_FS | CLONE_FILES | SIGCHLD);
@@ -108,12 +128,19 @@ static void create_kthread(struct kthrea
 		create->result = ERR_PTR(pid);
 		complete(&create->done);
 	}
+
+#ifdef CONFIG_NUMA
+	/* Restore mempolicy */
+	if (node != -1)
+		numa_set_mempolicy(policy, &orig_mask);
+#endif
 }
 
 /**
- * kthread_create - create a kthread.
+ * kthread_create_on_cpu - create a kthread.
  * @threadfn: the function to run until signal_pending(current).
  * @data: data ptr for @threadfn.
+ * @cpu: the cpu of the node that is used to allocate memory for stack, etc.
  * @namefmt: printf-style name for the thread.
  *
  * Description: This helper function creates and names a kernel
@@ -129,15 +156,17 @@ static void create_kthread(struct kthrea
  *
  * Returns a task_struct or ERR_PTR(-ENOMEM).
  */
-struct task_struct *kthread_create(int (*threadfn)(void *data),
-				   void *data,
-				   const char namefmt[],
-				   ...)
+struct task_struct *kthread_create_on_cpu(int (*threadfn)(void *data),
+					  void *data,
+					  unsigned int cpu,
+       					  const char namefmt[],
+       					  ...)
 {
 	struct kthread_create_info create;
 
 	create.threadfn = threadfn;
 	create.data = data;
+	create.cpu = cpu;
 	init_completion(&create.done);
 
 	spin_lock(&kthread_create_lock);
@@ -164,7 +193,7 @@ struct task_struct *kthread_create(int (
 	}
 	return create.result;
 }
-EXPORT_SYMBOL(kthread_create);
+EXPORT_SYMBOL(kthread_create_on_cpu);
 
 /**
  * kthread_bind - bind a just-created kthread to a cpu.
diff -uprN -X linux-2.6.37.3/Documentation/dontdiff linux-2.6.37.3/kernel/softirq.c linux-2.6.37.3.my/kernel/softirq.c
--- linux-2.6.37.3/kernel/softirq.c	2011-02-25 02:09:00.000000000 +0300
+++ linux-2.6.37.3.my/kernel/softirq.c	2011-03-11 02:27:07.848430139 +0300
@@ -831,7 +831,8 @@ static int __cpuinit cpu_callback(struct
 	switch (action) {
 	case CPU_UP_PREPARE:
 	case CPU_UP_PREPARE_FROZEN:
-		p = kthread_create(run_ksoftirqd, hcpu, "ksoftirqd/%d", hotcpu);
+		p = kthread_create_on_cpu(run_ksoftirqd, hcpu, hotcpu,
+					 "ksoftirqd/%d", hotcpu);
 		if (IS_ERR(p)) {
 			printk("ksoftirqd for %i failed\n", hotcpu);
 			return notifier_from_errno(PTR_ERR(p));
diff -uprN -X linux-2.6.37.3/Documentation/dontdiff linux-2.6.37.3/kernel/stop_machine.c linux-2.6.37.3.my/kernel/stop_machine.c
--- linux-2.6.37.3/kernel/stop_machine.c	2011-02-25 02:09:00.000000000 +0300
+++ linux-2.6.37.3.my/kernel/stop_machine.c	2011-03-11 02:28:11.064030639 +0300
@@ -301,8 +301,8 @@ static int __cpuinit cpu_stop_cpu_callba
 	case CPU_UP_PREPARE:
 		BUG_ON(stopper->thread || stopper->enabled ||
 		       !list_empty(&stopper->works));
-		p = kthread_create(cpu_stopper_thread, stopper, "migration/%d",
-				   cpu);
+		p = kthread_create_on_cpu(cpu_stopper_thread, stopper, cpu,
+					 "migration/%d", cpu);
 		if (IS_ERR(p))
 			return notifier_from_errno(PTR_ERR(p));
 		get_task_struct(p);
diff -uprN -X linux-2.6.37.3/Documentation/dontdiff linux-2.6.37.3/mm/mempolicy.c linux-2.6.37.3.my/mm/mempolicy.c
--- linux-2.6.37.3/mm/mempolicy.c	2011-02-25 02:09:00.000000000 +0300
+++ linux-2.6.37.3.my/mm/mempolicy.c	2011-03-13 01:03:28.789651219 +0300
@@ -2281,6 +2281,16 @@ void numa_default_policy(void)
 	do_set_mempolicy(MPOL_DEFAULT, 0, NULL);
 }
 
+void numa_get_mempolicy(int *policy, nodemask_t *nmask)
+{
+	do_get_mempolicy(policy, nmask, 0, 0);
+}
+
+void numa_set_mempolicy(unsigned short policy, nodemask_t *nmask)
+{
+	do_set_mempolicy(policy, 0, nmask);
+}
+
 /*
  * Parse and format mempolicy from/to strings
  */

+ ещё несколько мест, где тред привязывается к cpu.

Последовательный вызов get+set можно заменить на одну функцию, чтобы дважды не захватывать спин-блокировку, но мне кажется, это несущественно.

 

ttnl
()

Чтобы bash устанавливал название текущей директории во вкладке gnome-terminal

Хочу, чтобы bash устанавливал название текущей директории или исполняемой команды во вкладке gnome-terminal также, как это делает mc.

Возможно ли это?

ttnl
()

[венда]Шифрование hdd + hibernate

В статье про TrueCrypt на википедии пишут следующее:

В версии TrueCrypt 5.1 от 10 марта 2008 включена поддержка спящего режима при шифровании системного диска под Microsoft Windows.

Кто хорошо знаком TrueCrypt и в целом с шифрованием hdd под вендой, скажите, можно ли на ней уходить в спящий режим при зашифрованном swap?

Я так понимаю: в венде swap возможен только как файл, а не раздел; файл лежит на системном диске, который полностью шифруется. Т.е. образ памяти тоже зашифрованный.

Так это или не так?

К линуксу вопрос имеет такое отношение, что в нем это невозможно, и в ближайшее время не предвидится. Вы можете усыпить компьютер с зашифрованным swap, но он не проснется. Похоже, тут они нас обскакали.

ttnl
()

В Synaptic появилась возможность просмотра Changelog

Собственно, пруфлинк:

http://img69.imageshack.us/img69/4866/screenshotfnz.png

Одна из тех функций, после привыкания к которой, её отсутствие будет бесить.

Я не знаю, как завершить это сообщение, поэтому здесь будет стоять: «Слава RMS!»

ttnl
()

Выходной посреди рабочей недели

У меня одного ощущение, что завтра воскресение?

ttnl
()

[debian]Обновление glib-2.0 до unstable

В начале года, когда в sid впервые попала ветка glib-2.28, после обновления до нее отваливались настройки Гнома (сбрасывалась тема значков и GTK). Причина была в том, что с этой версией не запускался gnome-settings-daemon.

Судя по changelog, с тех пор glib обновился ещё несколько раз, и текущая его версия 2.28.1-1. Спрашиваю у тех, кто её уже попробовал. Поправили ли багу с настройками? Если нет, буду продолжать сидеть на 2.27.91-1.

 

ttnl
()

Специалистам по C или C++

Вопрос на засыпку. Можно ли с достаточностью утверждать, что приведенный по ссылке ниже кусок кода на C++ является индусским?

http://pastebin.com/h18t1tNg

(Это не дословное копирование)

Upd. Давайте посылать ему патчи :)

ttnl
()

Задорная музыка с гармошкой

Ищется задорная музыка с гармошкой. Типа Tiger Lillies:

http://www.youtube.com/watch?v=dKQjCo0o8EY

Но не столь апокалиптичная по текстам. Может, у кого есть на примете?

ttnl
()

Посоветуйте хорошие курсы английского языка

Посоветуйте эффективные курсы разговорного английского языка. Возможно на них учились вы или ваши знакомые, и результаты были такими, что ими можно похвастаться.

По стоимости они должны быть не дороже, чем курсы МИД (27k за три месяца).

Про фильмы/субтитры знаю, но интересует именно обучение с преподавателем.

ttnl
()

Закрывается (легендарное) издательство Вагриус

Издательство было очень популярно в 90-е годы. Именно они первыми начали печатать Пелевина, пока он ещё не опопсел, Венедикта Ерофеева и других современных тогда авторов. Теперь оно закрывается.

Как это было: http://www.ozon.ru/multimedia/books_covers/mb1211_27_09.jpg

Информация с педивикии: http://ru.wikipedia.org/wiki/Вагриус

ttnl
()

RSS подписка на новые темы