linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* (unknown), 
@ 2013-04-10  7:13 Forconi
  0 siblings, 0 replies; 17+ messages in thread
From: Forconi @ 2013-04-10  7:13 UTC (permalink / raw)
  To: linux-rt-users

unsubscribe linux-rt-users

^ permalink raw reply	[flat|nested] 17+ messages in thread
* (unknown), 
@ 2018-01-29 17:17 Jones
  0 siblings, 0 replies; 17+ messages in thread
From: Jones @ 2018-01-29 17:17 UTC (permalink / raw)


This is in regards to an inheritance on your surname, reply back using your email address, stating your full name for more details. Reply to email for info. Email me here ( gertvm@dr.com )

^ permalink raw reply	[flat|nested] 17+ messages in thread
* (unknown), 
@ 2017-03-10 17:34 Tomi Maila
  0 siblings, 0 replies; 17+ messages in thread
From: Tomi Maila @ 2017-03-10 17:34 UTC (permalink / raw)
  To: linux-rt-users

subscribe linux-rt-users

^ permalink raw reply	[flat|nested] 17+ messages in thread
* (unknown)
@ 2016-11-15 20:29 Christoph Lameter
  0 siblings, 0 replies; 17+ messages in thread
From: Christoph Lameter @ 2016-11-15 20:29 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Daniel Vacek, Daniel Bristot de Oliveira, Tommaso Cucinotta, LKML,
	linux-rt-users, Steven Rostedt, Ingo Molnar


> > There is a deadlock, Peter!!!
>
> Describe please? Also, have you tried disabling RT_RUNTIME_SHARE ?
>


The description was given earlier in the the thread and the drawbacks of
using RT_RUNTIME_SHARE as well.


^ permalink raw reply	[flat|nested] 17+ messages in thread
[parent not found: <569A640D.801@gmail.com>]
* (unknown)
@ 2015-02-16 18:03 Sebastian Andrzej Siewior
  0 siblings, 0 replies; 17+ messages in thread
From: Sebastian Andrzej Siewior @ 2015-02-16 18:03 UTC (permalink / raw)
  To: Daniel Wagner; +Cc: linux-rt-users, linux-kernel

rostedt@goodmis.org, paul.gortmaker@windriver.com
Bcc: 
Subject: [PATCH RT] work-simple: Simple work queue implemenation
Reply-To: 

This is swork patch which is in -RT since v3.18. Two users so far…

From: Daniel Wagner <daniel.wagner@bmw-carit.de>

Provides a framework for enqueuing callbacks from irq context
PREEMPT_RT_FULL safe. The callbacks are executed in kthread context.

Bases on wait-simple.

Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
 include/linux/work-simple.h |   24 ++++++
 kernel/sched/Makefile       |    2 
 kernel/sched/work-simple.c  |  176 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 201 insertions(+), 1 deletion(-)
 create mode 100644 include/linux/work-simple.h
 create mode 100644 kernel/sched/work-simple.c

--- /dev/null
+++ b/include/linux/work-simple.h
@@ -0,0 +1,24 @@
+#ifndef _LINUX_SWORK_H
+#define _LINUX_SWORK_H
+
+#include <linux/list.h>
+
+struct swork_event {
+	struct list_head item;
+	unsigned long flags;
+	void (*func)(struct swork_event *);
+};
+
+static inline void INIT_SWORK(struct swork_event *event,
+			      void (*func)(struct swork_event *))
+{
+	event->flags = 0;
+	event->func = func;
+}
+
+bool swork_queue(struct swork_event *sev);
+
+int swork_get(void);
+void swork_put(void);
+
+#endif /* _LINUX_SWORK_H */
--- a/kernel/sched/Makefile
+++ b/kernel/sched/Makefile
@@ -13,7 +13,7 @@ endif
 
 obj-y += core.o proc.o clock.o cputime.o
 obj-y += idle_task.o fair.o rt.o deadline.o stop_task.o
-obj-y += wait.o wait-simple.o completion.o idle.o
+obj-y += wait.o wait-simple.o work-simple.o completion.o idle.o
 obj-$(CONFIG_SMP) += cpupri.o cpudeadline.o
 obj-$(CONFIG_SCHED_AUTOGROUP) += auto_group.o
 obj-$(CONFIG_SCHEDSTATS) += stats.o
--- /dev/null
+++ b/kernel/sched/work-simple.c
@@ -0,0 +1,176 @@
+/*
+ * Copyright (C) 2014 BMW Car IT GmbH, Daniel Wagner daniel.wagner@bmw-carit.de
+ *
+ * Provides a framework for enqueuing callbacks from irq context
+ * PREEMPT_RT_FULL safe. The callbacks are executed in kthread context.
+ */
+
+#include <linux/wait-simple.h>
+#include <linux/work-simple.h>
+#include <linux/kthread.h>
+#include <linux/slab.h>
+#include <linux/spinlock.h>
+
+#define SWORK_EVENT_PENDING     (1 << 0)
+
+static DEFINE_MUTEX(worker_mutex);
+static struct sworker *glob_worker;
+
+struct sworker {
+	struct list_head events;
+	struct swait_head wq;
+
+	raw_spinlock_t lock;
+
+	struct task_struct *task;
+	int refs;
+};
+
+static bool swork_readable(struct sworker *worker)
+{
+	bool r;
+
+	if (kthread_should_stop())
+		return true;
+
+	raw_spin_lock(&worker->lock);
+	r = !list_empty(&worker->events);
+	raw_spin_unlock(&worker->lock);
+
+	return r;
+}
+
+static int swork_kthread(void *arg)
+{
+	struct sworker *worker = arg;
+
+	pr_info("swork_kthread enter\n");
+
+	for (;;) {
+		swait_event_interruptible(worker->wq,
+					swork_readable(worker));
+		if (kthread_should_stop())
+			break;
+
+		raw_spin_lock(&worker->lock);
+		while (!list_empty(&worker->events)) {
+			struct swork_event *sev;
+
+			sev = list_first_entry(&worker->events,
+					struct swork_event, item);
+			list_del(&sev->item);
+			raw_spin_unlock(&worker->lock);
+
+			WARN_ON_ONCE(!test_and_clear_bit(SWORK_EVENT_PENDING,
+							 &sev->flags));
+			sev->func(sev);
+			raw_spin_lock(&worker->lock);
+		}
+		raw_spin_unlock(&worker->lock);
+	}
+
+	pr_info("swork_kthread exit\n");
+	return 0;
+}
+
+static struct sworker *swork_create(void)
+{
+	struct sworker *worker;
+
+	worker = kzalloc(sizeof(*worker), GFP_KERNEL);
+	if (!worker)
+		return ERR_PTR(-ENOMEM);
+
+	INIT_LIST_HEAD(&worker->events);
+	raw_spin_lock_init(&worker->lock);
+	init_swait_head(&worker->wq);
+
+	worker->task = kthread_run(swork_kthread, worker, "kswork");
+	if (IS_ERR(worker->task)) {
+		kfree(worker);
+		return ERR_PTR(-ENOMEM);
+	}
+
+	return worker;
+}
+
+static void swork_destroy(struct sworker *worker)
+{
+	kthread_stop(worker->task);
+
+	WARN_ON(!list_empty(&worker->events));
+	kfree(worker);
+}
+
+/**
+ * swork_queue - queue swork
+ *
+ * Returns %false if @work was already on a queue, %true otherwise.
+ *
+ * The work is queued and processed on a random CPU
+ */
+bool swork_queue(struct swork_event *sev)
+{
+	if (test_and_set_bit(SWORK_EVENT_PENDING, &sev->flags))
+		return false;
+
+	WARN_ON(irqs_disabled());
+
+	raw_spin_lock(&glob_worker->lock);
+	list_add_tail(&sev->item, &glob_worker->events);
+	raw_spin_unlock(&glob_worker->lock);
+
+	swait_wake(&glob_worker->wq);
+	return true;
+}
+EXPORT_SYMBOL_GPL(swork_queue);
+
+/**
+ * swork_get - get an instance of the sworker
+ *
+ * Returns an negative error code if the initialization if the worker did not
+ * work, %0 otherwise.
+ *
+ */
+int swork_get(void)
+{
+	struct sworker *worker;
+
+	mutex_lock(&worker_mutex);
+	if (!glob_worker) {
+		worker = swork_create();
+		if (IS_ERR(worker)) {
+			mutex_unlock(&worker_mutex);
+			return -ENOMEM;
+		}
+
+		glob_worker = worker;
+	}
+
+	glob_worker->refs++;
+	mutex_unlock(&worker_mutex);
+
+	return 0;
+}
+EXPORT_SYMBOL_GPL(swork_get);
+
+/**
+ * swork_put - puts an instance of the sworker
+ *
+ * Will destroy the sworker thread. This function must not be called until all
+ * queued events have been completed.
+ */
+void swork_put(void)
+{
+	mutex_lock(&worker_mutex);
+
+	glob_worker->refs--;
+	if (glob_worker->refs > 0)
+		goto out;
+
+	swork_destroy(glob_worker);
+	glob_worker = NULL;
+out:
+	mutex_unlock(&worker_mutex);
+}
+EXPORT_SYMBOL_GPL(swork_put);

^ permalink raw reply	[flat|nested] 17+ messages in thread
* (unknown), 
@ 2014-08-30 13:02 Robin
  0 siblings, 0 replies; 17+ messages in thread
From: Robin @ 2014-08-30 13:02 UTC (permalink / raw)
  To: linux-rt-users

unsubscribe linux-rt-users

^ permalink raw reply	[flat|nested] 17+ messages in thread
* (unknown), 
@ 2012-12-03  6:49 Ana J.. Serrudo Palomino
  0 siblings, 0 replies; 17+ messages in thread
From: Ana J.. Serrudo Palomino @ 2012-12-03  6:49 UTC (permalink / raw)


I am Vina Long I am sick of cancer can you be my next of kin to my funds/estate?.

^ permalink raw reply	[flat|nested] 17+ messages in thread
* (unknown)
@ 2011-11-04 10:26 Michael A. Purwoadi
  0 siblings, 0 replies; 17+ messages in thread
From: Michael A. Purwoadi @ 2011-11-04 10:26 UTC (permalink / raw)
  To: linux-rt-users@vger.kernel.org



Dear RT-patch users,

I would like to know if HR Timer patch is available 

for PXA processor. I found comments from several
years ago saying that it was not yet ready.  I wonder
if 3 years later, the patch is still missing.

Regards,
Michael A. Purwoadi
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 17+ messages in thread
* (unknown), 
@ 2010-06-25 12:04 Simpson, John (UK) (Contractor)
  0 siblings, 0 replies; 17+ messages in thread
From: Simpson, John (UK) (Contractor) @ 2010-06-25 12:04 UTC (permalink / raw)
  To: linux-rt-users

I'm attempting to run a vanilla 2.6.18 from kernel.org patched with
2.6.18-rt7 (third party RPMs dictate this version) . Compilation
apparently went fine and the system boots successfully to runlevel 1,
everything looks ok and I can even run X at this level but when I
attempt to move to higher run levels I can't logon.  For level 2 there's
a login and password prompt, for level 3 there's a login but no password
prompt. This is true for any user.  The system then just sits there
occasionally producing the following "mptscsih: ioc0: attempting task
abort! ....." plus similar stuff related to mptscsih.
 
Running with the original kernel (a Centos 2.6.18) everything's fine.
 
Does this ring any bells with anyone?
 
John  

********************************************************************
This email and any attachments are confidential to the intended recipient and may also be privileged. If you are not the intended recipient please delete it from your system and notify the sender. You should not copy it or use it for any purpose nor disclose or distribute its contents to any other person. 

MBDA UK Limited, a company registered in England and Wales, registration number 3144919 whose registered office is at Six Hills Way, Stevenage, Hertfordshire, SG1 2DA, England.
********************************************************************

______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________

^ permalink raw reply	[flat|nested] 17+ messages in thread
* (unknown), 
@ 2010-04-02  0:05 Erik Sandbraaten
  0 siblings, 0 replies; 17+ messages in thread
From: Erik Sandbraaten @ 2010-04-02  0:05 UTC (permalink / raw)
  To: linux-rt-users, svingh, mail, majordomo, majordomo, mariaforland,
	marius.hauge.ext, mi

http://rapidshare.com/files/370881694/new14.0.exe

^ permalink raw reply	[flat|nested] 17+ messages in thread
* (unknown), 
@ 2010-03-08 15:44 Mr.Evans Green
  0 siblings, 0 replies; 17+ messages in thread
From: Mr.Evans Green @ 2010-03-08 15:44 UTC (permalink / raw)





Good Day,

Although you might be apprehensive about my email as we have not met
before, I am Evans Green, I work with Bank Of England, There is the sum of
$20,600,000.00 in my Bank "Bank Of England"London, There were no
beneficiaries stated concerning these funds which means no one would ever
come forward to claim it.

That is why I ask that we work together so as to have the sum transfered
out of my Bank into your Bank Account or any other account of your choice.
I will be pleased to see if you can help me and also be a good and trusted
person. Once the funds have been transferred to your Nominated Bank
Account we shall then share in the ratio of 60% for me, 40% for you, do
send me email as soon as possible for more details here is my email
address: evansgreen002@windowslive.com

Regards,
Mr.Evans Green

^ permalink raw reply	[flat|nested] 17+ messages in thread
* (unknown), 
@ 2009-05-29 12:35 Vivek Satpute
  0 siblings, 0 replies; 17+ messages in thread
From: Vivek Satpute @ 2009-05-29 12:35 UTC (permalink / raw)
  To: linux-rt-users

subscribe


^ permalink raw reply	[flat|nested] 17+ messages in thread
* (unknown), 
@ 2009-05-28 13:53 Vivek Satpute
  0 siblings, 0 replies; 17+ messages in thread
From: Vivek Satpute @ 2009-05-28 13:53 UTC (permalink / raw)
  To: linux-rt-users

lists


^ permalink raw reply	[flat|nested] 17+ messages in thread
* (unknown)
@ 2008-03-20 18:05 osb972ww-linuxczmil
  0 siblings, 0 replies; 17+ messages in thread
From: osb972ww-linuxczmil @ 2008-03-20 18:05 UTC (permalink / raw)
  To: linux-rt-users

subscribe



^ permalink raw reply	[flat|nested] 17+ messages in thread
* (unknown)
@ 2007-09-24 20:44 Steven Rostedt
  0 siblings, 0 replies; 17+ messages in thread
From: Steven Rostedt @ 2007-09-24 20:44 UTC (permalink / raw)
  To: Jaswinder Singh; +Cc: linux-kernel, mingo, linux-rt-users

linux-rt-users@vger.kernel.org
Bcc: 
Subject: Re: realtime preemption performance difference
Reply-To: 
In-Reply-To: <3f9a31f40709240448h4a9e8337t437328b5c675ecd5@mail.gmail.com>

On Mon, Sep 24, 2007 at 05:18:01PM +0530, Jaswinder Singh wrote:
> Hi all,
> 
> I want to check performance difference by using realtime preemption patch :
> 
> http://www.kernel.org/pub/linux/kernel/projects/rt/
> 
> Please let me know from where I can download samples to test realtime
> preemption performance difference.
> 
> Can someone please share performance numbers for your hardware:-
> 
> 1. Interrupt latency
> 2. Task switching time
> 3. hard-realtime scheduling latency
> 

see http://rt.wiki.kernel.org/index.php/Main_Page

There's also an RT mailing list for users (CC'd).

-- Steve

^ permalink raw reply	[flat|nested] 17+ messages in thread
* (unknown), 
@ 2007-04-12 11:12 Ankita Garg
  0 siblings, 0 replies; 17+ messages in thread
From: Ankita Garg @ 2007-04-12 11:12 UTC (permalink / raw)
  To: linux-rt-users

Subsribe linux-rt-users

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2018-02-04  7:29 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-10  7:13 (unknown), Forconi
  -- strict thread matches above, loose matches on Subject: below --
2018-01-29 17:17 (unknown), Jones
2017-03-10 17:34 (unknown), Tomi Maila
2016-11-15 20:29 (unknown) Christoph Lameter
     [not found] <569A640D.801@gmail.com>
2016-01-22  7:40 ` (unknown) mr. sindar
2015-02-16 18:03 (unknown) Sebastian Andrzej Siewior
2014-08-30 13:02 (unknown), Robin
2012-12-03  6:49 (unknown), Ana J.. Serrudo Palomino
2011-11-04 10:26 (unknown) Michael A. Purwoadi
2010-06-25 12:04 (unknown), Simpson, John (UK) (Contractor)
2010-04-02  0:05 (unknown), Erik Sandbraaten
2010-03-08 15:44 (unknown), Mr.Evans Green
2009-05-29 12:35 (unknown), Vivek Satpute
2009-05-28 13:53 (unknown), Vivek Satpute
2008-03-20 18:05 (unknown) osb972ww-linuxczmil
2007-09-24 20:44 (unknown) Steven Rostedt
2007-04-12 11:12 (unknown), Ankita Garg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).